Commit Graph

91 Commits

Author SHA1 Message Date
bd_
7967fcf121 fix: NullReferenceException in some cases when viewing MA Menu Item controls
Closes: #1383
2024-12-06 17:26:14 -08:00
bd_
6dcd63dde7
Merge branch 'main' into menu-richtext 2024-12-01 15:41:30 -08:00
bd_
d91c69835c feat: add API to open Menu Installer's selection UI
Closes: #1327
2024-12-01 15:40:57 -08:00
bd_
76eca08c22 feat: Sync Parameter Sequence 2024-12-01 15:36:53 -08:00
bd_
2c3e24333a
feat: Remove Vertex Color (#1378) 2024-12-01 13:54:43 -08:00
bd_
a7ef0d6635
fix: multiple issues with MAMoveIndependently (#1369)
* fix: multiple issues with MAMoveIndependently

Fixed issues with nested Move Independently components (Closes #1367).

Fixed MAMoveIndependently not being saved (Supercedes #1366)

Reduce jittering when moving MAMI bones.

* chore: fix some namespaces

* chore: fix non-editor buil
2024-11-24 18:24:38 -08:00
bd_
e68e176aa4
feat: allow multi-edit of "Is Default" when parameter names are empty (#1350) 2024-11-16 19:20:36 -08:00
bd_
d23b9f94a2
fix: empty MA Parameters names break auto param UI (#1346) 2024-11-16 19:02:37 -08:00
bd_
a3b9acba39
ui: Improvements to MA Parameters editor (#1329)
* 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.
2024-11-02 15:17:58 -07:00
Sayamame-beans
497d16f89d
Improve InferPrefixSuffix / Support using Humanoid Rig on Setup Outfit (#1167)
* 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
2024-11-02 15:17:24 -07:00
Haï~
3b067e4664
Make compatible with Unity 6 projects (#1232)
* 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>
2024-10-19 18:58:41 -07:00
bd_
5bafb0ba9d
fix: "extract menu to objects" does not set the target of its menu group properly (#1304)
Closes: #1297
2024-10-19 17:46:39 -07:00
bd_
11a62c88d4
fix: issues when handling VRCExpressionMenus with an uninitialized type field (#1303) 2024-10-19 17:46:31 -07:00
bd_
123523540e
fix: parameters lose their default value when others are moved around (#1302)
Closes: #1296
2024-10-19 17:15:43 -07:00
nekobako
0b8cd3b3b6
feat: add support for drag-and-drop on MaterialSetter and ShapeChanger (#1271)
* feat: add support for drag-and-drop on MaterialSetter and ShapeChanger

* fix: allow adding known objects to MaterialSetter and ShapeChanger
2024-10-12 16:52:37 -07:00
Sayamame-beans
4a376f8723
Merge Armatureの"Reset position to base avatar"にA/Tポーズ変換オプションを追加 (#1188)
* feat: A/T Pose conversion on "Reset position to base avatar"

* chore: reorder posReset options

* chore: unify FixAPose functions into SetupOutfit.FixAPose
2024-10-12 16:34:30 -07:00
bd_
f85d455c8f fix: NRE issued when viewing Menu Item editor outside of an avatar 2024-10-01 20:14:58 -07:00
Haï~
94002e4594 review:
- Rebased to 1.10.0
- When editing multiple objects, always edit the label.
2024-10-01 21:28:54 +02:00
Haï~
c5e787045a review:
- 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.
2024-10-01 09:52:39 +02:00
Haï~
776f08be3f review:
- 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.
2024-10-01 09:52:39 +02:00
Haï~
b01b280f79 feat: menu name may use string field 2024-10-01 09:52:39 +02:00
bd_
0f28cf7aba fix: warning is shown when using FPV on Android 2024-09-29 12:49:58 -07:00
nekobako
cc93c7e5ed feat: replace checkboxes in ObjectToggle with dropdowns 2024-09-29 06:26:12 -07:00
bd_
b866628b24 chore: fix compiler warnings 2024-09-27 19:37:23 -07:00
bd_
ee64cafe02
fix: remove ObjectIdentityComparer (#1211)
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.
2024-09-25 21:39:01 -07:00
bd_
a018df9219
chore: improve PropCache debuggability by adding a name property (#1209) 2024-09-25 20:01:59 -07:00
Sayamame-beans
8e49df703f
fix: BoneProxy target couldn't be empty after assigned (#1192) 2024-09-23 19:14:26 -07:00
Sayamame-beans
032e7a692e
chore: fpvisible.NotUnderHead is now Warning, not Error (#1194) 2024-09-23 19:13:29 -07:00
bd_
a98ef213ff
fix: performance issues with MAMenuItem (#1170)
Cache parameter introspection results (using PropCache) to avoid excessive
recomputation.

Closes: #1165
2024-09-17 20:25:47 -07:00
nekobako
faa8d210f2
Enhance default value field (#1125)
* 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
2024-09-14 17:53:00 -07:00
nekobako
f4d80b857d
fix: exception thrown when opening prefab override ui (#1141) 2024-09-14 17:51:43 -07:00
nekobako
c0582a9961
fix: non-backwards-compatible changes to component initial values (#1114)
* 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
2024-09-13 18:57:03 -07:00
nekobako
3be3cfb74a
Refine some UI (#1119)
* feat: warn by color when Shape Changer has an invalid blendshape

* feat: refine reactive components ui layout

* feat: refine ma parameters ui layout
2024-09-13 18:06:45 -07:00
nekobako
38384a3c70
fix: can't unset the default value for bool parameter (#1121) 2024-09-13 18:04:20 -07:00
bd_
0ee291076f
feat: Menu Item automatic values (#1098) 2024-09-03 19:07:33 -07:00
nekobako
c63128095e
fix: ArgumentNullException when selecting multiple Menu Item with same settings (#1097) 2024-09-03 18:51:36 -07:00
bd_
d403f1b178
ui: improve handling of saved/synced checkboxes on MenuItems with sibling items (#1095)
We will now force the state of all related MenuItems to match when the
synced/saved checkboxes are updated on the Menu Item UI.
2024-09-03 16:05:18 -07:00
bd_
e07b18d87e
fix: Some MenuItemCoreGUI properties do not refresh when rendered in parent menu inspector (#1094)
Closes: #1091
2024-09-03 15:53:44 -07:00
nekobako
f9a9f1f1ef
fix: clearing conflicted MenuItem.isDefault affects unrelated MenuItems (#1089) 2024-09-03 15:28:27 -07:00
bd_
466017c102
feat: add support for drag-and-drop on the MA Object Toggle inspector (#1087) 2024-09-02 19:30:40 -07:00
bd_
371809f430
fix: incorrect handling of isDefault toggles for implicit parameters in UI (#1085)
Closes: #1079
2024-09-02 17:54:36 -07:00
bd_
802fea09d9
feat: serialize Move Independently grouping (#1067)
Closed: #842
2024-08-30 19:19:46 -07:00
nekobako
580cb2bfe9
Fix material setter index (#1061)
* fix: error when Material Setter has an invalid index

* feat: warn by color when Material Setter has an invalid index
2024-08-30 18:04:58 -07:00
bd_
87a385a43e
feat: add a debugging UI for the reactive components system (#1049) 2024-08-25 20:19:04 -07:00
nekobako
46cf066e04
feat: improve material setter inspector (#1035) 2024-08-25 18:05:19 -07:00
bd_
f44e070c46
fix: exceptions thrown when examining a MenuItem outside of an avatar (#1030) 2024-08-21 20:28:52 -07:00
nekobako
8418f8e047
feat: change shape changer to support multiple target renderers (#1011)
* feat: add target renderer to ChangedShape

* chore: add test for ShapeChanger target renderer

* feat: add override target to MaterialSetter

* fix: resolve added AvatarObjectReference

* fix: record prefab instance property modifications

* refactor: remove unused setter for AvatarObjectReference

* refactor: change ChangedShape and MaterialSwitchObject from struct to class

* feat: remove override target from ShapeChanger and MaterialSetter

* refactor: align flow and code style of ShapeChanger and MaterialSetter

* feat: ShapeChanger target migration

* fix: add null check

* chore: added some comments and nullchecks

---------

Co-authored-by: bd_ <bd_@nadena.dev>
2024-08-21 20:27:10 -07:00
bd_
8be802bee5
fix: showing menu contents of an expression menu throws an NRE (#1025)
Closes: #967
2024-08-21 19:23:26 -07:00
bd_
a42295e0e6
fix: scale adjuster tool rotation is not updated appropriately (#1023)
Closes: #1003
2024-08-19 19:14:44 -07:00
bd_
159865e6cd
fix: NRE from Menu Item UI when expression parameters is missing (#1022)
Closes: #797
2024-08-19 18:43:57 -07:00