Skip to main content

菜单项(Menu Item)

菜单项(Menu Item)组件能够让您在 Unity 的层级(Hierarchy)中定义一个表情菜单项(Expressions Menu Item)。

menu-item-cefde1017efa581fd8a23dab6fc1700b.png

适用场景

该组件提供了一个编辑和定义菜单项的方式,这个方式比直接定义VRC表情菜单资产(VRC Expressions Menu Assets)更加方便。您能够通过在层级(Hierarchy)中直接拖动来移动菜单,并且它提供了一个能跟随 MA 参数(MA Parameters) 组件中参数名称变化的接口。

如何使用?

💡 提示

这里 是使用菜单编辑系统的完整教程。

菜单项组件在大的菜单中定义一个单独的菜单项。您能够对其图标、类型、参数进行配置。菜单项名称会从组件所在的游戏对象(GameObject)名称中获取。这个特性让您能够直接在层级(Hierarchy)中直接查看和修改菜单项的名称。

子菜单

当菜单项被设定为子菜单(Sub Menu)后,您可以配置子菜单子项的来源。您可以将来源设置为“表情菜单资产(Expressions Menu Asset)”并引用原始的 VRC 表情菜单资产,或者将来源设置为“子项(Children)”并使用该组件所在对象的一级子对象中的菜单项填充子菜单。

如果子菜单中的菜单项数量超出了 VRC 菜单中能承载的最大数量,则子菜单会被自动创建一个“下一页(Next)”菜单项进行分页。

如果子菜单来源为子对象(Children),您还可以指定“重写源对象(Source Object Override)”。如果您使用了这个功能,则组件使用的子对象将会是被指定的对象的子对象,而不是当前对象的子对象。

绑定子菜单

为了能够定义菜单项在菜单中的位置,其他组件需要将该组件绑定到一个菜单中。有三种绑定方法:

未绑定的菜单项不会有效果。

自动创建参数

当您指定了一个在 MA 参数(MA Parameters) 组件或者 VRC 表情参数资产(VRC Expressions Parameter Asset)中未定义的参数名时,菜单项组件会自动为您创建该参数。创建后,您将能够看见一些设定参数值是否保存(Saved)或者是否同步(Synced)的勾选框。

menu-item-auto-params-0a5c57bb35390e7e3999396536abe433.png

若您点击 Is Default(预设启用),该菜单项的值将会成为该参数的默认值。如果有多个使用同一参数的菜单项勾选 Is Default(预设启用),结果将会不可预料。所以请不要这么做!

如果菜单项中没有设定参数名,您依然会看到这些选项;如果您有任何被该菜单项控制的 反应式组件,那么将自动创建一个参数。