• Happy Holidays Guest!

    We want to announce that we will be working at reduced staffing for the holidays. Specifically Monday the 23rd until Jan 2nd.

    This will affect approval queue times and responses to support tickets. Please adjust your plans accordingly and enjoy yourselves this holiday season!

  • Hi Guest!

    Please be aware that we have released a critical security patch for VaM. We strongly recommend updating to version 1.22.0.7 using the VaM_Updater found in your installation folder.

    Details about the security patch can be found here.
- Fix weight value on an animation target controller settings not saving (loading still worked)
- Position and Rotation weights for controllers (shows up as two additional storables per controller, additive to the ones in the Parent & More panel)
- Allow deleting / cutting trigger keyframes at frame zero
- When trying to save an animation that has broken references, save the previous values instead of crashing
- Fix rotation controller panel showing the position target edit screen instead
- When importing shared animations only in an empty instance, keep Anim 1 to avoid crashes
- Fix crash when toggling loop in imported animations
- Previous / Next Segment storable and keybinding
- Current Animation Changed trigger (Global trigger called whenever an animation transitions)
- Detect and skip broken frames to avoid losing corrupted scenes completely
- Rename "Paste current pose" to "Paste copied pose" to avoid confusion
- Fix pasting a trigger on an animation without that trigger copies the trigger on every animation and at the end too
- Make sure float param ref checks are always done when loading or playing
- Fix incorrect max end selection slider on animation change, fix crash when sliding in empty animations
- Clear all layer Animations storable choosers on stop
- update curve immediately when keyframes reduce finished (thanks @sfishere !)
- Fix compression so it doesn't trip up text editors (NOTE: Animations saved with 283 cannot be opened in earlier versions!)
- Fix issue that targets the main gender of a morph when the added morph was actually for the other gender
- When using Split Position and Rotation, split for all animations of the layer
- Real time now supports time scale
- Fix copy paste controls on an animation that doesn't contain them
  • Real time works! So you can expect Timeline animations to fit with audio without Audio Sync, finally!
  • Reduce save file size by more than 6 times! For older scenes, go to More, Options to use the Serialization Mode "Optimized". This requires Timeline 6.3+ to open.
  • Animate rotation and position separately; this is still a beta feature, it will allow you to only animate the rotation or only animate the position, each with their own keyframes. Note that when moving a control, it will update both. If there's enough interest, I'll improve this feature before releasing it.
  • New global triggers for On Play and On Clips List Changed (in Options, Global Triggers)
  • New option to prevent entering an animation group into specific animations, typically exit animations. For example, if you enter dance/*, you can exclude dance/finish-dancing - Thanks @cheesywheesy for the contribution!
  • New storable to get and change the current animation by layer ("Animations LAYER") - Thanks @cheesywheesy for the contribution!
  • New option to pause sequencing, this will prevent sequences to run until you un-pause them - Thanks @cheesywheesy for the contribution!
  • Option to sort animations by name - Thanks @cheesywheesy for the contribution!
Features

- SmoothMoves by GargChow is now built-in
- Greatly improved "Real Time" (now plays much more closely to audio and clock time). To preserve compatibility, previously created scenes using Real Time will use "Legacy Real Time" mode.
- Keybindings shortcut to make a backup of the current animation, and restore it (one animation can be backed up at a time).
- Import now supports creating new layers on an existing segment when possible
- Avoid calling end-of-animation triggers during blending. Do not call triggers when blending in before reaching frame 0 (so no more weird end-of-animation trigger calls when blending)
- Move the 3D curves in the Curves view; that allows seeing them in the Smooth and Reduce screen too, making it more obvious what it does to your animation.
- New defaults system in More, Defaults (Record and Reduce screens only)
- Order groups in the dope sheet in alphabetical order
- Keybindings shortcuts: Keyframe_Add_AllSelected to keyframe all selected targets
- Recording: When a non-looping animation has a next sequence, show the marker at the next animation's position
- Recording: Record from current scrubber position (clears keyframes after) and remain in position after record stop
- Add Animation: Option to automatically assign as the next animation in sequence
- When loading an animation with a shared segment, select the first non-shared segment by default
- Logging screen: Show the playing animation in the VaM's main UI help text
- Record: When recording float params, return to the Record screen when recording is complete
- Advanced keyframe tools: Keyframe pose only affects selected targets when a selection exists (otherwise, it affects all control targets)
- Improved plugin loading times

Bug fixes

- Fix create animation on other atoms not using the current animation as a reference (resulting in out of order animations and wrong copy keyframes source)
- Fix that prevents adding invalid control to an animation (e.g. gens controls on a female)
- Fix poses being applied during editing in the the middle of an animation when Apply on transition is on
- Fix for loading scenes that had previous errors resulting in duplicated tracks
- Fix for Coroutine couldn't be started because the the game object 'Curves' is inactive
- Correctly update float param sliders after cut or paste
- Fix float param slider rounding values during recording
- Stop running garbage collection when recording for a smoother recording start (won't freeze for a second)
- When creating an animation, select it in other atoms
- When adding animations in all atoms, correctly sync the position, copy settings, copy keyframes and create an all layer options
- Improved readability of the Import screen
- When deleting an animation, select the previous one instead of the first one
- Fix instead range / reset range not working in the Targets tab
- Fix force-apply min/max range of morphs on load not working anymore
- Fix nasty NullReferenceException crash when collapsing groups (thanks @GossamerVR for the help!)
- Allow grouping triggers, controls and morphs in a single group
- Create custom groups of targets (separate morphs and controls by your own grouping names)
- When importing, assign animations to an existing compatible layer or create a new segment (new import screen)
- Support for linking AptSpeaker and RhythmAudioSource audio sources
- Moved frame navigation to the bottom to reduce confusion with animations navigation
- Next / Previous Animation triggers now work on the first layer of the current segment
- When using -1 on "Play next in", always reduce the value by one loop
- Prevent negative values on randomize fields
- Do not check for missing morphs every frame, improve performance of animations when morphs are missing
- Fix sequencing not working since v6 on peer atoms (when playing on atom A, atom B sequencing will not work)
- Fix other gender morphs being replaced by current gender morphs on load when available (resulting in sometimes both being modified, e.g. mouth stays open when it should be closed)
- Fix Keyframe all targets not working on non-person atoms
- Fix Keybindings OpenUI commands not closing other plugins UI (thanks @everlaster#7004)
- Fix comply not being applied correctly (thanks @unnamed_plugins#7507)
- Fix Next / Previous Frame trigger not working on paused animations
- Log a message when peer sync is off and logging for peers is on (to help understand when peer sync doesn't work)

Example grouping and frame nav changes:

1663087978794.png
- Fix new animations copying position setting into rotation
- Fix sequence randomize group using own group name instead of specified group name
Back
Top Bottom