前言:
VRA中的Gaze组件是一个很特别的组件,使用该组件能够实现用户在VR应用中只使用视线/PC端只使用光标聚焦就能触发物体交互事件的功能。下文中将概述Gaze组件的参数设置与事例拆解。
Gaze组件参数:
Gaze组件相对于别的组件参数设置少相对简单,主要分为Progress Bar与Setting两大类:
Progressbar:
Gaze组件被目光/光标聚焦时,会出现一个逐渐增长的进度条用于提示用户已经开始聚焦,当进度条满格后就会触发交互事件。Progressbar这一栏参数用于调整Gaze交互的触发时间与进度条的样式,UI有两种预设两种预设样式,环状进度条与横条,如果用户要自行设计进度条,需要继承Widget_GazeIndicator类:
Timeout Gaze:设定用户目光在交互物体上最少的停留时间才开始触发目光聚焦的行为。
Progress Duration: 设定从聚焦开始到触发交互需要目光停留的时间。
Settings:
该参数用于设置不同组件/Actor之间通信的条件,与之前笔记中的组件参数设置没有多少区别。
Component Definition:
ComponentTagToSearchFor:
添加Gaze组件交互事件联动的组件的Tag,通常会与Switch组件交互,Switch组件再与其他功能组件进行交互。
ActorsToTrigger:
添加场景中产生交互的Actor对象引用,Actor对象的组件必须包含上一栏中的Tag。若是在自身Actor中进行通信,则只需要勾选TriggerAlsoSelf即可。
Toggle:
表明交互事件触发时会交替设置交互组件的Set/Unset状态。
Component Tag to Gaze at:
用于设置用户聚焦在哪个Mesh上,默认为None时表明用户的目光聚焦到整个Actor(可能包含多个mesh)都能触发Gaze事件,若希望在聚焦到某部分Mesh时才触发聚焦事件,则需要在Mesh上添加Tag并将Tag填入该参数栏。
事例拆解:
为了演示Gaze组件如何与同一个Actor上的组件和与其他Actor上的组件交互,事例中的用户能够通过目光聚焦门来打开门与旁边的收音机,下面将为大家展示门上Gaze组件与Open组件的设置,以及收音机上Switch组件的设置
Gaze Settings参数设定:
1.将Door_OpenComp填入Tag Array中。
2.将收音机Actor的引用添加至ActorsToTrigger中。
3.在门的Comp_Open组件上添加Door_OpenComp的Tag,并设置好开合角度。
4.在收音机的Comp_Switch组件上添加Door_OpenComp的Tag,并在蓝图中设置好开关收音机的逻辑。
完成上述设置后,当玩家目光聚焦门上并等待进度条满格后即可触发收音机和门的交互功能。