Commit Graph

  • 2c3b670ab9 Add animation store for pre-made clips main doloro 2026-09-18 14:52:02 +01:00
  • 42a1234e7f shity basic one shot doloro 2026-09-18 14:01:10 +01:00
  • 5851077659 new read me doloro 2026-09-18 13:06:03 +01:00
  • ea45f7ef1a Remove UPM installation instructions: Haï~ 2026-01-31 15:18:07 +01:00
  • 836adc8b60 V1.3.0-alpha.1 Add Modification API, named blend trees overload Haï~ 2025-08-16 05:31:03 +02:00
  • e16115d9a9 Add Modification API: - The Modification API is designed specifically for the creation and distribution of modular prefabs, where a developer generates assets on their machine and distributes those generated assets to their users. - Add AacFlModification class. - Add (AacFlBase).Modification() which returns a AacFlModification. Haï~ 2025-08-16 05:27:32 +02:00
  • 399b721f4a Add named overload for NewBlendTree() and NewBlendTreeAsRaw(): - Add overload for NewBlendTree() which accepts a name. - Add overload for NewBlendTreeAsRaw() which accepts a name. - Addresses #56. Haï~ 2025-07-11 01:51:45 +02:00
  • 84f7f1d089 V1.2.0 Asset container provider & Final breaking changes Haï~ 2025-06-23 17:34:24 +02:00
  • 2abc34b61d V1.2.0-beta.2 Safeguard case where AssetContainer is null Haï~ 2025-06-23 13:47:35 +02:00
  • cfc6c5a9d6 Safeguard case where AssetContainer is null: - Safeguard a case where AssetContainer is null. - This covers a known case in Vixen where clips are generated in Edit mode for previews. Haï~ 2025-06-23 13:46:45 +02:00
  • c87904fbbb Add git url installation note for Unity projects to README (#52). yewnyx 2025-06-02 09:19:38 +09:00
  • 114bea608b Include LICENSE.meta for installing through git url (#55): Tayou 2025-06-02 02:18:31 +02:00
  • 6c16ef567a V1.2.0-beta.1 Asset container provider & Final breaking changes: - Description for newly introduced code: - Add support for third-party asset container management. - In preparation for the introduction of [IAssetSaver in NDMF 1.6.0](https://github.com/bdunderscore/ndmf/releases/tag/1.6.0), add the ability to delegate the management of the asset container to a third party. - No new dependencies are added. - By default, the behaviour of Animator As Code is the same as V1.1.0. - Add new optional field AacConfiguration.AssetContainerProvider to specify an asset container provider. - Add new interface IAacAssetContainerProvider to abstract asset container management. - The above changes have been contributed by **[kb10uy (KOBAYASHI Yū)](https://github.com/kb10uy)** (first contribution). - (BREAKING) As specified in the changelog for the official release of Animator As Code V1, breaking changes had been planned, and will be applied starting this version: - (BREAKING) AacFlSettingKeyframes constructor is now private. - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x. - (BREAKING) The methods AacFlBase.InternalConfiguration and AacFlBase.InternalDoCreateLayer are now private. - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x. - The class AacAccessorForExtensions replaced them. - These breaking changes are meant to be the last breaking changes for the lifetime of Animator As Code V1. Haï~ 2024-11-29 12:06:32 +01:00
  • ff681e6d96 (BREAKING) Apply planned breaking changes as specified in the AAC V1 release: - As specified in the changelog for the official release of Animator As Code V1, breaking changes had been planned, and will be applied starting this version: - (BREAKING) AacFlSettingKeyframes constructor is now private. - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x. - (BREAKING) The methods AacFlBase.InternalConfiguration and AacFlBase.InternalDoCreateLayer are now private. - For compatibility reasons, it was public for the duration of V1.1.x, and was already marked as obsolete in V1.1.x. - The class AacAccessorForExtensions replaced them. Haï~ 2024-11-29 11:58:25 +01:00
  • e445ba8321 Use AacSimpleAssetContainerProvider Yū KOBAYASHI 2024-11-29 16:39:59 +09:00
  • 061b5397df Add IAacAssetContainerProvider and AacSimpleAssetContainerProvider Yū KOBAYASHI 2024-11-29 16:40:14 +09:00
  • 735afd669f Update README.md Haï~ 2024-08-21 04:42:34 +02:00
  • 31383e79db V1.1.0 Public API release: - Compatibility notes: https://docs.hai-vr.dev/updates/2024/08/21/p0 - Alternatively, see or find: https://github.com/hai-vr/documentation/blob/main/updates/2024-08-21-p0.md - Migration guide: https://docs.hai-vr.dev/docs/products/animator-as-code/migrating-v0-to-v1 - What's new: https://docs.hai-vr.dev/docs/products/animator-as-code/v1.1-whats-new - Planned future breaking changes: - The AacFlSettingKeyframes constructor will be made private/internal in V1.2.0. - The methods AacFlBase.InternalConfiguration and AacFlBase.InternalDoCreateLayer will be made private/internal in V1.2.0. - For compatibility reasons they remain public for the duration of V1.1.x. - There are no other breaking changes to be expected for the lifetime of V1. Haï~ 2024-08-21 04:09:21 +02:00
  • 1f4bf4ec83 V1.1.0-beta.9 Expose accessors Haï~ 2024-08-19 10:52:48 +02:00
  • 705f25df3b Add AacAccessorForExtensions: - Add static class AacAccessorForExtensions: - Provides methods for use by extension functions, exposing methods departing from normal fluent interface usage. - Prepare to make methods marked "Not for public use" private starting from V1.2.0. - Due to their active use in other packages, it is not immediately private. Haï~ 2024-08-19 07:26:56 +02:00
  • d7d240a7c3 V1.1.0-beta.8 Functional fixes Haï~ 2024-08-19 03:26:07 +02:00
  • 5df8f375ad Fix calling Or() after TransitionsFromEntry().When(...) no longer fails: - Calling Or() after TransitionsFromEntry().When(...) used to fail due to an unexpected internal state. - This was due to the implicit conversion operator, which converted a null AnimationState to a AacTransitionEndpoint containing null in it. - Fix this by returning null in the implicit conversion operators. Haï~ 2024-08-19 03:22:35 +02:00
  • cca33c83da Make sure State and SSM names don't contain a period '.': - If the name of a state contains a period ".", it can cause the animator to misbehave, so sanitize it. - Transitions would not work properly during the runtime execution of the animator. - Apparently this is because sub state machines internally use the dot as a separator. - Sanitize the name so that menu state names such as "J. Inner" don't mess things up. Haï~ 2024-08-19 01:49:37 +02:00
  • 01724155b0 Fix Any state transitions will be created from SSMs: - Due to an implementation error, creating Any state transitions previously did not have any effect in the graph. - This now creates Any state from the root machine. - Sub-state machines "cannot" have Any state transitions created directly from them. - Internally, Any always comes from the root state machine, but visually in the graph, it will come from the sub-state machine. Haï~ 2024-08-19 01:40:08 +02:00
  • 4c50d8876e V1.1.0-beta.7 Keep AacFlSettingKeyframes public until V1.2.0 Haï~ 2024-08-18 20:01:18 +02:00
  • d9d2d74c97 Keep AacFlSettingKeyframes public until V1.2.0: - Keep AacFlSettingKeyframes public until V1.2.0, where it will be made internal. - AacFlSettingKeyframes is still used in CGE, but CGE already accepts AAC V1.1.x. Haï~ 2024-08-18 20:00:47 +02:00
  • cb6ccce349 V1.1.0-beta.6 Fix error across packages Haï~ 2024-08-18 19:43:40 +02:00
  • c9c73155b9 Fix Animator Removal constructor actually needs to be public: - Animator Removal is used exclusively by destructive workflow extensions. Haï~ 2024-08-18 19:42:22 +02:00
  • 27e4936445 V1.1.0-beta.5 Fix inconsistencies Haï~ 2024-08-18 18:34:53 +02:00
  • 68e20a0ffb (BREAKING) Make constructors non-public: - Fix inconsistency where constructors were public. Haï~ 2024-08-18 07:02:01 +02:00
  • 0bddfdd7a3 (BREAKING) Replace public readonly fields with properties: - Fix inconsistency by replacing public readonly fields with getter-only properties. - Add PublicAPI annotation where it was missing. Haï~ 2024-08-18 04:23:51 +02:00
  • 98190a47d9 V1.1.0-beta.4 Fix inconsistency Haï~ 2024-08-17 15:23:00 +02:00
  • be1b4c3447 (BREAKING) Rename AacFlSettingObjectReferenceKeyframes to AacFlSettingKeyframesObjectReference: - Breaking changes: - Rename AacFlSettingObjectReferenceKeyframes to AacFlSettingKeyframesObjectReference. - This makes it more in line with AacFlSettingKeyframesColor. - AacFlSettingObjectReferenceKeyframes was introduced specifically for Vixen, and it is meant to be used as a lambda expression, so the breaking damage should be limited. Haï~ 2024-08-17 13:12:30 +02:00
  • b58b1afd4d V1.1.0-beta.3 Fix more inconsistencies Haï~ 2024-08-17 08:13:23 +02:00
  • bddad26c0f Rename AacFlSettingCurveColor.WithKeyframes(...) to WithUnit(...): - Fix inconsistency by renaming AacFlSettingCurveColor.WithKeyframes(...) to WithUnit(...). - The previous method is obsoleted, but remains. Haï~ 2024-08-17 08:03:28 +02:00
  • 207ffffb65 Code cleanup, no functional changes. Haï~ 2024-08-15 10:47:48 +02:00
  • 00e20cda51 Make Component[] null-element safe and add missing multi-component: - Make Component[] null-element safe. - Add missing multi-component variations of existing APIs. - Inline documentation pass. Haï~ 2024-08-15 06:50:58 +02:00
  • c47e49d516 Work towards correcting inconsistencies in the API: - Rename *Percent to *Normalized. - Update inline documentation. - Add additional single-valued and array overloads. - Add AacFlSettingCurveObjectReference.WithUnit to be on-par with AacFlSettingCurve. Haï~ 2024-07-05 02:30:01 +02:00
  • 52c64d97f9 Add AacFlState.WithMotionTime to replace AacFlState.MotionTime: - Add AacFlState.WithMotionTime(...) to replace AacFlState.MotionTime() - This is more in line with the function naming convention. Haï~ 2024-07-03 12:55:13 +02:00
  • 4858f8025b V1.1.0-beta.2 Make public field readonly, update inline docs Haï~ 2024-07-02 02:16:47 +02:00
  • c607eb938d Fix AacFlState.WithCycleOffset(AacFlFloatParameter floatParam) now correctly enables the parameter Haï~ 2024-07-01 21:33:00 +02:00
  • 3ecefd7f4a (BREAKING) Make AacFlController.AnimatorController read-only: - Breaking changes: - Make AacFlController.AnimatorController read-only. Haï~ 2024-07-01 14:06:42 +02:00
  • 0afabd9fd6 Update LICENSE: - Add galister for major contributions. Haï~ 2024-07-01 18:10:08 +02:00
  • e50ea684a5 Do a pass on the documentation: - Add and update inline documentation. - Mark some inconsistencies. - Not everything is reviewed yet. Haï~ 2024-07-01 12:58:02 +02:00
  • c54c377202 Update README.md Haï~ 2024-06-30 14:07:30 +02:00
  • e17d1d2828 V1.1.0-beta.1 Accomodate new VRCAnimatorPlayAudio requirements Haï~ 2024-06-30 14:05:25 +02:00
  • 582b109a82 Accomodate new VRCAnimatorPlayAudio requirements: - Nodes need to know the Animator Root, so that relative paths can be resolved during the creation of State behaviours (i.e. Relative path of an AudioSource). - Nodes need to have the ability to create a New Behaviour, even if one already exists. Haï~ 2024-06-24 23:58:37 +02:00
  • a9e1b62818 V1.0.9940 Prepare for ToeTra Rig Creator Haï~ 2024-03-18 01:27:15 +01:00
  • 689080e032 Change the zAutogenerated asset prefix to directory-like: - Change the zAutogenerated__ prefix to zAutogenerated/ - This allows the zAutogenerated/ assets to display in a dedicated menu in the animation editor when the animator is selected. - For legacy compatibility, the old prefix is still matched for the invocation of ClearPreviousAssets() in addition to the new. Haï~ 2024-02-04 04:23:10 +01:00
  • 89f176a6d2 Add AacFlLayer.WithBlendingMode Haï~ 2024-01-24 18:13:44 +01:00
  • 12b836d0a3 V1.0.9930 Prepare for CGE Haï~ 2023-12-06 13:50:01 +01:00
  • 0df82b7b97 Add AacAnimatorNode.At() Haï~ 2023-10-23 18:20:57 +02:00
  • 64f0dc47f1 Add AacFlLayer.WithWeight Haï~ 2023-10-23 16:31:38 +02:00
  • 4b45cecb5c Replace blend tree nullable parameters with mandatory overloads: - Nullable parameters are now replaced with a separate overload with a mandatory parameter. Haï~ 2023-10-21 21:58:59 +02:00
  • 475e670193 Fix low-pass Simple1D blend trees are now ordered: - Invoking WithAnimation on a Simple1D blend tree now always results in the list of ChildMotion being reordered by threshold. - This prevents an issue with Unity where it is unable to properly run a low-pass filter if the thresholds are stored in the array in the reverse order. Haï~ 2023-10-21 21:57:57 +02:00
  • 5236df547f Add comments for a future fix regarding a Simple1D blend tree quirk that happens creating a low-pass filter in the naive way Haï~ 2023-10-20 19:44:15 +02:00
  • da31c8d22c Update broken link in README.md Haï~ 2023-10-20 00:03:53 +02:00
  • 37c1ddc5b7 V1.0.9920 Prepare for Vixen release Haï~ 2023-10-19 23:41:36 +02:00
  • 9ae09900f5 Add layer parameter and overrides copying Haï~ 2023-10-16 19:18:53 +02:00
  • 5689bc19c4 Add ObjectReference keyframes Haï~ 2023-10-11 11:37:06 +02:00
  • 7da76c544d Add functions to store and copy parameters from a NoAnimator to a concrete animator Haï~ 2023-10-10 12:08:31 +02:00
  • 21adaa86a6 Changed AssetContainer type to Object, add ContainerMode Haï~ 2023-10-04 10:59:52 +02:00
  • a43516f45e Do not require some assets to be persistent Haï~ 2023-10-04 08:59:48 +02:00
  • e79400afa9 Add multi-blendshape Haï~ 2023-10-04 00:33:33 +02:00
  • e0b43254a4 Extend name deduplication to sub-state machines Haï~ 2023-10-04 00:36:49 +02:00
  • d7f7bec848 Avoid duplicate state names: - When a state name is reused, Unity replaces it with a non-descriptive name - Replace that state name to avoid duplication bd_ 2022-07-29 18:55:38 -07:00
  • 4299b1c5ee Change the way additional data is stored and exposed in AacConfiguration Haï~ 2023-10-03 23:25:38 +02:00
  • 1a559b6251 Allow any object to be an asset container: - 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 Haï~ 2023-10-02 08:48:27 +02:00
  • 2f5ebee617 (MIGRATING) Replace AacV0 with AacInternals Haï~ 2023-10-02 07:14:02 +02:00
  • 3de37ded74 (MIGRATING) Rename Rotating to RotatingUsingEulerInterpolation, and add RotatingUsingQuaternionInterpolation: - See https://forum.unity.com/threads/new-animationclip-property-names.367288/#post-2384172 Haï~ 2023-10-02 06:33:48 +02:00
  • 3afc3a1f42 (MIGRATING) Rename Rotationing to Rotating Haï~ 2023-10-02 06:24:56 +02:00
  • d31b2282fa (MIGRATING) Change AnimationUtility.SetEditorCurve to AnimationClip.SetCurve to match new V1 behaviour Haï~ 2023-10-02 06:24:15 +02:00
  • d19757cb21 Add Positioning and Rotationing animation method suzuryg 2023-04-17 04:23:50 +09:00
  • 2166a8e0d8 Add AacFlClip.BlendShape() overload suzuryg 2023-03-12 22:29:39 +09:00
  • b1e2ff3316 Add StateMachine property to AacFlLayer suzuryg 2023-02-19 00:58:46 +09:00
  • 3b3c37ae8e Replace all .meta GUIDs Haï~ 2023-10-02 05:55:54 +02:00
  • e319d85c84 Fix avatar masks were generated in the controller instead of the container Haï~ 2023-10-02 05:20:12 +02:00
  • a603cd5690 Update LICENSE year Haï~ 2023-10-01 19:08:40 +02:00
  • c07e47ca48 (PACKAGING) Change the folder structure for package format Haï~ 2023-09-30 17:06:24 +02:00
  • 7ab6312160 (PACKAGING) Move migration guide to a central documentation repository Haï~ 2023-09-11 17:46:12 +02:00
  • c4d5cba7f0 (PACKAGING) Move all examples to a separate repository Haï~ 2023-10-02 04:19:44 +02:00
  • 2b2ec1e27c (PACKAGING) Move VRChat Extensions and Destructive Workflow to separate repositories Haï~ 2023-09-30 16:34:54 +02:00
  • c556a9b96a Replace AnimationUtility.SetEditorCurve with AnimationClip.SetCurve Haï~ 2023-09-26 15:00:00 +02:00
  • 48b71e063a Add AacFlEditClip.AnimatesObjectReference Haï~ 2023-09-25 13:05:28 +02:00
  • ecc272ebac Allow the AssetContainer to be null, so assets will only live in memory Haï~ 2023-09-25 02:31:32 +02:00
  • 3d13898ab2 Add AacFlBase.DuplicateAsset Haï~ 2023-09-19 04:29:31 +02:00
  • 207d94cf30 Rename AacFlController.CreateLayer to AacFlController.NewLayer Haï~ 2023-09-13 04:25:27 +02:00
  • 0e15f255b3 Disable undo on all relevant Unity function invocations Haï~ 2023-09-11 17:22:19 +02:00
  • a1e5a43491 (BREAKING) Replace structs with classes Haï~ 2023-09-09 21:17:35 +02:00
  • fd5c47e83c Split functions from Aac into AacInternals Haï~ 2023-09-09 21:00:59 +02:00
  • 53da87438e Add AacFlBase.NewBlendTree Haï~ 2023-09-03 23:34:26 +02:00
  • 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. Haï~ 2023-09-03 16:23:24 +02:00
  • 3f5fd7aff7 (MIGRATION END) Change namespaces Haï~ 2023-09-03 16:23:16 +02:00
  • 6c00522b62 (MIGRATION) Redefine assembly definitions Haï~ 2023-09-03 15:48:10 +02:00
  • f3d4a5b760 (MIGRATION) Rename AacV0 to AacV1 Haï~ 2023-09-03 15:40:50 +02:00
  • af5ce1576b (MIGRATION) Fix all compilation issues Haï~ 2023-09-03 15:40:10 +02:00
  • c4174120b9 (MIGRATION) Rearrange assembly structure Haï~ 2023-09-03 15:16:39 +02:00
  • 3bfcb763a1 (MIGRATION START) Move all of V0 to V1: - This commit marks the start of breaking changes Haï~ 2023-09-03 15:05:32 +02:00
  • 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. Haï~ 2023-09-03 14:10:02 +02:00
  • 27399ae25b Add a first batch of automated tests Haï~ 2022-12-19 13:34:37 +01:00