This GITHub repository is to store the code and animations for a Skyrim project for Pole Dance animations.
Members of te project are, right now:
- CPU
- Komotor
- Anubis
- Rydin
- FunnyBizness
The mod is a framework for Pole Dances. A set of sub-animations will be defined, and the framework will allow playing them in the game with limited Papyrus actions.
This mod is a framework to implement (complex) pole dances in Skyrim.
Its identification code (four letters for all objects and scripts) is spdf
It provides APIs (similar to SexLab APIs) to handle the dances with just a few calls.
The APIs are available in this document: Skyrim Pole Dances APIs
💃 👯 💃
- Allows playing complex pole dance performances in a completely automated way
- Handles the control of involved actors
- Provides three different ways to define how the performance will be done:
- By start pose and sequence of poses
- By a list of dances
- By tags
- Has the ability to control stripping and redressing for each body slot
- Provides mod events and hooks to integrate with other mods
- Provides a registry to query for data and add your own poses and dances
- Dances inside a performance have a soft transition by design and allow fluid animations
The mod has a set of animations (made by many talented Skyrim animators) and some code. The animations are done in a way that enables them to be sequenced.
An important concept for the mod is the Pose
A Pose is a single frame animation that can be used in the dances. All animations will start from a specific pose and will end with another pose.
The set of poses is pre-defined (but new poses and animations can be added.)
A pose has also two sub-animations connected to it. The sub-animations (called enterPose and exitPose) are used to have an actor to begin and end the animation by going to the pose (and quitting the animation from a pose that was reached.)
Sub-dances will always start and end with an animation frame that will be one of the poses.
Using the APIs to start a dance with an Actor (player or NPC) will have these consequences:
- The actor will be allocated and controlled
- A pole will be placed (in case it is not passed as reference)
- The actor will walk close to the pole on a specific location to start the animation
- A start pose is selected (the pose can be passed as parameter, or come from a list of dances, or found by tags)
- The enterPose animation from the pose is played, the actor will now be in the pose
- A sub-dance that starts with the current pose is selected and played
- When the sub-animation ends, it will reach another pose, another sub-dance animation, that starts with the pose that is the end pose of the previous animation, is selected
- The next animation is played, and the cycle will continue until the time specified is completed (or the set of dances is completed)
- The actor will be in the end pose of the last animation, the exitPose animation is played
- The actor is released (and the pole may be removed in case it was added automatically)
Something like:
[Play enterPose anim for Pose A] -->
[Play one anim that starts with Pose A] -->
[Animation ends with Pose B, find new animation starting with Pose B] -->
[Play the animation] -->
[...] -->
[reach the end pose of the last animation (Pose Z)] -->
[Play exitPose anim for Pose Z]