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

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?..