У меня есть плоскость, которая перемещается между минимальным и максимальным значением, она отскакивает между двумя точками, но я не хочу, чтобы это повлияло, я хочу, чтобы самолет переместился в точку, а затем начать снова в начальной точке. Как я могу сделать что-то подобное?Перемещение по оси x между min и max
На данный момент я попытался это:
public class pingPongPlane : MonoBehaviour {
public float MinX = -10.2f; // y position of start point
public float MaxX = 55f; // y position of end point
public float PingPongTime = 1f; // how much time to wait before reverse
public Rigidbody rb; // reference to the rigidbody
void Update()
{
//get a value between 0 and 1
float normalizedTime = Mathf.PingPong(Time.time, PingPongTime)/PingPongTime;
//then multiply it by the delta between start and end point, and add start point to the result
float xPosition = normalizedTime * (MaxX - MinX) + MinX;
//finally update position using rigidbody
if (transform.position.x <= 8f)
rb.MovePosition(new Vector3(MaxX, rb.position.y, rb.position.z));
else
rb.MovePosition(new Vector3(xPosition, rb.position.y, rb.position.z));
}
}
откуда '8f' пришел? –