

So grab a b- uhhhh, soda, and let's give that attention span a workout.
As we know too well, BSP Viewer will botch the rotation of your objects if you try to adjust more than one type of rotation per object. This tutorial will describe yaw, pitch, roll, and the numeric values you can use to set them yourself. Once you understand them and can visualize them properly, you can orient your objects without relying on the BSP Viewer at all.
First, some definitions.
Yaw is defined as rotation about the z axis. In most coordinate systems, z points straight up and down. When you spin a basketball on your finger, the ball is "yawing." This is probably the easiest angle to visualize.
For our purposes, pitch is probably best defined as front-to-back rotation. If you do a backflip, you are "pitching." It's a rotation about the side-to-side axis, which in the Halo convention is the y axis.
Roll is side-to-side rotation. When a windshield wiper rotates across the windshield, it is "rolling."
Here are some images to help you visualize the rotations. They are slightly confusing because the camera perspective changes. Assume for all three pictures that the space shuttle is sitting flat on the ground, with the nose pointed in the positive x direction.



These angles are expressed in radians. Radians describe an angle in terms of how much circumference of a circle it spans. As you know from geometry, the circumference of a circle is defined as 2*pi*r, where r is the radius of the circle and pi is approximately 3.14. So, one complete circumference of a circle is 6.28 radians ( = 2*pi*radius). If you want to go one fourth of the way around the circle, which is 90 degrees, that's going to be the angle all the way around the circle divided by 4. So 6.28 / 4 ~= 1.57.
Any possible angle of rotation can be described as a value between 0 and 6.28. In degrees, as you know, any angle can be described between 0 and 360. An angle greater than 6.28 radians simply "goes around the circle again," and anything less than 0 radians begins rotating in the opposite direction, until -6.28, when it wraps all the way around and starts over.
You can convert between angles and degrees by following some simple algebra:
360 degrees = 2*pi radians
-> degrees = 2 * pi radians / 360
-> degrees = pi * radians / 180
So, to convert from degrees to radians, multiply your angle in degrees by pi/180. I'm assuming you have some familiarity with what a 90 degree angle looks like, as well as a 180 degree angle and a 45 degree angle. If you can't visualize these, you're in trouble... Practice until you can. Knowing just those three angles, you can do most of the rotations you want.
45 degrees ~= .785 radians
90 degrees ~= 1.57 radians
180 degrees ~= 3.14 radians
These three angles are the workhorses.
Keep in mind that each object has its own x, y and z axes defined for it, and your rotations will start from this default position. There is not a universal set of xyz axes that every object follows. For example, the delta control bridge by default is flat (parallel to the XY plane), and oriented so that its longest dimension is along the x axis. The windmill in Zanzibar, however, is oriented by default in the vertical position, rotating about the x axis (Q: What type of rotation is this? A: Roll!). This is important to remember because if, for example, you want the windmill to lie flat, you're going to have to pitch it forward or backward, whereas intuitively, you might expect that the windmill is already pitched by 90 degrees in order to stand up. Not so!
***THIS IS WHAT MAKES THE CONTAINMENT BASE GATE DIFFICULT TO WORK WITH. Its axes and rotations are defined from its default position, which is angled up, and this makes the rotations much harder to visualize. When it rolls, it does NOT roll about the axis of the long plank, but about the axis passing through the long plank at one point, perpendicular to the little square pieces at the top. So that means it's going to rotate in a funky cone fashion, not the nice, easy circle you'd expect. Yaw is also going to rotate in a funky cone fashion, for the same reason. Until you really know your YPR, don't try to get too clever with rotating the Containment base gate. And even once you know your YPR, I'd still recommend avoiding it, unless you are ONLY manipulating one angle, in which case you can use the BSP Viewer. Otherwise, spare yourself the frustration. Use something else.
Things to remember:
- When visualizing rotations, it helps if you think of one type of rotation at a time. Start by thinking of the default orientation of the object (ALWAYS remember this), and then say to yourself, for example, "I need to yaw it by 90 degrees, then pitch it up by 45 degrees." Then enter those values (in radians) in the appropriate reflexive.
- When cloning a chunk or replacing an object, I always overwrite its initial YPR settings with 0,0,0 in the Meta Editor.
-Think in degrees, then convert to radians. It's still much more natural for me to say "90 degrees" than "1.57 radians."
-You will have to check your work by FTPing your map and loading it up. It's a hassle, but it sure beats getting the object exactly in position in the BSP Viewer, only to find that it's completely botched in the game. As you get better, you'll make fewer mistakes and will be more confident making more changes at once.
-If you adjust more than one angle of rotation for an object, you MUST distrust what you see in the BSP Viewer. Only trust what you see in game. Also, I am not certain about this, but if you accidentally adjust more than one type of angle in BSP Viewer (e.g., you Alt-click and drag, then Ctrl-click and drag the same object), I believe that object is cursed ever after. Even if you reset its angles to 0 and start over, it is forever confused. I'm not 100% certain about this, but I have observed it some of the time. Just crank the z coordinate on the cursed object to get it out of sight, and start with a brand new one (a different chunk).
-If you find that the object is at the angle you want but facing exactly the opposite direction you want, add 180 degrees ( = 3.14). If you notice that the object is rotating around the axis you want but in the wrong direction, reverse the sign of the angle (positive/negative). This means the rotation will start in the opposite direction. If your angle is greater than 6.28 or less than -6.28, you've gone too far around. Try to keep it within +-6.28 so you can recognize some angles when you see them numerically (you'll soon memorize .785, 1.57, and 3.14).
-If you're really having trouble, isolate one angle at a time - yaw, for example. Think of what it is in degrees, convert to radians, then enter it, FTP to the Xbox and check. If that angle is correct, move on to roll and pitch.
-Very seldom will you have to adjust all three angles. I have done most of what I needed to by only manipulating two of the angles at a time. The designers of the maps tend to orient the maps with xyz axes that are similar to those of the objects, although they are not always the same. That tends to make it easier on you, if you are somewhat following the map geography. Even if you are not using the BSP for gameplay purposes at all (e.g., a race track), try to orient your pieces in accordance with the landmarks of the BSP so you can visualize more easily.
-Always try to start your visualizing and rotating from a piece that has 0 YPR. If you are starting from a piece that is already rotated in one or more of those angles, it's harder to visualize. Of course, if you are fine-tuning the orientation of an object, you'll have to adjust an already rotated object. But the point is, once you've got that object rotated and positioned and you need to rotate and position a new object, start it with no YPR and visualize from there, instead of copying the YPR of a rotated object.
-If you can get away with only adjusting one angle, do it! Use the BSP Viewer, even. However, if you know you'll need to adjust more than one angle, and one of those angles is "unusual," like 30 degrees or 75 degrees or something, but the other angles are more conventional, do the unusual angle in the BSP Viewer, then manually set the other angles yourself. MAKE SURE YOU CHOOSE THE CORRECT ROTATION THE FIRST TIME IN BSP VIEWER THOUGH. If you choose poorly, you must either start with a new object, or cease to use the BSP Viewer for that object and proceed manually, in order to avoid botched rotations and cursed objects.
I hope this helps. It takes practice, like anything else.