This reverts commit a984cf8673. The prior
behavior was to lock world fixed objects at their offset from the
origin; however with this change we ended up locking them at a location
relative to the avatar spawn location, breaking some gimmicks.
I tried experimenting a bit with VRCConstraint to try to replicate this
behavior, but it seems a bit non-trivial, so we'll revert this as a
hotfix for now.
* Fixes error when merging same parameter with different type in RC menu item.
* Rollback ReactiveObjectPass, use another approach
* Set defaults to ModularAvatarMergeAnimator to prevent potential errors
* Use VRCParentConstraint instead of constraint hack
for world fixed objects when available
* Make sure the VRC constraint only applies on VRChat avatars
* Extract creation logic to external method
* Rearrange method
* Get rid of unit test
* Fix unit test build error
* Fix assert fail
* feat: inferring prefix/suffix now supports infer with HeuristicBoneMapper
* feat: inferring prefix/suffix is now triggered when prefix/suffix is empty and merge target changed
* chore: add comment for inferring prefix/suffix with HeuristicBoneMapper
* feat: support using Humanoid Rig on RenameBonesByHeuristic
* feat: support using cloth's Humanoid Rig on merge_armature.adjust_names
* feat: support outfits' hips in one more deep place
* chore: refine condition on Heuristic Bone Mapper's exact humanoid bone matching
* chore: unify the process for get outfit's humanoid bones
* chore: rename variable name to clarify means
* chore: use InitializeOnLoadMethod instead of reflection to get boneNamePattern from Editor Assembly
* test: add some tests for SetupOutfit and InferPrefixSuffix
This change reworks delete handling to be more consistent with other properties,
by treating it as a virtual property (`deletedShape.{blendshapeName}`) instead of
a weird additional field of blendshape keys. This then fixes a number of issues
(e.g. broken preview for delete keys).
Fixes: #1253
Changes to pass ordering caused Merge Armature to destroy menus before being
processed by Menu Installer; fix this by hoisting menu generation to occur within
the animation services context, before Merge Armature runs. This is safe because
the menu installer pass does not interact with the avatar's animator controllers
directly.
* fix: menu item with float value incorrectly generates bool parameter
* fix: reactive components generate transitions with overlapping condition ranges
* chore: add tests for menu item parameter type
* fix: incorrect parameter type detemination for float values
* chore: add more tests for menu item parameter type
* refactor: unify logic to determine parameter type and rename confusing variable
* 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
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.
* opti: fix perf regressions in new armature lock system
... by avoiding reinitializing everything whenever any target bone moves.
* chore: fixing unity 2019 issues