PoseSaver - Update 1.4.3
1. Additional Atoms Feature (NEW)
- Feature: Save position/rotation of CUAs, props, and other atoms with poses
- How It Works: Atoms with matching name prefix are saved/restored with pose
Backend Implementation:
- New Fields in PoseData:
- saveAdditionalAtoms (bool, default: true)
- atomNamePrefix (string, default: "PoseSaver_")
- additionalAtoms (JSONClass storage)
- Capture Method: CaptureAtomTransform(Atom atom)
- Saves: type, on/off state, position, rotation
- Uses mainController transform
- Restore Method: RestoreAtomTransform(Atom atom, JSONClass transform)
- Restores position, rotation, on/off state
- Integration: Added to CaptureCurrentPose() and ApplyPoseCoroutine()
- Persistence: Full save/load support in JSON
- Files: PoseData.cs:40-43, 83-119, 372-453, 559-576, 1040-1046, 1123-1137
UI Implementation:
- Location: POSE tab in pose editor
- Controls Added:
a. Toggle: "Save CUAs/Props with matching prefix"
b. Text Field: Configure atom name prefix (editable, default: "PoseSaver_")
c. Status Display: Shows count of saved atoms (e.g., "Currently saved: 3 atom(s)")
- Visual: Section divider "Additional Atoms"
- Colors: Green status when atoms saved, gray when none
- File: PoseUI.cs:750-793
Usage Example:
1. Name your atoms: "PoseSaver_Light1", "PoseSaver_Prop2", "PoseSaver_Chair"
2. Open POSE tab and enable "Save Additional Atoms" toggle
3. Optionally customize prefix (e.g., change to "MyScene_")
4. Capture/recapture pose - atoms with prefix are automatically saved
5. Load pose - atoms restore to saved positions
---
2. Bug Fix: Compilation Error
- Error: DAZMorph.resolvedPath property doesn't exist
- Fix: Changed morph path detection to use only uid property
- Location: IsPoseMorph() method
- File: PoseData.cs:248-268
---
Files Modified
1. PoseData.cs - Additional atoms backend + morph path fix
2. PoseUI.cs - Additional atoms UI controls
---
Summary
- 1 new feature: Additional Atoms saving with configurable prefix
- 1 bug fix: Morph path detection compilation error
- Full UI integration: Toggle, text field, status display
- Complete persistence: Saves/loads with pose JSON