Skip to main content

教程

没有图片这回事真的很私密马赛!本文最初是一个视频教程的文案,但我一直抽不出时间去录制这个教程!你可以点进我的油管频道以观看其他教程。

开始使用

首先,你需要从 Gumroad 下载一个工具。在付款框中输入“0”,下载并导入 unitypackage。如果 VRChat SDK 出于某种原因或更新导致此了工具的损坏,我会在油管视频下方提供一个链接,向你展示如何以最普遍且繁琐的方式创建开关 。

我还想提一嘴另外一个插件,这俩本质上做的是同样的事情,只不过后者可选项更少些,外加这插件在我这边好像不起作用(它可以正常关闭物体,但没法再次把它打开)。当然你可以自己试试。

接下来的这些额外内容都是选修,当然我仍然建议你去安装它们。你可能会用到 Avatar 3.0 Emulator,以便在上传虚拟形象之前测试并确保开关在 Unity 中能够正常工作。你可以从 GithubBooth 上获取它。我还建议你去整一个这个简单的插件,它可以给为你的 VRC 表达参数和 VRC 表达菜单资产提供自定义图标。这里还有一包免费图标。最后推荐一个编辑器脚本,只需将其放置在项目中的任何位置上,它就可以在你按下播放按钮时自动切换到场景视图。你可以通过转到 Tools>Switch To Scene View On Play”Play 来开启和关闭该功能。

简单切换开关

场景中已经准备好了一个虚拟形象,为了不干扰原始当前的虚拟形象项目,我要为其创建一个副本。执行此操作想创建一个副本首先选择你虚拟形象对应的游戏对象(Game Object),按住控制 ctrl 键并单击箭头将其移到后方,按 ControlCtrl + D 复制它,然后将其移前方。我还与此同时将“toggles”附加(append)复制体名称末尾。

我还需要确保我复制了效果层(effects layer)表达式菜单Expression Menu 表达式参数 Expression Parameters 。选择虚拟形象后,滚动下滑到 FX 层,layer,鼠标单击它,按 Ctrl + D,然后再点击 F2 重命名它,然后将其拖回 FX 插槽。slot。表达式菜单 Expression Menu 表达式参数 Expression Parameters 执行相同的操作。

如果你的模型还没有表达式菜单 Expression Menu 表达式参数, Expression Parameters,你可以通过在项目选项卡(project tab)中右键单击并转到“创建 Create>VRChat>Avatars”Avatars 来创建它们。请注意,使用自定义表达式菜单 Expression Menu 将删除默认的表情菜单,要恢复它,您 emotes menu,届时你需要创建一个看起来像这个表情菜单 emotes menu 的新子菜单来恢复它

切换开关的工作方式是径向转盘菜单中按下按钮时,它们会播放动画。如果对象已经打(object)处于启状态,它会播放一个关闭对象(object)的动画,反之亦然。这个工具自动为我们生成动画,但我们需要创建一个额外文件夹来存储它们。因此,请您可以在项目中找个适当位置(例如,如果您的模型也许会带有“动画”的 animations 文件夹),右键单击>空白,创建>文件夹(Create>Folder),然后将文件夹重命名为“切换”。 Toggles。

在这个项目中我有两个不同的化身虚拟形象,所以在“切换”的 toggles 文件夹中有两个子文件夹,每个化身虚拟形象一个。

现在,单击希望能够切换在游戏中开启和关闭的对象(object),或确保它在层次结构级窗口(hierarchy)中被选中。要启用此工具,请转到“工具”tools”菜单并单击“切换创建器”toggle creator”因为由于我们已经在层次结构级窗口(hierarchy)中选中了相应对象(object)所以因此已经会自动为我们填写了化身充虚拟形象和附件对象(accessory object)

或者,还可以在层次结构级窗口(hierarchy)中右键单击要切换的游戏对象(Game object),然后单击“高级切换”advanced toggle”或“切换”toggle”

请注意,可以在新窗口中悬停试着在每个标签上悬停鼠标文本此操作会弹出文本来告诉每个选项的功能。

在“表达式”菜单下,我希望自动生成的切换按钮出现在一个 expressions menu 中的新的子菜单中。所以,点击下拉菜单旁边的加号 + 图标,以创建一个新的表达式菜单槽。 expressions menu slot。我将这个按钮称之为“衣服”clothes”,并将此子菜单放在切换按钮文件夹下。如果可以回到主菜单,你可以更改子菜单的图标。

要创建切换按钮:

  1. 在“参数”部分,在“表达式”菜单下拉菜单中,选择我们为切换按钮创建的子菜单。
  2. 在“菜单名称”中输入名称,这将同时填充参数名称。
  3. 通过单击输入框右侧的圆圈来选择菜单中的图标,以弹出纹理搜索,或者从项目选项卡中拖动图像到框中。对于此切换按钮,我将选择前者并搜索消音器,因为此头像带有消音器图标。
  4. 对于此对象(消音器),如果我关闭它,我希望它在更改到新世界或更改回头像时保持关闭状态,所以我会保留“安全状态”开启。
  5. 我还希望它成为头像的默认部分,如果它重新加载,所以我会保留“默认状态”启用。
  6. 我希望新动画的文件夹位于我创建的文件夹中,所以我会导航到下拉菜单中的那个文件夹。
  7. 然后单击“创建简单切换按钮”,完成!

要在Unity中 Unity 中预览此切换按钮:

  1. 转到“工具”菜单,
  2. 单击“手势菜单模拟器”,
  3. 然后单击“播放”。
  4. 选择“手势管理器预制件”,
  5. 确保控制头像已设置为您放置切换按钮的头像。
  6. 然后按照与游戏中相同的方式导航“表达式”菜单。 如果在这里工作,那么它应该在VRChat中工作! 如果您在创建切换按钮时弄乱了,您应该使用“切换按钮移除器”,转到“工具”>“切换按钮移除器”。这会自动执行删除过程。

高级切换按钮

但是,如果您想要做的不仅仅是打开或关闭对象呢?这就是高级切换按钮的用武之地。

这个头像有一件夹克,但里面还有一件衬衫。衬衫有一个混合形状,用于在夹克打开时挤压袖子,而在夹克关闭时张开。我想为夹克创建一个切换按钮,还可以控制衬衫的混合形状。

为此,

  1. 我将右键单击“jacketOpen”对象,
  2. 创建高级切换按钮,
  3. 然后在弹出的新窗口中,在“动画”下,我将单击加号按钮,
  4. 并搜索我想要更改的混合形状的名称,在这种情况下,混合形状名为“Shirt.sleeveSqueeze”,所以我可以简单地搜索“squeeze”,它将弹出。
  5. 然后我将启用“生成关闭动画”;
  6. 当混合形状设置为100时,袖子挤压,当它设置为0时,它张开,所以在动画中,当夹克打开时,我将它保持在100,当夹克关闭时,我将更改混合形状值到0。

这只是一个高级切换按钮的例子;您可以使用此工具创建许多其他内容,例如使用一个切换按钮在表达式菜单中控制多个对象的完全不同套装!