aac.AnimationStore(folder) seeds a clip from an existing .anim asset and
returns a normal ClipBuilder, so pre-made clips work anywhere generated
clips do and can still be edited (looping, keyframes, toggles, blend
shapes). The Unity side clones the asset into the container and applies
the script's changes to the clone, leaving the original untouched.
- ClipData gains optional source; looping becomes Option<bool> so an
untouched store clip keeps the asset's own looping setting.
- Add rust/examples/animation_store.rhai, a worked store example.
The installation instructions incorrectly assumed that the state of the main branch is in a usable state, but this is a false assumption as all repositories in hai-vr are only tested to be working on release tags.
Redirect to the documentation website instead.
- Asset containers are no longer restricted to the AnimatorController class when using the new GenericAssetContainer configuration field
- The asset container will not be used if it is not a persistent asset
- AacFlLayer.OverrideValue(...) overloads now returns itself.
- AacFlLayer.WithAvatarMask(...) now returns itself.
- AacFlLayer.WithAvatarMaskNoTransforms(...) now returns itself.
- AacFlLayer.ResolveAvatarMask(...) now returns itself.
- Other void-returning functions in AAC do not return themselves because:
- Some of them are meant to be used for cleanup purposes rather than for build purposes, so returning void here creates a usability gap to draw attention.
- The ones used in animation keyframes marks it as the last operation that consumes the chain, as further calls would not be logical (i.e. .WithOneFrame(...).WithAnimationCurve(...))
- Add AacFlState.PlayableEnables(...) with 0-duration default overload.
This function is exposed with the assumption that Playable Layer Control would often be used with a all-or-nothing weight.
- Add AacFlState.PlayableDisables(...) with 0-duration default overload.
- Add AacFlState.PlayableSets(...) to control everything about the behaviour.