Skip to main content

屏幕画布

此示例展示了如何为手机和非 VR 桌面等 2D 屏幕上的用户创建屏幕空间 UI 画布。它还演示了如何将用户传送到目标位置和旋转。

访问屏幕画布示例世界亲自体验!

技术解析​

HideInVR​

此程序在 Start 时运行,通过检查本地玩家的 IsUserInVR 值,如果为 VR 则调用 GameObject.SetActive(false) 来停用 ScreenCanvas 及其 UdonPrograms。

TeleportToTarget​

此程序由按钮触发,按钮指向其 _Trigger 自定义事件。它有一个公共的 target Transform 变量。触发时,它在 target 上调用 Transform.GetPositionAndRotation(),然后将位置和旋转传递给 VRCPlayerApi.TeleportTo(position,rotation) 来移动玩家。

已知问题​

在 ClientSim 中,ScreenCanvas 生成的碰撞器总是放置在 (0,0,0) 并覆盖整个画布大小。在 VRChat 客户端中,使用现有的碰撞器并出现在正确位置。为了使场景在 ClientSim 中可用,初始生成位置被偏移,将用户放置在生成的碰撞器前面。