Commit Graph

51 Commits

Author SHA1 Message Date
bd_
81bcd14bcd chore: no-op change in BlendshapeSyncIntegrationTest.prefab 2024-08-13 19:59:52 -07:00
anatawa12
f4ab86fedc
feat: SetOrInherit mode in MA Mesh Settings for EasySetupOutfit (#981)
* feat: SetOrInherit for MA Mesh Settings

* chore: use SetOrInherit in EasySetupOutfit

* test: fix test data

* Delete Editor/CheckBoneMapping.cs
2024-08-12 18:45:51 -07:00
bd_
4617575123
fix: recursive parameter mappings are not correctly handled (#987)
Closes: #808
2024-08-11 18:48:25 -07:00
bd_
3d3aefd4f9
feat: use VRCHeadChop for VisibleHeadAccessory (#954)
Closes: #784
2024-08-06 05:53:37 -07:00
bd_
8e7526e711
Connect reactive components to MenuItems (#944)
* refactor: generalize support for arbitrary parameters as conditions

* feat: automatically assign Menu Item parameters

* feat: ReactiveComponents respond to MenuItems

* feat: AvatarObjectReference tracks both paths and direct object references

* feat: set isSaved/isSynced/default values from MenuItem

* feat: Object Toggle preview supports menu items and manipulating parent objects

* feat: reactive previews respond to menu item default value states

* chore: update NDMF dependency
2024-08-04 19:31:43 -07:00
bd_
32dc864d8d
feat: add Object Toggle component (#942)
* feat: add Object Toggle component

* docs: Object Toggle docs

* chore: add missing HelpURL

* chore: fix broken test
2024-08-03 19:56:07 -07:00
bd_
57fe84548c
feat: shape changer can respond to multiple parent objects being animated (#916)
* refactor: generalize the shape changer implementation a bit

* feat: shape changer can respond to multiple parent objects being animated

Closes: #865
2024-07-06 21:39:42 -07:00
bd_
746a72f60b
fix: unused/hidden subparameters are retained and break builds (#914) 2024-07-06 21:34:15 -07:00
bd_
02ca58a3a9
fix: shape changer doesn't set the correct initial state for blendshapes it controls (#904)
Closes: #872
2024-06-24 12:04:29 +09:00
bd_
b3142d7f11
chore: minor cleanups, unit tests (#901) 2024-06-24 11:14:18 +09:00
bd_
628c07a505
fix: synced layers with substatemachines are broken (#882)
repro case provided by @anatawa12
2024-06-17 08:26:00 +09:00
bd_
8d3da50b37
feat: MA Shape Changer (#863)
* chore: migrate Scale Adjuster to NDMF preview system

* feat: MA Shape Changer

* chore: update NDMF dependency

* fix: unit test failure
2024-06-03 09:52:08 +09:00
bd_
0024be06e0
fix: FreeSegment "segment not found" errors (#800)
Zero-length allocations could result in multiple entries with the same offset in the segment map. This would then break subsequent lookups.

Fixed by increasing these allocations to a minimum length of one.
2024-03-25 10:09:43 +00:00
bd_
a23acc6537
feat: use NDMF parameter info hooks to remap parameters (#792) 2024-03-17 17:07:13 +09:00
bd_
88cf2e14b7
chore: additional debugging to try to track down FreeSegment issues (#781) 2024-03-16 15:57:11 +09:00
bd_
0ff1da0734
fix: type corrections not applied to substatemachine exit transitions (#751)
Closes: #748
2024-03-09 18:55:31 +09:00
bd_
95a686609d
fix: Visible Head Accessory breaks transform animations (#747)
Closes: #743
2024-03-08 17:59:30 +09:00
bd_
37b0f3c036
opti: fix perf regressions in new armature lock system (#729)
* opti: fix perf regressions in new armature lock system

... by avoiding reinitializing everything whenever any target bone moves.

* chore: fixing unity 2019 issues
2024-03-05 17:26:30 +09:00
bd_
f7b12d7f82
fix: ScaleAdjuster breaks scene view selection (#718)
... fixed by reimplementing ScaleAdjuster (again!)
2024-03-03 17:26:23 +09:00
bd_
962a75f227
fix: parameter order is shuffled (#722)
Closes: #713
2024-03-03 17:16:28 +09:00
bd_
8c435874ac
fix: untranslated warning generated when multiple parameters remap to the same name (#698)
* fix: untranslated warning generated when multiple parameters remap to the same name

Fixed by allowing this case and applying normal parameter type resolution rules.

Closes: #694

* chore: enable accidentally disabled unit test
2024-02-26 18:20:35 +09:00
bd_
2f67b9509b
fix: handle AnimatorOverrideController in Merge Animator (#697)
Closes: #692
2024-02-26 18:03:28 +09:00
bd_
7a2385352c
fix: noisy memory leak warning on Unity 2019 (#700)
Closes: #696
2024-02-26 18:03:16 +09:00
bd_
e7a317b896
fix: MergeDirectBlendTree overwrites animator default parameters with zeroes (#689) 2024-02-22 18:30:24 +09:00
bd_
f99930999e
fix: compatibility break with animator defaults (#686)
Changes in 1.9.0 broke existing avatars that used animators with
different default values than the MA Parameters fields. This change
makes overriding the animator defaults require an explicit configuration;
this is technically a change which would require a minor version bump,
but as this is addressing a major-version-level compatibility break in 1.9.0,
we're going to push this out at a minor version this time.
2024-02-21 20:40:31 +09:00
bd_
197d847514
fix/reimplement: scale adjuster results in infinite loops sometimes (#677)
Closes: #676
2024-02-18 20:21:26 +09:00
bd_
0d4378764a
chore: add additional unit test (#675) 2024-02-17 20:12:09 +09:00
bd_
27f0557367
fix: float conversion breaks sub-state-machine entry transitions, including FaceEmo (#674)
* fix: float conversion breaks substatemachine entry transitions

Closes: #669

* fix: unnecessary type conversions
2024-02-17 19:19:35 +09:00
bd_
54d4e974db
feat: convert animator parameters to float when types are inconsistent (#662) 2024-02-12 19:35:11 +09:00
bd_
cc6ecd4f90
Update parameters docs and Saved field handling (#661)
* docs: new parameters UI documentation

Closes: #635

* feat(params), changelog-callout: adjust handling of Saved flag with parameters

* chore: fix docs links
2024-02-12 19:24:35 +09:00
bd_
2cf5967a42
feat: allow animator-only defaults to be set using MA Parameters (#648)
* feat: allow animator-only defaults to be set using MA Parameters

* chore: add unit tests for new default parameter behavior
2024-02-12 14:59:39 +09:00
kaikoga
5359e3b006
chore: Fix non-VRChat support (#650)
* add referenced assembly

* remove unused usings

* MA Merge Blend Tree is VRC specific

because it expects VRC style Animator Layer setup

* PruneParametersPass is VRChat specific

* fix: use FindAvatarTransformInParents() to be more cross platform

* fix MergeArmatureHook: nop logic for PhysBones if we do not dedup PhysBones

* fix AnimatorCombiner: ignore VRC components when non-VRC

btw, is AnimatorCombiner VRC specific?

* conditional compile some VRChat specific tests
2024-02-12 14:59:23 +09:00
bd_
1fc9c2d4ac
feat(params): Allow for MA Parameters to _not_ specify a default value (#636)
* feat(params): track whether a default value was explicitly set

* feat(params): improve default value resolution and error handling
2024-01-28 14:27:43 +09:00
bd_
2d1757a975
chore(test): add additional tests (#623) 2024-01-14 16:57:40 +09:00
bd_
2650566f9a
feat: add a component to perform nonuniform scale adjustments (#583) 2023-12-27 20:29:51 +09:00
bd_
a9a0fd648e
feat: prune empty layers (#579)
Closes: #554
2023-12-27 18:54:59 +09:00
bd_
aa698565ab
feat: add merge blend tree component (#572)
* chore: refactor state machine clone logic out as a separate class

* feat: add layer priority and relative path root options to Merge Animator

* feat: add Merge Blend Tree component

* chore: adjust NDMF dependency

* docs: update merge-animator docs

* docs: merge blend tree docs
2023-12-22 17:17:40 +09:00
bd_
d297cf1cad
feat(error): Integrate with NDMF error reporting and localization system (#570)
* chore(i18n): initial integration with NDMF localization system

* feat(error): integrate with NDMF error reporting framework

Note that as part of this, the pre-build validation system has been disabled for now.
It didn't work very well with other NDMF plugins in the first place, so it's probably
for the best...

* chore: fix u2019 build errors
2023-12-21 17:38:46 +09:00
anatawa12
7c35aa014e
fix: do not merge PhysBone chain if the chain is partially different (#548)
* fix: do not merge PhysBone chain if the chain is partially different

* fix: condition is not correct

* test: add test partially same physbone chain
2023-12-12 20:23:23 +09:00
anatawa12
0e243aa4c6
fix: Erros in Unity 2022 due to GetBoneTransform (#550) 2023-12-12 19:49:32 +09:00
bd_
1dacdc4b37
fix: name collisions with Bone Proxies break animation mappings (#542)
Closes: #540
2023-11-26 20:48:16 +09:00
bd_
e81ce64881
fix: null reference in Merge Armature after physbones are merged (#533) 2023-11-14 22:17:47 +09:00
bd_
e7a7cba16d
chore: don't use GUIDs to reference asmdefs (#529) 2023-11-12 20:10:04 +09:00
bd_
ed84e22910
fix: name collision issues with World Fixed Object (#525)
Closes: #519
2023-11-11 20:29:46 +09:00
kaikoga
3667dc319a
chore: Wrap VRC dependencies and VRCAvatarDescriptors (#504)
* add version defines

* refactor: prefer BuildContext.ctor() overload taking GameObject

* wrap unit tests entirely with MA_VRCSDK3_AVATARS

* wrap unit tests smart with MA_VRCSDK3_AVATARS

* wrap runtime entirely with MA_VRCSDK3_AVATARS

* wrap VRC.SDKBase.IEditorOnly with MA_VRCSDK3_AVATARS

* wrap editor entirely with MA_VRCSDK3_AVATARS

* fix AvatarObjectReference.Get(Component)

* wrap editor smart with MA_VRCSDK3_AVATARS

* wrap BuildContext smart with MA_VRCSDK3_AVATARS

* wrap PluginDefinition smart with MA_VRCSDK3_AVATARS

* style: move conditional compiles one step outside
2023-11-10 15:37:56 +09:00
bd_
c86804db1f
fix: ESO selects the last hips candidate, when it should pick the first (#520)
Fixes: #509
2023-11-09 17:25:13 +09:00
kaikoga
5f3e1dcf86
Refactor: Delete unused code for MAAssetBundle generation (#515)
* refactor: delete unused code for MAAssetBundle generation

* fix unit tests
2023-11-09 14:46:57 +09:00
nekobako
a5bc6c50ac
衣装側で PhysBone の影響下にあるボーンは、アバター側に同名のボーンがあっても統合しない (#465)
* chore: preserve outfit side PhysBone even if the bone names match

* chore: remove PhysBone pruning as it is no longer needed

* chore: show error if outfit PhysBones affect to humanoid bones

* test: replace DuplicatePBStripping test to PreserveOutfitPB test

* test: remove unnecessary PhysBone from TransformMappingHandledCorrectly test

* Revert "test: replace DuplicatePBStripping test to PreserveOutfitPB test"

This reverts commit 8fe8f15866.

* Revert "chore: show error if outfit PhysBones affect to humanoid bones"

This reverts commit 4f3761ebf2.

* Revert "chore: remove PhysBone pruning as it is no longer needed"

This reverts commit b0c339e9d0.

* chore: restore duplicate PhysBone pruning

* test: add test for non duplicated bones

* chore: preserve outfit side PhysBone more than 1mm away from the avatar side bone

* test: remove PhysBone stripping tests that consider PhysBone properties

* test: add PhysBone stripping tests that consider bones distance

* fix: merge outfit side PhysBone that is just 1mm away from the avatar side bone

---------

Co-authored-by: bd_ <bd_@nadena.dev>
2023-11-01 19:06:34 +09:00
kaikoga
ae7103cf82
chore: use ndmf Avatar Root api where applicable (#482)
* expose ndmf AvatarRoot APIs through ma.RuntimeUtil

* refactor: prefer RuntimeUtil helpers for checking avatar root

* refactor: ndmf.BuildContext represents Avatar (log)

* refactor: ndmf.BuildContext represents Avatar (WorldFixed)

* refactor: ndmf.BuildContext represents Avatar (FirstPersonVisible)

* refactor: ndmf.BuildContext represents Avatar (BlendShapeSync)

* refactor: prefer FindAvatarTransformInParents() (ErrorReportUI)

* refactor: prefer FindAvatarTransformInParents() (Runtime)

* refactor: prefer FindAvatarTransformInParents() (Editor)

* delegate more ndmf AvatarRoot APIs through ma.RuntimeUtil
2023-10-15 18:44:53 +09:00
anatawa12
939e63c297
add HelpURL Attribute (#491)
* add HelpURL Attribute

Now you can open website with clicking ? button on the inspector

* docs: use language redirect

---------

Co-authored-by: bd_ <bd_@nadena.dev>
2023-10-11 20:40:26 +09:00