Limit the amount of rotation you want when moving objects
Nice to meet you. I am a student studying Unity in Korea personally (Korea is called South Korea or Republic of Korea). I ask myself this question because I am stuck in studying alone.
I want to stop the rotation angle at the desired angle when the object moves.
Condition) Moves and rotates relative to the local axis. The direction of movement is the X axis and the -X axis, and the rotation direction is the Z axis and -Z axis.
Question) I do not want to rotate 360 ° in Z-axis, but only 60 ° and I do not want to rotate any more. When the object moves along the X axis, it rotates in the -Z axis direction (the forward direction is the Z axis, position). When you move to the -X axis, it rotates in the Z axis direction (-60-> 0-> 60). Is it possible to limit the angle of rotation to your liking? If possible, how should I code it in C #?
Ah! one more If an object has move and rotate, it moves to the local axis at the rotated angle. Why do you see this movement?
It is awkward to write a translator. please understand. From Korea student
This is the code we've written so far
public float CharactorMoveSpeed = 3f;
public float RotationAxis = 60f;
void Update()
{
if (Input.GetKey(KeyCode.UpArrow))
{
transform.Translate(Vector3.forward * CharactorMoveSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.DownArrow))
{
transform.Translate(Vector3.back * CharactorMoveSpeed * Time.deltaTime);
}
if (Input.GetKey(KeyCode.LeftArrow))
{
transform.Translate(Vector3.left * CharactorMoveSpeed * Time.deltaTime);
transform.Rotate(Vector3.forward * (RotationAxis * Time.deltaTime));
}
if (Input.GetKey(KeyCode.RightArrow))
{
transform.Translate(Vector3.right * CharactorMoveSpeed * Time.deltaTime);
transform.Rotate(Vector3.back * (RotationAxis * Time.deltaTime));
}
}
}
Your answer
Follow this Question
Related Questions
C# Limit touch movement on a raycast 2 Answers
Rotating an object 1 Answer
rotate an object with HTC Vive controller 0 Answers
character turning full circle 0 Answers
is there a way to set a objects direction to a normalized direction. 0 Answers