void LateUpdate() { if (!mTrain) { return; } if (BackAxis.Spline == FrontAxis.Spline && FrontAxis.RelativePosition > BackAxis.RelativePosition) { float carPos = Waggon.AbsolutePosition; float faPos = FrontAxis.AbsolutePosition; float baPos = BackAxis.AbsolutePosition; if (Mathf.Abs(Mathf.Abs(faPos - baPos) - mTrain.AxisDistance) >= mTrain.Limit) { float df = faPos - carPos - mTrain.AxisDistance / 2; float db = carPos - baPos - mTrain.AxisDistance / 2; FrontAxis.Warp(-df); BackAxis.Warp(db); } } }