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); }