在 Unity 中使用光线投射与 WorldSpace UI 交互
Interacting with WorldSpace UI with raycast in Unity
我正在为 google daydream 创建移动虚拟现实游戏,我想将 WorldSpace UI 添加到我的游戏中并与之互动。有控制器(像 Wii 控制器一样工作)跟踪旋转,所以我在游戏中有旋转轴。 There 是这个控制器如何工作的例子。我认为这样做的好方法是使用 raycast 与 UI 交互(它会从 pivot 拍摄),但在搜索之后我没有发现任何有用的东西。也许还有另一种更简单的方法?
在 Google VR 中设置注视交互的步骤。
添加 Gaze 输入模块 到 EventSystem
object:
将 Graphic Raycaster 组件添加到 Canvas(所有 canvases)并分配 MainCamera(头的child)作为canvas组件中的事件相机:
添加 GvrReticle 预制作为主相机的 child。它应该是这样的:
现在您的 UI 将像往常一样响应点击 (Input.GetMouseButtonDown(0)
)。 Retical/Gaze 下的 UI 将被点击。您所要做的就是将控制器的输入映射到 Input Manager
中的单击按钮
希望这会有所帮助:)
我正在为 google daydream 创建移动虚拟现实游戏,我想将 WorldSpace UI 添加到我的游戏中并与之互动。有控制器(像 Wii 控制器一样工作)跟踪旋转,所以我在游戏中有旋转轴。 There 是这个控制器如何工作的例子。我认为这样做的好方法是使用 raycast 与 UI 交互(它会从 pivot 拍摄),但在搜索之后我没有发现任何有用的东西。也许还有另一种更简单的方法?
在 Google VR 中设置注视交互的步骤。
添加 Gaze 输入模块 到
EventSystem
object:将 Graphic Raycaster 组件添加到 Canvas(所有 canvases)并分配 MainCamera(头的child)作为canvas组件中的事件相机:
添加 GvrReticle 预制作为主相机的 child。它应该是这样的:
现在您的 UI 将像往常一样响应点击 (Input.GetMouseButtonDown(0)
)。 Retical/Gaze 下的 UI 将被点击。您所要做的就是将控制器的输入映射到 Input Manager
希望这会有所帮助:)