Arcane University:Nifskope Prismatic Constraints
Prismatic constraints allow a rigidbody to slide along a fixed line between two points. They are sometimes called rail constraints in other engines as they are alike a train moving along a rail. The prismatic constraints used by the Creation Engine optionally allow the sliding rigidbody to rotate about as it slides, though it is more common to use a fixed rotation.
https://i.imgur.com/5zrFQB0.gif (TODO get this uploaded. I don't have permissions I think)
Axis Configuration
For A & B each, a prismatic constraint has three properties that control the axis that the target rigidbody moves along:
- Sliding: Controls the axis which the rigidbody slides along.
- Rotation: Lock or constrain the rotation axes allowed for the rigidbody
- Plane: Reference plane for rotation
Bethesda rarely (if ever) uses prismatic constraints in their games, so third-party tooling support is similarly minimal. The Havok > A -> B option usually available to constraints in NifSkope, for instance, does not work, and the B properties must be set manually.
The direction of the prismatic constraint can be inverted by multiplying all properties by -1. This is mostly useful for editor intuition (e.g. make max distance apply to the forward direction instead of backwards) since the constraint position cannot be read in-game without the use of the script extender.
Property | X Axis Slide | Y Axis Slide | Z Axis Slide |
---|---|---|---|
Sliding A & B | (1, 0, 0) | (0, 1, 0) | (0, 0, 1) |
Rotation A & B | (0, 1, 0) | (0, 0, 1) | (1, 0, 0) |
Plane A & B | (0, 0, 1) | (1, 0, 0) | (0, 1, 0) |