船の制御を扱うクラスがあり、y 軸上の位置をクランプしたいと考えています。
public class ControlledRigidbody2D : MonoBehaviour
{
public float verticalInputAcceleration = 1;
public float horizontalInputAcceleration = 20;
public float maxSpeed = 10;
public float velocityDrag = 1;
private Vector3 velocity;
private void Update()
{
Vector3 acceleration = Input.GetAxis("Vertical") * verticalInputAcceleration * transform.up;
velocity.y += acceleration.y * Time.deltaTime;
Vector3 accelerationRight = Input.GetAxis("Horizontal") * horizontalInputAcceleration * transform.right;
velocity.x += accelerationRight.x * Time.deltaTime; ;
velocity = velocity * (1 - Time.deltaTime * velocityDrag);
velocity = Vector3.ClampMagnitude(velocity, maxSpeed);
transform.position += velocity * Time.deltaTime;
}
}
事前にどうもありがとうございました。