Commit Graph

94 Commits

Author SHA1 Message Date
bd_
88cf2e14b7
chore: additional debugging to try to track down FreeSegment issues (#781) 2024-03-16 15:57:11 +09:00
bd_
654aec1aab
feat: add UI to show parameter usage (#773) 2024-03-14 21:33:44 +09:00
bd_
3f50da35f2
fix: potential null ref exceptions from scale adjuster (#767) 2024-03-11 11:20:34 +09:00
bd_
a801f0ee76
fix: try to protect against segment double free a bit more (#766) 2024-03-11 10:32:57 +09:00
bd_
17e6c22335
fix: potential null reference exceptions from ProxyManager (#750)
* chore: fix incorrect namespace

* fix: potential null reference exceptions from ProxyManager
2024-03-09 18:08:38 +09:00
bd_
fcc3752bcc
fix: double free message from armature lock (#745)
Closes: #741
2024-03-08 17:59:13 +09:00
bd_
f7e574654f
fix: parent scale ignored in Scale Adjuster (#744)
Closes: #740
2024-03-08 17:59:04 +09:00
bd_
73c9d7bfff
chore: use forceRenderingOff for ProxyManager (#734)
Thanks to @TCL987 for the suggestion!
2024-03-06 17:16:48 +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_
f077d24d48
fix: improved Scale Adjuster implementation (#730)
This new implementation avoids creating any internal objects within the avatar
itself, instead creating them as hidden scene root objects. We also move all update
processing to be driven by camera callbacks as well. These changes help improve
compatibility with tools such as FaceEmo, as well as being less likely to break when
other tools manipulate the avatar's hierarchy directly.
2024-03-05 17:19:54 +09:00
bd_
e39a77855a
fix: don't enable scale proxy when no relevant bones are used in the mesh (#728) 2024-03-04 13:26:09 +09:00
bd_
7b21517bac
fix: bones whose name exactly matches prefix+suffix incorrectly match their parent (?) (#724)
Closes: #712
2024-03-03 19:19:53 +09:00
bd_
f6ac07e1cd
opti: perf improvements for armature lock (#714)
* opti: perf improvements for armature lock

* chore: unity 2019 compatibility

* chore: update comments
2024-03-03 17:34:48 +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_
97fe8075a6
feat: add support for VRoid Hub armatures in Setup Outfit (#709) 2024-02-27 19:02:04 +09:00
bd_
e0c8061a8d
fix: ScaleAdjuster causes console errors when a mesh is missing (#706)
* fix: ScaleAdjuster causes console errors when a mesh is missing

* chore: hide ScaleAdjusterRenderer component
2024-02-27 17:09:01 +09:00
bd_
e06e83daba
fix: issues with Scale Adjuster on 2019 (#703)
Harmony patches were not being loaded for VRCSDK 3.4.x, causing some issues with component enabled state checkboxes being incorrect.

Additionally, we need to reset component states before assembly reload and scene save.
2024-02-26 18:56:43 +09:00
bd_
7a2385352c
fix: noisy memory leak warning on Unity 2019 (#700)
Closes: #696
2024-02-26 18:03:16 +09:00
bd_
1666f96d61
fix: logspam caused by ScaleProxy on unity 2019 (#699) 2024-02-26 15:30:42 +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_
b9a5700a7a
chore: remove dead code (#683) 2024-02-20 19:13:08 +09:00
bd_
42ca90a6bc
fix: crash when undoing setup outfit (#680)
Closes: #571
2024-02-18 21:56:59 +09:00
bd_
d57e211d0b
fix: minor issues with scale adjuster (#679)
* fix: undo operations can cause scale adjuster to perma-disable meshes

* fix: tool is left hidden after scale adjuster is deleted
2024-02-18 21:47:48 +09:00
bd_
56a203c531 chore: remove stray .meta file 2024-02-18 20:21:52 +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_
e01b707916
chore: remove stray debug print (#678) 2024-02-18 20:06:15 +09:00
bd_
648c9a9608
feat: improvements to armature tracking (#665)
* opti(armature-lock): parallelize burst jobs for armature lock processing

* feat: continue armature tracking when the MAMA GameObject is disabled

Closes: #500

* feat: add global toggle for armature locking

Closes: #484
2024-02-17 19:20:08 +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_
2751c88fea
fix: scale adjuster's hidden bones don't block PBs (#653) 2024-02-05 22:02:53 +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_
29e0671cfe
fix: incorrect behavior when parent of a MA Move Independently moves (#596) 2023-12-28 17:58:37 +09:00
bd_
f0a4db0a06
fix: some issues where MoveIndependently did not properly update (#587) 2023-12-27 20:47:25 +09:00
bd_
2650566f9a
feat: add a component to perform nonuniform scale adjustments (#583) 2023-12-27 20:29:51 +09:00
bd_
93aa4db3e8
fix: zero scale on outfit destroys transform data (#577)
Closes: #574
2023-12-26 16:10:38 +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
anatawa12
0e243aa4c6
fix: Erros in Unity 2022 due to GetBoneTransform (#550) 2023-12-12 19:49:32 +09:00
bd_
e7a7cba16d
chore: don't use GUIDs to reference asmdefs (#529) 2023-11-12 20:10:04 +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_
a98b8fb457
feat: add UI for setting outfit position to match base avatar (#521) 2023-11-09 22:06:18 +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
bd_
491cb97fb1
fix: null reference errors when apply on play triggers late (#490)
When an avatar is enabled after the scene is initially loaded, Merge Armature
would result in a lot of NullReferenceExceptions being logged.
2023-10-09 18:59:50 +09:00
bd_
ddbc3b164b
chore: restructure repository to put package at top-level (#477)
* chore: rearrange package structure to have the package at the root

* ci: update CI workflows

* ci: fixing workflow bugs

* ci: recurse building .zip package

* ci: more fixes

* ci: add back in the nadena.dev VPM repo

* ci: fix tests
2023-10-08 15:39:57 +09:00