3D Angles

3D Angles

Virtually all of the objects I've tried (even enemies) can be spaned with the `3D angle' fields angles_x, angles_y and angles_z. But there are very few for which the effect is actually useful, such as obj_sword (which can be made to stick out of things at artistic angles),light_gem (since has no flame, none of the possible orientations will look wierd), and the corpses (obj_corpse1, obj_corpse2). However if these fields are used, the horizontal field angle should not be used, since it will overwrite them (if its value is not zero).

The logic of these angles is a bit confusing: for the sword and the gemlight, the `business end' (point/shining surface) points west (map x-axis) by default. But the angles_x/y/z fields work as if this axis from the back to the business end was the y-axis of the object. Then x is the other horizontal (transverse) axis and z the vertical axis. So we can describe the effects of the three fields like this:
angles_x Rotates the object around its x-axis, which has the effect of making the sword point or the light shine vertically. To get the point/shine to go downward, use a negative angles_x, or else one greater than 180.
angles_y Rotates the object around its y-axis, that is the one from the back to the business end. For the light_gem this won't do much of anything, since it's round around that axis, but for the sword it will set the hilt & blade at an angle, for a naturalistic effect when sticking out of mutilated bodies.
angles_z Rotates the object around its z-axis (vertical), which has the effect of making it point in a different direction in the horizontal plane. This is basically what the angle-field does, but specifying angle will set the rotation around the other two axes to zero.
For the corpses on the other hand, it seems to be the z-axis that points west, with obj_corpse1 (face-down guy) having the head pointing west and obj_corpse2 (face-up guy) with the feet pointing west. x is then transverse and y vertical, so are used for tilting and horizontal rotation, respectively.


Back to the list.