* Add import-from-asset feature (Closes: #880, #668, #410)
* Limit size of scrollable area to avoid double-scrolling
* Add support for pressing the "delete" key to delete parameters.
* 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
* Disable compilation for use in Unity 6 (6000.0.20f1):
- Do not compile some classes and code paths in non-VRChat projects.
- This has been tested in Unity 6 (6000.0.20f1).
* Fix hide internal components in Unity 6:
- [AddComponentMenu("")] does not work in Unity 6.
- Replace it with [AddComponentMenu("/")]
- This alternative is confirmed to also work in Unity 2022.
---------
Co-authored-by: Haï~ <hai-vr@users.noreply.github.com>
Co-authored-by: bd_ <bd_@nadena.dev>
* feat: A/T Pose conversion on "Reset position to base avatar"
* chore: reorder posReset options
* chore: unify FixAPose functions into SetupOutfit.FixAPose
- Rebased to 1.10.0-rc.4 because the inspector of SubMenu of source Expressions Menu were broken in the base commit this branch initially started with, which was preventing testing some aspects raised during review.
- When this is being rendered as part of an SubMenu of source Expressions Menu, don't use any of the label logic, as menu items within such an Expressions Menu are not backed by any GameObject.
- Rename _isTryingRichLabel to _useLabel.
- Since switching to unlinked always overwrites the label field with the current ObjectName, and switching to linked always empties the label field, the state of _useLabel while the Inspector is open is implied by the value of the label field, or the previous state of the _useLabel field itself when the label field is being emptied out.
- In addition, use the |= operator.
- When the name is linked, and the user begins typing the "<" character, set the label field, and do not apply the name. This will automatically switch to linked mode as the inspector will be reevaluated a second time.
- If the original object name already contains a "<" character (i.e. it comes from a previous version of Modular Avatar), there will be no automatic conversion happening as long as the object name still contains the "<" character.
- Changed the localization keys to discard the rich text toggle aspect.
- Not addressed: When multiple Menu Item components are selected, the behaviour of the inspector currently edits the GameObject name, with no link button, and no automatic conversion when typing "<", regardless of the contents of the label field.
- Add a link/unlink icon to the right of the name field.
- Only show the rich text preview when there is the character '<' in the label field.
- Toggling link from ON to OFF will set the label to the current GameObject name.
Apparently, it's safe to use Unity objects as keys in HashMaps, and doing
so actually fixes some edge cases where assets are recreated as a new C# object.
* feat: enhance default value field input
* fix: format default value when update type or value on parameters inspector
* fix: don't accept NaN and Infinity for default value setting
* fix: init menu item settings only when added manually from inspector
* fix: init menu item settings when added from some shortcuts
* fix: init menu item settings when reset from context menu
* fix: init merge animator settings only when added manually from inspector