Skip to content

Commit

Permalink
Updated Poses Extension Docs
Browse files Browse the repository at this point in the history
  • Loading branch information
JustBuddy committed Jun 22, 2024
1 parent dee2b99 commit 616dd96
Show file tree
Hide file tree
Showing 8 changed files with 51 additions and 21 deletions.
37 changes: 29 additions & 8 deletions src/content/docs/posesextension/action.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ description: Locomotion-agnostic pose framework.
---
import { Aside } from '@astrojs/starlight/components';

<Aside>The action controller for the **GGL-Variant** is a simpler version of this, the idea is the same.</Aside>

### Poses&Dances
![PE Action Controller Poses&Dances Layer.](./img/003.png)

Expand All @@ -16,16 +18,35 @@ Once that is done, we move on to the state selected with PE/Set. Dances and Pose

A direct transition from Warmup to Restore should ensure that the logic works and syncs reliably in case of fast or invalid inputs.

For visual differentiation, we just split Poses and Dances with the middle line, poses being on the top half and dances on the bottom half. This might get packed into statemaschines in the future if needed.
If PE/Set changes away from the current category, the layer will advance to *Restore* and loop back.
Changes between banks of the same category will be direct, without going to *Restore* first.

Each state machine contains a normal and a mirrored pose of each category's banks, PE/Mirror controls which one is selected.

If PE/Set changes away from the current active set, the layer will advance to *Restore* and loop back.
**Restore** re-engages tracking, essentially reversing changes done in **Warmup**

### Support Logic
![PE Action Controller Support Layer.](./img/004.png)
This layer is used for any additional functions.
### Support Logic A
![PE Action Controller Support Layer A.](./img/004.png)
This layer is used for the majority of logic functions.

**Reset / Reset Grounded**
Reset is called throughout the logic to reset Poses Extension to its original settings and will also disengage it.
Reset Grounded engages whenever you get airborne. This circumvents a visual glitch. Will not reset any settings, just disengages Poses Extension.

**Loop - / +**
Responsible for the PE/Float radial menus bi-directional looping.

**Save / Load**
Logic to save and store to the provided save slots.
Triggers are used to make those quick and self-resetting.

**ViewPort Adjust**
Engaged when the HeightSlider is in use, forces your ViewPort to align with the current Pose, including height.

### Support Logic B
![PE Action Controller Support Layer B.](./img/005.png)

Currently, it is responsible for making the infinite circle loop work whenever the value of PE/Float hits 0 or 100.
For the GGL Variant, an additional local check is done to make sure this function only runs when the user interacts with PE, but not with GGL.
It's sole purpose is to run the Showcase logic. It does so by using Parameter drivers to run the Load-triggers.
That way, the entire showcase system works without needing any additional synced parameters.
PE/Favorite/ShowcaseSpeed influences the time it takes to transition from one slot to the next.

<Aside>Please be aware that Poses Extension is under constant development, and information in the docs might get outdated.</Aside>
Binary file modified src/content/docs/posesextension/img/001.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/content/docs/posesextension/img/003.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified src/content/docs/posesextension/img/004.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/content/docs/posesextension/img/005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 1 addition & 3 deletions src/content/docs/posesextension/intro.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,4 @@ import { Aside } from '@astrojs/starlight/components';
#### Welcome to the Poses Extension Docs
Poses Extension is a Locomotion-agnostic pose/emote framework prefilled with various poses made for photography.

The following pages will tell you some things about the system.

<Aside>Please be aware that Poses Extension is under constant development, and information in the docs might get outdated.</Aside>
The following pages will tell you some things about the system.
9 changes: 5 additions & 4 deletions src/content/docs/posesextension/setup.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,14 @@ Setup is easy, just add the prefab to your avatar and you are ready to go!

### Which version to pick?
As you might have seen, there are a couple options to choose from:
- **Spawn Prefab... [VRCFury] =** The default version of Poses Extension
- **Spawn Prefab GGL-Variant Prefab... [VRCFury] =** A variant of Poses Extension for GoGo Loco
- **Spawn Prefab... [ModularAvatar] =** A version of the Standalone PE for ModularAvatar.
- **Spawn Standalone Prefab... [VRCFury]:** The full version of Poses Extension.
- **Spawn GGL-Variant Prefab... [VRCFury]:** A variant of Poses Extension for GoGo Loco
- **Spawn Prefab... [ModularAvatar]:** A version of the Standalone PE for ModularAvatar.

To save parameter space in GoGo Loco setups, the GGL-Variant will make use of existing GGL parameters, specifically Go/Float and Go/VRCEmote. This makes Poses Extension free to use, but adds a breaking point whenever GoGo Loco does any major changes.
Also, the GGL-Variant does not include all features Standalone does, please keep that in mind.

Please assume that Poses Extension will only work with the latest version of GoGo Loco. Any other release MIGHT work, but is not supported.
Please assume that Poses Extension GGL-Variant will only work with the latest version of GoGo Loco. Any other release MIGHT work, but is not supported.

<Aside>The regular version will work in any case, even in a setup with GoGo Loco.</Aside>

Expand Down
22 changes: 16 additions & 6 deletions src/content/docs/posesextension/structure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,31 @@ import { Aside } from '@astrojs/starlight/components';
### Parameters

##### Standalone
- **PE/Set [INT]:** Defines the currently picked pose set. (Like standing, sitting etc.)
- **PE/Set [Int]:** Defines the currently picked pose set. (Like standing, sitting etc.)
- **PE/Float [Float]:** Used for pose selection and dance speed.
- **PE/Height [Float]:** Used for height adjustment.
- **PE/Mirror [Bool]:** Mirrors your posing.
- **PE/Reset [Bool]:** *Unsynced* parameter called to reset and disengage Poses Extension.
- **PE/ViewPortAdjust [Bool]:** *Unsynced* parameter called when the viewpoint should be realigned with the current pose.
- **PE/Favorite/Showcase [Bool]:** *Unsynced* parameter to engage showcase mode.
- **PE/Favorite/ShowcaseSpeed [Float]:** *Unsynced* parameter to select showcase speed.
- **PE/Exit [Bool]:** *Unsynced* parameter used as condition placeholder for to-Exit transitions.

##### GGL Variant
- **InStation [Bool]:** *Unsynced* Default Parameter used by GGL for conditional checks.
- **PE/Exit [Bool]:** *Unsynced* Parameter used as condition placeholder for to-Exit transitions.
- **PE/Active [Bool]:** *Unsynced* Local condition ensuring the support logic is only run for PE functions.
- **Go/Float [Float]:** Similiar to PE/Float, used for any radial selections by GGL.
- **Go/VRCEmote [INT]:** GGL parameter that does pretty much everything. PE uses some of its pose-space.
- **Go/VRCEmote [Int]:** GGL parameter that does pretty much everything. PE uses some of its pose-space.

##### Support Parameters [always unsynced]
- **PE/Favorite/Slot_X_Save [Bool/Trigger]:** Will save current main parameters when triggered, X being the respective slot.
- **PE/Favorite/Slot_X_Load [Bool/Trigger]:** Will load slot X to main parameters, X being the respective save slot.
- **PE/Favorite/Slot_X_Set [Int]:** Stored value for PE/Set, X being the respective save slot.
- **PE/Favorite/Slot_X_Pose [Float]:** Stored value for PE/Set, X being the respective save slot.

### Action Layer

- **BUDDYWORKS Poses Extension - Poses&Dances:** Main Layer for the pose and emote logic.
- **BUDDYWORKS Poses Extension - Support Logic:** Additional layer, currently used for the bi-directional free-rotation radial.


<Aside>Please be aware that Poses Extension is under constant development, and information in the docs might get outdated.</Aside>
- **BUDDYWORKS Poses Extension - Support Logic A:** Logic layer, controls slider loops, reset handling, viewport and save/load.
- **BUDDYWORKS Poses Extension - Support Logic B:** Logic layer, orchestrates the showcase system.

0 comments on commit 616dd96

Please sign in to comment.