使用Google Daydream运动控制器触控板按钮

设置Google Daydream运动控制器触控板按钮

Windows
MacOS
Linux
Prerequisite Topics

This page assumes you have prior knowledge of the following topics. Please read them before proceeding.

HTGVRTouchpad_Hero_Image.png

Google Daydream运动控制器(MC)的 触控板 上包含许多不同的按钮,可以在虚幻引擎中进行设置,以处理各种不同类别的输入任务。在以下操作指南中,我们将介绍如何设置和使用该触控板。

在本操作指南中,我们事先已经准备好一个添加了 VR摄像机 和运动控制器支持的 Pawn。如果您尚未完成该设置,请查看本页顶部 必读主题 中所列的文档。

步骤

下文提供了有关如何使用Google Daydream运动控制器触控板的信息。

  1. 首先,打开玩家Pawn蓝图,转至 组件(Component) 选项卡,添加一个新的 文本渲染器(Text Render) 组件并命名为 FaceButtonPressed,然后确保该组件是该 运动控制器 组件的子代,如下图所示。

    HTGVRTouchpad_00.png

  2. 单击文本渲染器组件,然后在 细节(Details) 面板中,为以下属性设置下表中的对应值。

    单击查看大图。

    属性名称

    Location

    X = 20, Y = 0, Z = 0

    Rotation

    X = 0, Y = 0, Z = -180

    Horizontal Alignment

    Center

    Vertical Alignment

    Text Center

    World Size

    13.0

  3. 接下来,我们需要创建一个文本变量,用来存储和显示运动控制器触控板上当前正在按住的按钮。为此,请转至 变量(Variables) 列表,并创建一个新的 文本(Text) 变量,名为 ButtonText

    HTGVRTouchpad_02.png

  4. Google Daydream运动控制器触控板包含五个可以使用的按钮。其中四个通过按触控板上的 方向可以激活。第五个按钮在用户触摸触控板表面时触发。要在蓝图中进行这项设置,请将以下五个 运动控制器(R)表面按钮(Motion Controller (R) FaceButton) 事件节点添加到事件图表。

    单击查看大图。

    节点名称

    默认值

    Motion Controller (R) FaceButton1

    N/A

    Motion Controller (R) FaceButton2

    N/A

    Motion Controller (R) FaceButton3

    N/A

    Motion Controller (R) FaceButton4

    N/A

    Steam Touch 0

    N/A

  5. 现在,我们将要设置逻辑,以便显示在触控板上按下了哪个按钮。为此,将 ButtonText 变量拖到事件图表,并选择 设置(Set) 选项,因为我们需要设置显示的文本。

    单击查看大图。

  6. Motion Controller (R) FaceButton1 事件节点上的 按下(Pressed) 输出连接到 设置按钮文本(Set Button Text) 节点上的输入,然后在 按钮文本(Button Text) 字段中,输入以下文本:

    • 表面按钮1触控板上

    单击查看大图。

  7. 如果我们现在按下"运动控制器表面按钮1",不会发生任何事情,因为我们只是设置了能够输入我们希望显示的文本。要显示文本,您首先需要在事件图表中单击右键,然后搜索 设置文本(Set Text) 节点,这样会设置文本以显示"设置按钮文本"变量的值。在搜索"设置文本"节点时,确保选择 SetText(FaceButtonPressed) 选项,以便它会自动添加对"FaceButtonPressed"文本渲染器组件的引用。

    单击查看大图。

  8. 接下来,我们需要将"设置按钮文本"节点连接到"设置文本"节点,以便在按下触控板按钮时显示"设置按钮文本"节点中输入的文本。为此,将"设置按钮文本"节点上的两个输出连接到"设置文本"节点上的两个可用输入,完成后,您的蓝图应如以下所示:

    单击查看大图。

  9. 对其余按钮方向重复上述过程。在操作时,确保更改"设置表面按钮文本"中输入的文本,以反映当前按下的按钮。完成该步骤后,您的蓝图应该如下图所示:

    Copy Node Graph

    单击查看大图。

  10. 最后,我们需要将告知我们所按下的运动控制器按钮的文本连接到运动控制器,以便在运动控制器移动时,文本随之移动。为此,请将以下节点添加到事件图表:

    节点名称

    默认值

    GoogleVRMotionController

    N/A

    FaceButtonPressed

    N/A

    Get Motion Controller

    N/A

    AttachToComponent

    N/A

    节点添加完成后,将AttachToComponent节点连接到SetRelativeLocation节点的输出。然后,将FaceButtonPressed连接到AttachToComponent节点上的 目标(Target) 输入。最后,将GoogleVRMotionController插入到GetMotionController节点,并将其输出连接到AttachToComponent节点上的 父代(Parent) 输入。完成后,这一部分蓝图应该如下图所示:

    Copy Node Graph

    单击查看大图。

最终结果

编译并保存蓝图,然后使用"启动"(Launch On)按钮将项目部署并启动到智能手机。项目部署到手机后,将手机与GoogleVR HMD相连,拿起Daydream运动控制器。现在,当您按下触控板上任意基本方位时,应该会显示您所按下的按钮,如以下视频所示:

虚幻引擎项目下载

下面提供了一个链接,供您下载用来创建该示例的虚幻引擎项目。

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback