Flythroughs - Slackaduts/Deimos-Wizard101 GitHub Wiki
How to make Flythroughs
Basic Info
First, there's 3 things you need to know about the camera. Every camera command takes in either an XYZ or an Orient, or both.
An XYZ is a point in 3D space, think of it as the "where" of the command.
An Orient is a set of rotations in 3D space. This is defined by Pitch, Roll, and Yaw (in this order).
Pitch is Up/Down, Roll tilts the screen Left/Right, and Yaw is Left/Right rotation.
Now that you know about these, here's how you define them in a command (Examples):
XYZ(100, 300, 50)
Orient(1, 3.14, 0)
Keep in mind Orients are done using radians, with the exception of rotatingglideto.
Equations
For even more advanced users, you can define equations in number fields. For instance, if you wanted to add 100 to your Z, you would:
XYZ(, , + 100)
Syntax
Now that you know how to deal with coordinates and rotations, here's the syntax for flythrough commands (Commas can also be used as the separator here instead of spaces):
action coordinate/rotation* time
Action is the command for what you want the camera to do, coordinates/rotations are afterwards, and the last argument is time, if applicable.
Command List
glideto
Glide the camera to a specific XYZ over a specific time. Can also take in another XYZ param as one to look at (prefaced by lookat, ), or an Orient to lock the camera at. Examples:
glideto XYZ(542, 392, 211) lookat XYZ(-182, -5827, 48) 10
glideto XYZ(542, 392, 211) Orient(pi, 0, 0) 10
rotatingglideto
Does the same thing as glideto, but instead of specifying a focus XYZ or an Orient, you specify how many degrees you also want each rotation of the camera to rotate.
Keep in mind specifically this Orient is in degrees, for ease of use. Example:
rotatingglideto XYZ(542, 392, 211) Orient(360, 0, 0) 10
orbit
Orbits the camera around a specific point by specific number of degrees. Degrees is the second to last argument, as time is always the last argument. Example:
orbit XYZ(-182, -5827, 48) 180 5
lookat
Points the camera at a specific XYZ. This action is instant. Example:
lookat XYZ(-182, -5827, 48)
setpos
Sets the position of the camera to a specific XYZ. This action is instant. Example:
setpos XYZ(7493.7, -16541.55625, 2145.8125)
setorient
Sets the orientation of the camera to a specific Orient. This action is instant. Example:
setorient Orient(0, 0, 0)