力反馈与力反馈组件

使用移动设备和控制器的震动功能将游戏中的力传达给玩家。

Windows
MacOS
Linux

力反馈有时也被称作"轰隆声"或控制器震动,其表达的是设备(如游戏手柄或控制器)的震动。通常用于将游戏中的力传达给玩家。简单举例来说,游戏中发生爆炸时,力反馈将用于模拟冲击波,使玩家的体验更上一层楼。

实现后,力反馈可在支持其的所有平台上使用。其中包含iOS(从4.10开始支持)、Android,以及控制器。

力反馈效果资源

力反馈效果资源 包含用于定义特定力反馈效果的属性。这使得设计师能够针对不同的使用情况来自定义力反馈效果。

image alt text

每个力反馈效果可拥有多个通道,每个通道可以播放不同效果。举例而言,一个通道可以在控制器右侧产生强烈而长时间的震动,而另一个通道可以在左侧产生轻微而短促的震动。每个通道的模式由曲线控制。在此处点击右键即可编辑此曲线,或在曲线的图表中双击打开内部曲线编辑器。

Internal Curve Editor

如需了解曲线、键、创建外部曲线资源和使用曲线编辑器的信息,请查阅曲线编辑器关键帧和曲线 页面。

力反馈效果的时长为自动计算,以所有通道曲线中上个键的位置为基础。举例而言,如存在3个通道,每个通道的上个键分别位于1.25、1.5和1.75,则整体效果的长度将是1.75。

通道属性

以下通道属性控制通道效果的播放方式。

项目

描述

Affects Left Large

如为true,将使用左侧大马达产生效果。

Affects Left Small

如为true,将使用左侧小马达产生效果。

Affects Right Large

如为true,将使用右侧大马达产生效果。

Affects Right Small

如为true,将使用右侧小马达产生效果。

Curve

随时间控制效果强度的曲线。换言之,此项将定义震动的模式。值大于0.0将产生震动,值小于0.0则不震动。

创建力反馈效果资源

使用 内容浏览器 创建力反馈效果资源:

  1. 内容浏览器中,点击 新增 并选择 杂项 > 力反馈效果,并打开刚创建的资源。

    CreateForceFeedbackEffect.png

  2. 资源默认包含一个通道,但可以进行添加。可为每个通道选择其将影响的4个输出组合。

    FFChannels.png

  3. 长按 Shift 并在曲线上点击 鼠标左键 添加一个或多个键。

    curve.png

  4. 直接输入键的值,或将键拖入曲线编辑器中进行操作。

    如需调整键之间的曲线,在曲线片段上点击右键修改其曲线函数,然后以常规方法调整切线行。

播放力反馈

在编辑器中预览

将鼠标悬停在力反馈效果图标的中央时将出现"播放"按钮,点击即可在编辑器中预览力反馈效果。

PreviewForceFeedbackEffect.png

直接向玩家播放

力反馈在。需要访问本地 Player Controller 类,以便在目标设备或控制器上播放力反馈。使用者需要访问到本地玩家控制器才能在目标设备或控制器上播放力反馈。

在蓝图中播放力反馈

  1. 通过 Get Player Controller 节点或保存的引用为玩家控制器设置一个引用。

    effect_controller.png

  2. 从引用的输出引脚引出连线,然后在快捷菜单中输入 播放力反馈,然后选择 客户端播放力反馈

    effect_play.png

    如在服务器上调用,力反馈将被复制到拥有的客户端。

  3. 直接在节点上(或使用连接的变量)指定使用的力反馈效果。

    effect_select.png

  4. 如需循环效果,则勾选 循环

    effect_looping.png

  5. 可选择通过"标签"域为效果设置一个特殊命名。可使用此功能停止播放效果;如拥有相同命名的效果已在播放,它将停止播放此效果并播放新效果。

    effect_tag.png

在C++中播放力反馈

在本地玩家控制器上调用 ClientPlayForceFeedback,传递要使用的力反馈效果、效果是否循环,以及效果的可选命名。如果提供了命名,且拥有相同命名的另一个力反馈效果在原始效果结束之前播放,原始效果将立即停止播放,转而播放新效果。

在场景位置处

如需播放一个基于观察玩家距离改变强度的力反馈效果,则在场景中效果预期的源处放置一个 力反馈组件。其根据命令播放力反馈效果,但也在场景中拥有一个物理位置。与音效和光源类似,玩家感受到的力强度将随玩家和源之间的距离(根据数据定义的衰减设置)而改变。

可通过常规代码或蓝图编辑器法将力反馈组件附加到任意actor,但实时游戏进程中需要时也可将其添加。操作方法为调用效用函数 UGameplayStatics::SpawnForceFeedbackAtLocation(在给定场景位置处生成)或 UGameplayStatics::SpawnForceFeedbackAttached(来附加到特定的预先存在组件)。这些函数将返回生成的力反馈组件,因此使用者可以继续进行操纵。然而,如果组件播放完效果后已无作用,则可使用"自动销毁(Auto Destroy)"选项来使其在效果结束后自动移除。

Tags
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