Пример #1
0
    void TransferToBackground()
    {
        pc.SetLayerIncludingAllChildren(pc.gameObject, LayerMask.NameToLayer("Background"));
        transform.parent   = null;
        transform.position = playArea.TransformPointFromPlayAreaToLevel(transform.position);
        Vector3 newForward = playArea.TransformDirectionFromPlayAreaToLevel(transform.forward);
        Vector3 newUp      = playArea.TransformDirectionFromPlayAreaToLevel(transform.up);

        transform.rotation = Quaternion.LookRotation(newForward, newUp);
        rb.useGravity      = true;
        rb.constraints     = RigidbodyConstraints.None;
        rb.velocity        = levelTrackFollower.GetVelocity();
        rb.AddRelativeTorque(Vector3.forward * Mathf.Sign(Random.value - 0.5f) * 100f, ForceMode.Acceleration);
    }