Skip to main content

镜子按钮与 UI

让我们来谈谈大多数人都期待的时刻,那就是添加镜子!在项目选项卡中,搜索镜子。将 VRCMirror 拖入您的场景,将其重命名为 HQ Mirror,然后根据您的需要进行定位、旋转和缩放。如果您导入了 VRWorldToolkit(就像您在第 1 部分中应该做的那样),那么您将看到一个名为“显示玩家/世界”的按钮。单击该按钮,然后在“反射层”下同时启用“拾取”和“穿行”。现在禁用镜子。

好的,我们有一个镜子,但是我们如何打开和关闭它呢?这就是 UI 的用武之地。我们想要一个我们可以点击的开关,所以在层次结构中,右键单击,UI>Toggle。这将在画布上生成一个 UI 开关,这是一个显示 UI 元素所必需的组件;然而,我们需要先解决一些问题。在层次结构中,单击“画布”,然后将渲染模式更改为“世界空间”。在“矩形变换”下,将 XYZ 缩放更改为 .001。然后将图层从 UI 更改为 Default。添加两个组件,一个盒子碰撞器和一个 VRC Ui Shape。现在将其放置在一堵墙上;关闭网格,这样您可以将其稍微偏离墙壁放置,而不是放在墙壁内部。

在层次结构中,单击“画布”并设置其宽度为 700,高度为 120,然后取消选中“启用”。

在层次结构中,单击“切换”并设置其宽度为 700,高度为 120,然后取消选中“启用”。

在层次结构中,单击“标签”按钮。将文本更改为“HQ Mirror Toggle”,将颜色更改为白色并增加字体大小。您可以更改字体,甚至可以导入自定义字体,只需从 C:/Windows/Fonts 中拖动 ttf 字体文件即可。您还可以通过单击“添加组件”并搜索来添加阴影。

在层次结构中,单击“背景”并更改宽度和高度为 100。然后将偏移更改为 50 和 -50 以正确放置复选框。接下来,在层次结构中单击“勾选”并更改其宽度和高度为 100。最后,再次选择标签并将其左侧设置为至少 100(您可以使用 gizmos 像其他对象一样平移 UI 元素)。

现在,在“切换”下,将导航设置为“无”。单击组件底部的加号图标,然后从层次结构中拖动镜子。单击下拉菜单中的“无函数”并选择“GameObject”>“SetActive”在“动态布尔”下。

复制您的HQ镜像,将其重命名为LQ镜像,单击“仅显示玩家”,然后复制我们刚刚创建的按钮。在“切换拖动”中,将LQ镜像替换为HQ镜像,并将标签更改为“LQ镜像切换”。

为确保一次只能有一个镜像处于打开状态,请添加一个新槽,将HQ镜像切换拖动到其中,然后在下拉菜单中选择“切换>打开”下的静态布尔值,并取消选中框。对于HQ镜像切换,也是如此,只是将LQ镜像切换放在槽中。然而,如果您有一个打开的镜像,并想要选择另一个镜像,您必须单击按钮两次,一次关闭当前镜像,另一次打开所需的镜像。

按播放按钮,使用CyanEmu(您还应在第1部分中导入)测试此功能。

如果您想使用Udon制作此UI,可以查看Vowgan的视频!https://youtu.be/E0D9Z8-HVBI
将其中一个镜子稍微移到另一个前面,以避免z轴冲突。

如果您的世界更大,请注意,LQ镜像将渲染其背后的头像,即使它们穿过墙壁。出于性能和隐私原因,最好将镜子放置在不会发生这种情况的位置,或者甚至设计您的空间,以便在考虑到这一点的情况下放置镜子。

顺便说一句,您可能想要在此时组织层次结构。您基本上可以使用空的游戏对象作为文件夹,但请确保首先重置其变换,否则将弄乱子游戏对象的位置,从而弄乱progrids!如果您忘记并不清除变换,请拖动出所有子游戏对象,重置变换,然后将其拖回。

有一点额外的好处,我在评论中收到了一个关于如何制作霓虹灯的问题。首先,添加一个您想要添加霓虹灯的对象,所以我将进入Probuilder窗口,添加一个没有高度分段的细长圆柱。我将对其进行挤出,以形成我想要的样子。我可以创建挤出,然后使用中心枢轴旋转以在霓虹管中创建转弯。完成建模后,创建一个新材质并检查发光框,并将其设置为烘焙。将其应用于您的对象,并选择您想要它发出的颜色。烘焙后,您就完成了!

与此相关的几点提示:一,您可以在Probuilder中通过“编辑>首选项>Probuilder>实验功能启用”启用贝塞尔曲线(和布尔值)!但是,这两者在Probuilder中效果都不是很好,所以我建议您使用Blender代替。

二,确保照明适合您的场景。如果您想要温暖或自然的外观,您需要将颜色限制在开尔文光谱上。如果您想要人为的外观,可以使用可见光光谱上的完整颜色。这在我在第4课开始时推荐的Blender Guru照明课程中有所涵盖。

这就是本课程的结束。下一课程将继续讨论这个话题,我将向您展示如何使用Udon的UI在默认层和可行走层之间切换对象!