Changes since the initial Hub release, 0.1.11.
This update improves redness layering and texture changes, adds separate events for rising and falling pain, and fixes trigger settings and actions being lost when reopening a scene.
Decal layering and texture changes
- Redness now sits above the current skin decal: Existing decals retain their transparency and source resolution. The base skin texture, normal maps, gloss and specular maps stay under VaM's control.
- Fixed a texture-loading conflict: The generated composition is now assigned only while a camera renders. VaM sees its original textures between renders, avoiding the permanent replacement that caused texture loading and reloading errors.
- Changing decals or skin materials refreshes the source textures without clearing existing marks, pending contacts or accumulated pain.
- The GPU compositor is included in the release.
Three independent pain events
- On Value Changed: Keeps the existing continuous response, mapped through inputFrom and inputTo.
- Value Exceeded: Runs its actions once when pain reaches its chosen threshold from below.
- Value Undershot: Runs its actions once when pain reaches its chosen threshold from above.
- The two threshold events have independent Trigger value sliders from 0 to 1. They use the actual pain level, independently of the On Value Changed input range.
- Each event has its own action list, editor and timers. Editing or clearing one event no longer changes another, and each button shows its own action count.
Reliable saving and restoration
- Fixed inputFrom/inputTo and threshold action lists being lost or replaced by an older scene snapshot after a restart.
- At startup, an existing Person profile now restores all three action lists, both input bounds and both thresholds before autosaving begins. Without a profile, the scene supplies the initial values.
- Loading a preset after startup still applies and saves that preset. Intentionally empty action lists stay empty, and existing saved trigger data migrates to the separate event lists automatically.
Performance and optimization
The new layering path keeps the same focus on fractions of a millisecond: shared redness maps, reused output buffers and staggered texture checks. Camera callbacks only switch texture references; they do not compose textures, allocate buffers or search the scene. Empty redness maps leave the material bindings alone.
Updating
Keeps your existing settings file. Your Person profile takes priority over the scene's saved trigger state at startup.