Difference between revisions of "Arcane University:Nifskope Prismatic Constraints"
Line 1: | Line 1: | ||
− | {{ | + | {{Underconstruction|2025/01/12}} |
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. | 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. | ||
Line 5: | Line 5: | ||
https://i.imgur.com/5zrFQB0.gif (TODO get this uploaded. I don't have permissions I think) | 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: | ||
+ | |||
[[Category:Arcane University-Animation| ]][[Category:Arcane University-Implementation| ]] | [[Category:Arcane University-Animation| ]][[Category:Arcane University-Implementation| ]] | ||
+ | * '''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. | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |+ Common Configurations | ||
+ | |- | ||
+ | ! 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) | ||
+ | |} |
Revision as of 02:30, 13 January 2025
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) |