- Home /
Double axis rotation mixing.
Hi everyone, I've looked for help on this, but drawing a blank.
I've created a helicopter style ship, with twin fan/engines (a bit Avatar-ish). So far, I'm using localRotation.x to find the angle relative to the parent, and when the relevant axis is input, the engines transform.rotate up to a set datum, then stop. When the input atops, they Quaternion.Slerp back to central. This works well, and looks how I want.
However, I try the same in the Z axis (using a separate if(input.getAxis etc), and it all gets thrown out. Mostly it's the returning to central that's not working, but I don't think the engines are rotating properly either. Ideally I'm looking for a way to mix the rotations of the engines, so just forward gives both engines pointing backwards, just strafing they would point sideways, and a combination of the two, with both axis returning to their "0" independently of the other. I tried the following instead of Slerping, for both axis, but all I get is crazy hunting/uncontrolled output:
if(EngPosX < 0 && !Input.GetAxis("Vertical")) { Eng.transform.Rotate(-Vector3.left 1); } if(EngPosX > 0 && !Input.GetAxis("Vertical")) { Eng.transform.Rotate(Vector3.left 1); }
(Sorry, the "format as code" isn't working) I'm not expecting anyone to write any code for me, but if anyone can point me in the right direction, I'd very much appreciate it Cheers Ian
Answer by husbandofemily · Sep 10, 2012 at 09:51 PM
OK, in case anyone needs this in the future, I got it. Was looking waaaay to deeply into it.
Eng.transform.localRotation.z = (roll/3.5);
and
Eng.transform.localRotation.x = (pitch/4);
Works perfectly. (where pitch and roll are directly taken from the axis inputs). D'oh! Now, do I try to figure out factoring opposition mixing for yaw?......
Your answer
Follow this Question
Related Questions
How to smoothly rotate an object on only two axes? 2 Answers
Quaternion.Slerp question, rotating back to original 1 Answer
This can't be impossible or? Rotate (flip) smoothly from one point to endpoint on mouseclick. 3 Answers
Rotate slowly to target position? 3 Answers
Doesn't Add Rotation Over 180 2 Answers