- Home /
How can i rotate a transform using lerp but keep the nose in same direction/angle on x ?
void Update()
{
// calculate the displacement since last frame:
Vector3 dir = transform.position - lastPos;
lastPos = transform.position; // update lastPos
float dist = dir.magnitude;
if (dist > 0.001f)
{ // if moved at least 0.001...
dir /= dist; // normalize dir...
float vel = dist / Time.deltaTime; // and calculate current velocity
// bank in the direction of movement according to velocity
Quaternion bankRot = Quaternion.LookRotation(dir + factor * Vector3.right * vel / maxVel);
transform.rotation = Quaternion.Lerp(transform.rotation, bankRot, turnSpeed * Time.deltaTime);
}
}
I want to keep the rotation on the x on 0 The rotation on x is about 45 degrees and it looks like the transform(spaceship is looking at the target). I don't want it to lookAt kind of but just to flow to the target position when x axis is on 0 all the time.
Just like when airplane is landing. The front/nose is not pointing the ground like it's going to crash.
I mean to rotate only on the x to rotate to left or right using lerp but not to make it like lookAt. Just like spin it to a direction not to change the angle to look at the target. The nose should be kept same like aircraft is coming to landing.
I think it's the x axis. Anyway i want to keep spaceship nose at same rotation only to rotate/spin the object.
I'm a little confused. $$anonymous$$aybe try to draw that?
Answer by tanoshimi · Jun 27, 2017 at 07:28 AM
Kinda hard to follow your description, but it sounds like you simply want to force the x angle of the rotation created by Quaternion.Lerp to a set value? In which case:
Vector3 rotation = Quaternion.Lerp(transform.rotation, bankRot, turnSpeed * Time.deltaTime).eulerAngles;
rotation.x = 45;
transform.rotation = Quaternion.Euler(rotation);
Your answer
Follow this Question
Related Questions
How do i change the GUI.Box font size and box size ? 0 Answers
How can i first destroy twice the objects then to create twice the objects ? 1 Answer
To pass a variable between scenes should I use scriptableobject or static ? 1 Answer
How can i prevent from mouse to collide with thirdpersoncontroller ? 0 Answers
How can i lock the mouse cursor in the middle of the screen ? 1 Answer