博客 / 教程

Interaction 系统如何判断你在看什么

交互系统首先要回答的问题说起来简单,却很容易出错:玩家正在看什么?Rookspire Interaction System 用角色身上的一个组件 AC_Interactor 来回答这个问题。

用球体,而不是射线

从摄像机发出的单条射线检测会漏掉细小的物体,玩家瞄偏几个像素就会失败。交互器改为扫掠一个小球体,从角色的眼睛位置出发,沿前方延伸到你设置的距离。它碰到的第一个可交互物体即成为焦点。

从眼睛而不是摄像机出发,意味着它在第一人称和第三人称下都能工作,适用于任何 pawn,且不需要摄像机组件。

每秒二十次

默认情况下,扫掠每秒运行 20 次,而不是每帧运行。这个速度足以让提示感觉即时出现,开销也低到可以忽略。距离、半径和频率都是组件上的设置项。

每次都重新读取状态

每次检测都会重新读取目标的状态:提示、动作、是否启用以及未启用的原因。因此,玩家注视着箱子时将其解锁,提示会立即改变,无需连接任何事件。

移开视线即取消长按

对于定时长按,松开按键或看向别处都会取消长按,因此玩家不能开始采集草药后走开,而进度仍在增长。

以上内容均包含在 Interaction System 的快速入门和手册中。