NiAVObjectSetLocalRotation
Revision as of 12:16, 21 January 2011 by imported>DragoonWraith
This is a command from NifSE.
Syntax
(bool:success) NiAVObjectSetLocalRotationTEMP array_var:rotation short:nifID short:blockID (bool:success) NiAVObjSetLocRotT array_var:rotation short:nifID short:blockID
Sets the local rotation of the specified NiAVObject-derived block. Since blockID defaults to 0, the NIF's root NiNode, and NiNode is derived from NiAVObject, this function will change the local rotation of the NIF's root if called with no explicit blockID.
Example
This script will rotate each of the root's children, which are NiAVObject blocks, 180° about the X axis. This will effectively flip the NIF upside-down.
array_var R array_var children array_var child short nifID short blockID ... let R := GenerateRotationMatrix X 180 let children := NiNodeGetChildren nifID foreach child <- children let blockID := *child let locRot := NiAVObjectGetLocalRotation nifID blockID let locRot := MatrixMultiply R locRot ; order matters ; for clarity, using NiAVObjectSetLocalRotation. ; as noted below, this function does not yet exist, ; due to technical limitations in the OBSE Plugin API. NiAVObjectSetLocalRotation locRot nifID blockID loop