Commit Graph
111 Commits
Author SHA1 Message Date
Haï~ 7ab6312160 (PACKAGING) Move migration guide to a central documentation repository 2023-10-02 04:53:27 +02:00
Haï~ c4d5cba7f0 (PACKAGING) Move all examples to a separate repository 2023-10-02 04:53:27 +02:00
Haï~ 2b2ec1e27c (PACKAGING) Move VRChat Extensions and Destructive Workflow to separate repositories 2023-10-02 04:53:27 +02:00
Haï~ c556a9b96a Replace AnimationUtility.SetEditorCurve with AnimationClip.SetCurve 2023-10-02 04:53:27 +02:00
Haï~ 48b71e063a Add AacFlEditClip.AnimatesObjectReference 2023-10-02 04:53:27 +02:00
Haï~ ecc272ebac Allow the AssetContainer to be null, so assets will only live in memory 2023-10-02 04:53:27 +02:00
Haï~ 3d13898ab2 Add AacFlBase.DuplicateAsset 2023-10-02 04:53:27 +02:00
Haï~ 207d94cf30 Rename AacFlController.CreateLayer to AacFlController.NewLayer 2023-10-02 04:53:27 +02:00
Haï~ 0e15f255b3 Disable undo on all relevant Unity function invocations 2023-10-02 04:53:27 +02:00
Haï~ a1e5a43491 (BREAKING) Replace structs with classes 2023-10-02 04:53:27 +02:00
Haï~ fd5c47e83c Split functions from Aac into AacInternals 2023-10-02 04:53:27 +02:00
Haï~ 53da87438e Add AacFlBase.NewBlendTree 2023-10-02 04:53:27 +02:00
Haï~ d22d73cc82 (BREAKING) Add AnimatorAsCode V1:
- Breaking changes:
  - Remove dependency to VRChat in the AnimatorAsCode.V1 namespace. The namespace should now be usable in non-VRChat projects.
  - All VRChat-specific methods are now extension functions in a separate namespace, AnimatorAsCode.V1.VRC.
  - VRChat methods that modify existing assets are split into a separate namespace, AnimatorAsCode.V1.VRCDestructiveWorkflow.
- Breaking fixes:
  - Fix incorrect type signature on AacFlFloatParameterGroup.ToList() and AacFlIntParameterGroup.ToList().
- Add AacFlBase.NewBlendTree():
  - This allows creating blend trees as code.
  - Add AacFlState.WithAnimation(AacFlBlendTree).
- Add AacFlBase.NoAnimator():
  - This can be used to obtain AacFlParameter objects for use in the generation of BlendTrees and other systems, without requiring the existence of a backing animator controller.
  - This can also be used in some cases where there are type casts (Bool to Float, Float to Bool).
- Add AacFlBase.NewAnimatorController():
  - This is meant to be used for non-destructive workflows.
  - This creates an animator controller inside the asset container. This animator controller will be reaped in the same way as other assets are reaped.
2023-10-02 04:51:07 +02:00
Haï~ 3f5fd7aff7 (MIGRATION END) Change namespaces 2023-10-02 04:48:23 +02:00
Haï~ 6c00522b62 (MIGRATION) Redefine assembly definitions 2023-10-02 04:48:10 +02:00
Haï~ f3d4a5b760 (MIGRATION) Rename AacV0 to AacV1 2023-10-02 04:48:03 +02:00
Haï~ af5ce1576b (MIGRATION) Fix all compilation issues 2023-10-02 04:47:57 +02:00
Haï~ c4174120b9 (MIGRATION) Rearrange assembly structure 2023-10-02 04:47:51 +02:00
Haï~ 3bfcb763a1 (MIGRATION START) Move all of V0 to V1:
- This commit marks the start of breaking changes
2023-10-02 04:47:33 +02:00
Haï~ b1fbb5f4d8 Add HDR color and update asset lookup:
- Add support for HDR color animation.
- Update asset lookup to look for proxies and masks in the Packages folder.
2023-09-03 15:01:02 +02:00
Haï~ 27399ae25b Add a first batch of automated tests 2023-09-03 15:01:01 +02:00
Haï~ dfbabc55a3 Restrict DrivingIncreases and DrivingDecreases to numeric parameters only:
- This change was made in-between versions.
2023-09-03 15:00:48 +02:00
Haï~ a675325491 Fix transition duration to SSM was not configured (was 0.1 second by default) 2023-09-03 14:59:50 +02:00
Haï~ fbda5a01fa (BACKWARDS) Create anomalous default clip:
- Ensure backwards compatibility by creating an anomalous clip to be used by default on animators
2023-09-03 14:59:30 +02:00
Haï~ 9cbdd51964 (BREAKING) Fix double unit conversion when using Frames unit, potentially resulting in 1-keyframe animations. 2023-09-03 14:58:37 +02:00
galister 8b41ec953e add AacFlParameter<TParam> and AacFlNumericParameter<TParam>
in order to simplify the maintenance of extension methods
2022-12-16 22:43:52 +01:00
galister b9c7211867 refactor to VRChatExtensions 2022-12-16 21:32:49 +01:00
galister 5ca04dec04 allow a way to force non-local parameter driving (e.g. for randomize) 2022-12-16 21:28:12 +01:00
galister 53107d0a32 add missing meta files 2022-12-16 21:26:26 +01:00
galister 4bcc2fa6fd add DrivingRemaps and DrivingCopies 2022-12-16 21:25:14 +01:00
galister ea54506b53 VRC behaviors to work on both States and SSM's.
All VRC-specific behavior helpers are now extension
functions that can be called using AacAnimatorNode
2022-12-16 21:14:31 +01:00
galister 104e0d3ac3 allow moving AnimatorNode movements between States and SSMs 2022-12-16 21:14:31 +01:00
Haï~ 7bf965824d Use a Unity function to clear sub-state machines:
- The previous method may not have been safe for clearing assets.
2022-05-10 20:06:47 +02:00
Haï~ 46c7bf9000 Add CgeAacFlTransition.Automatically():
- This is equivalent to a transition that occurs after the animation is at least at 0 percent.
- It is meant to be used with sub state machine nodes exiting.
2022-05-10 20:06:47 +02:00
Haï~ 77d68dcc0f Add IAacDefaultsProvider.ConfigureStateMachine(...) to position the core nodes 2022-05-10 20:06:47 +02:00
Haï~ 955655fd6f Add AacFlStateMachine.WithParentStateMachinePosition(...) 2022-05-10 20:06:47 +02:00
Haï~ 1afdc600b3 Add AacFlState.AutomaticallyMovesTo(AacFlStateMachine) for parity:
- This brings parity with States, so that a state machine node can automatically move to another state.
2022-05-10 20:06:47 +02:00
Haï~ 928f4dfe79 Rename NewStateMachine to NewSubStateMachine so that it does not share the same prefix as the more commonly used ".NewState(...)" 2022-05-10 20:06:46 +02:00
Haï~ 261ea030c4 Replace single-letter template variable T with TNode 2022-05-10 20:06:46 +02:00
galister 838ed8cd38 add AacFlStateMachine.Restarts() for self-transitions 2022-05-10 20:03:40 +02:00
galister 5a7ae074cd format & refactor 2022-05-10 20:03:40 +02:00
galister e14e2850a5 default location of new nodes more to the right 2022-05-10 20:03:40 +02:00
galister d2ed56681c add support for sub-state machines 2022-05-10 20:03:40 +02:00
Haï~ 7369355a76 Make some functions in AacFlLayers return themselves instead of void:
- 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(...))
2022-05-10 20:02:55 +02:00
Haï~ 8bbf482210 Add AacFlState.PoseSpaceEntered(...), PoseSpaceExited, PoseSpaceEnteredPercent, and PoseSpaceExitedPercent:
- Add AadFlState.PoseSpaceEntered(...) with 0-duration default overload.
- Add AadFlState.PoseSpaceExited(...) with 0-duration default overload.
- Add AadFlState.PoseSpaceEnteredPercent(...)
- Add AadFlState.PoseSpaceExitedPercent(...)
2022-05-10 20:02:55 +02:00
Haï~ 508b458fba Add AacFlState.WithCycleOffset(...), WithCycleOffsetSetTo, and WithSpeedSetTo:
- Add AacFlState.WithCycleOffset(...)
- Add AacFlState.WithCycleOffsetSetTo(...) which takes a fixed value.
- Add AacFlState.WithSpeedSetTo(...) which takes a fixed value. AacFlState.WithSpeed(...) already exists.
2022-05-10 20:02:55 +02:00
Haï~ f846228d82 Add AacFlTransition.WithInterruption(...):
- Add AacFlTransition.WithInterruption(...). This may replace AacFlTransition.WithSourceInterruption(...)
2022-05-10 20:02:55 +02:00
Haï~ 4d6aa08314 Add AacFlState.PlayableEnables(...), PlayableDisables, and PlayableSets:
- 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.
2022-05-10 20:02:55 +02:00
Haï~ 48855de6ce Document the use of WithDefaultState:
- Document how WithDefaultState differs from Entry transitions.
2022-03-20 05:19:04 +01:00
Haï~ c7a6684e75 Fix Animates documentation was incorrect:
- Fix Animates documentation used to describe animating the enabled property of a Component, which was not the case.
2022-03-20 05:19:04 +01:00