Rotate Objects In All Three Dimensions

 
Currently in Active Worlds, while building you can only rotate an object around its vertical axis (by pressing PgUp/PgDn.) This feature request refers to adding the ability to rotate any object around all three axes, not just one.

This change would be fairly easy to add from an architectural standpoint. Two new fields would have to be added to the cell database for the two additional axes, for a total of 4 bytes (2 bytes for the rotation around each axis.) Since the average object currently takes 30 to 40 bytes to store, this would increase the size of all property data by about ten percent. This would also decrease the total number of objects that could fit per cell by about ten percent, unless the cell data limit were also raised.

New key controls or some other user interface mechanism would also have to be implemented to give access to the new rotation settings. Perhaps a "free" rotate using the mouse (similar to what you get with the examine command) for general adjustments coupled with some keyboard shortcuts for precise placement.

The big complication with this change comes, once again, with encroachment. Unlike rotation around the vertical axis, rotation around a horizontal axis changes the horizontal "footprint" of an object. In other words, its encroachment dimensions change. If the encroachment detection mechanism is not modified to take this into account, rotating on object horizontally would allow vandalism.

Solutions to this problem include either not allowing horizontal rotation in public building worlds (easier), or enhancing the encroachment detection logic in the world server to take horizontal rotation into account (harder).