If you're on a pc, rotate the first axis using the rotation field, then alt-click and drag the other axis. Know that this will product buggy interiors (in that the marble can easily get stuck in them) though.
A while back there was some discussion about the way the rotation field works here and here but nothing that's going to help. I thought I remembered technostick figuring it out but can't find the thread.
He's on a Mac, so from what I've heard and from my own experience, manually rotating objects is impossible. (within the level editor)
Also, Riblet, if you enter .5 .5 0 90, the game WILL rotate the object by (close to) 45 degrees in both the X and Y direction. However, it will also reassign the numbers (âˆš2)/2 (âˆš2)/2 0 60. I have NO idea why. And if you multiply (âˆš2)/2 by 60, you get 42 something.
Aug 10, 2011, 2:03pm, riblet15 wrote:Yeah, that's what I had noticed. Someone should go through every single one of Technostick's posts and try to find the real explanation
I'm looking atm actually. But the search function is being buggy right now. I asked it to look posts containing rotation made by technostick, but instead it's returning only posts made by technostick and ignoring the rotation.
Aug 10, 2011, 2:24pm, riblet15 wrote:I've also noticed that if you type in a value like .25 .5 0 90 the interior becomes just as problematic as using the alt-rotate method (which I don't think works on mac?)
I would love to know the real explanation...
Correct: doesn't work on a Mac. Also, I too noticed that even typing in something like .5 .5 0 90 caused the interior to bug out.
So yeah, all these discoveries were already made 5 years ago. Doesn't look like anyone ever came up with a real clarification though...and glancing at that wikipedia article looks like I won't be one to help write it up
//Credit: Eric Hartman @ GG Community (function originally called eulerToQuat)
function rotEtoAA(%euler, %rotflag)
%euler2 = VectorScale(%euler, $pi / 180); //convert euler rotations to radians
%matrix = MatrixCreateFromEuler(%euler2); //make a rotation matrix
%xvec = getWord(%matrix, 3); //get the parts of the matrix you need
%yvec = getWord(%matrix, 4);
%zvec = getWord(%matrix, 5);
%ang = getWord(%matrix, 6); //this is in radians
%ang = %ang * (180 / $pi); //convert back to degrees
%rotationMatrix = %xvec SPC %yvec SPC %zvec SPC %ang; //put it all together
return %rotationMatrix; //send it back
setting %rotflag to true will return the last unit in degrees.
generally, you should not use degrees other than
- when inputting a value in the editor
- when creating a new game object from script
- when editing a mission directly
all other uses (including setTransform, getTransform, and our RotAAtoE function above) will use radians for the last unit.