借助 Wwise Motion Source 稳健设计振动效果

Wwise 技巧和工具

还记得你第一次体验到妙不可言的振动效果是什么时候吗?当时可能你刚买了 Nintendo 64 Rumble Pak,满心期待地准备玩《Golden Eye》– 要是没配这款振动附件,那可要祝你好运了。又或许你正在 PlayStation 上使用新出的 DualShock 控制器玩《Tekken 3》之类的游戏,然后电机突然开始旋转振动,把你吓了一跳。现在,假如你在玩 FPS 游戏时被敌方击中了,而控制器没有触发振动效果,那才真的是奇了怪了。

上面所说的家用主机都是几十年前的老古董了,游戏厅甚至还有比这更老的街机(1)。如今,触觉反馈、力觉反馈、振动效果早已不足为奇。现在我们期待的是,无论是在格斗游戏中落败、在赛车游戏中撞车还是在任何游戏中达到某些危险点,都能体验到相应的触觉反馈。

不以为然?

估计你把 90 年代后期的控制器振动效果跟同时代的 Web 运动特效弄混了(译注:两者对应的英文均为 motion)。你可能还记得那时候有一些花哨的风格选择,想到最初利用 JavaScript 为鼠标添加火焰跟随特效,并随机变换背景颜色。不过,最后我们学会了把 Web 开发本领用在正道上,做得比之前更加专业和严谨了。对触觉反馈来说,是否也会如此呢?

可能你根本不关心这些;毕竟,你是声音设计师,不是振动设计师。那么,为何一家互动音频公司要撰写博文来专门阐述振动设计呢?因为我觉得振动设计跟声音设计有很多相似之处,有必要将两种技术放在一起对比一下,阐明为何振动效果属于 Wwise 设计范畴,简述如何运用振动效果,并从行业角度浅析触觉反馈技术的发展前景。

触觉反馈与声音

从本质上来说,触觉反馈和声音都属于振动,只不过形式不同而已。声音振动主要通过空气传播,然后被人耳接收;触觉振动一般由身体部位直接感知,尤其是手部。

在声音设计中,我们会考虑节奏、波形及其振幅和频率。这些基本构成要素对振动设计师来说同样适用。通过合理设置这些属性,设计师可以为玩家提供恰当的触觉反馈,从而进一步增强游戏情境的代入感。当然,这得看要传达怎样的信息或者为什么要这样做。

一般来说,无论声音还是振动,都是为了向玩家传达相应的信息。它可能只是为了增强沉浸感而额外添加的细节,来让游戏世界变得更加真实。同样,也可以用来表达非常细微的东西,而这在现实中是很容易被忽略的。假如现实生活中有“往这边看”、“敌人在这边”或者“你钱包掉了”这样的标志,日子是不是就轻松多了?在游戏中,我们一般可以利用彩色线索、突出显示、文字提示以及游戏内或平视显示器 (HUD) 中的其他元素来呈现这些关注点。然而,视觉信息太多会让人来不及处理。这时针对其他感官的信息源就会变得非常重要。为此,我们通常会求助于声音设计。可是,杂乱的声音有时也会淹没信息。假如我们能适当地运用振动设计,就可以弥补这方面的不足。

振动效果可以只是用来为音频提供辅助。对于很多游戏,只需配合声音对象添加振动效果,便可有效地增强音频体验。这一点很容易做到。在 Wwise 中,可以使用 Auxiliary Send(辅助发送)将音效直接发送到 Motion Bus(振动总线)。对此,我们稍后会讲到。当然,也可以单独设计振动效果。好像不用音频源也行,但仔细想想就会发现不行。

通过视觉线索(如文字提示)告知玩家相应信息会比较直接,也比较常用。而且,的确有效。声音设计中与之相似的手法是旁白。它同样行之有效。不过,听觉可能要更加简单粗暴;与视觉反应相比,听觉反应更快更强。因此,声音设计的成功关键在于精巧。你猜怎么着?触觉反应比听觉反应还要快还要强(2)。精巧对振动设计来说同样至关重要。另外,研究也表明多模态反馈(融合听觉和触觉)能够产生叠加效应;通过将两者结合运用,可以触发极强极快的反应,尤其是在需要处理背景干扰的情况下(3)。接下来,我们快速了解一下声音的多种使用方法,然后想想如何通过振动达到同样的效果。

音频辅助与 VR

在游戏内,我们希望能在某些地方播放音频。比如,在鼠标扫过菜单选项时播放咔哒声或哔哔声,或者在突然发生大规模爆炸时播放与游戏物理相关的音频。

虚拟现实 (VR) 的要求还要高些,这要归因于其强烈的感官沉浸需求。目前设计的重点基本上都放在了视觉上;然而,正如 Audiokinetic 副总裁雅克·德沃 (Jacques Deveau) 在 Develop 杂志上所说:“玩家可以 360 度观看周围的一切,这时音频细节的设计对打造沉浸式体验来说就非常关键”(4),“假如音频整合不当,很容易会损害 VR 体验”(5)。

对于前一种情况,振动效果并非必不可少,但少了它爆炸场景会不够震撼。对于 VR 来说,假如我们将以上引述中的“音频”替换为“振动”,我觉得同样是对的。拙劣的设计可能会钳制其他感官元素,并对游戏体验造成损害。相反,出色的设计则可以进一步增强沉浸感。

微小细节的设计可能会对游戏品质带来巨大的影响。当然,视觉元素仍优先于听觉元素,而听觉元素又优先于触觉元素。但是,我们应该都明白“只要在玩游戏的时候静音几秒钟,就会发现声音对营造沉浸体验有多么重要”(6)。那么,为何不考虑触觉反馈呢?

简而言之,就是触觉比听觉更加简单粗暴。一方面我们很难精确地控制振动效果,另一方面又要把它做得比音频还精巧。不过随着技术的不断发展,应该可以慢慢提升电子游戏中触觉反馈的精细程度。

Wwise 运用

在很早的时候,Audiokinetic 就意识到在声音设计管线中加入触觉反馈是可行的(7)。起初,我们只支持为现有声音增添振动效果。后来,我们又添加了单独的 Motion FX(振动效果)和 Motion Bus 对象,允许声音设计师在不使用声音的情况下直接合成振动效果。这需要用到 Motion Generator 插件,但设计流程跟音频并无二致。

在 Wwise 2017.2 中,我们弃用了这些单独的对象,进一步简化了振动设计工作流程。通过直接更改 Audio Device(音频设备),现在可以将任意 Audio Bus(音频总线)设为 Motion Bus,而且还可通过将 Sound SFX(音效)对象发送到 Motion Bus 来输出振动效果。

但是,针对插件的平台特定设置仍需进一步优化。为此,我们在 2018.1 中推出了 Wwise Motion Source。

设置插件

Wwise Motion Source 是一款付费插件。从名称不难看出,它的作用就是将 Sound SFX 的音频源替换为振动源。该插件会随 Wwise 预先安装;不过,虽然可以在设计工具中随意使用(8),但必须获取授权才能用到游戏中(9)。即便只是构建包含该插件的 SoundBank(音频包),也需要获取授权。

为了能在游戏中使用 Wwise Motion Source,还需在 Wwise 声音引擎中集成 Wwise Motion 插件(10)。请按照 SDK 文档中的集成 Wwise Motion 页面所述来让音频程序员进行相应的设置。

注意,Wwise Motion 插件“可被视为声音引擎和振动设备之间的连接纽带”(11)。它预定义了对不同游戏控制器和平台的支持。对大部分用户来说,这就足够了。不过,Wwise 设计得很灵活。它还可以支持很多不常用的控制器和平台,方便有想法的音频程序员根据需要自行定义振动插件。

即便是 Wwise Motion 插件中定义的标准控制器之间也是存在差异的。比如,Xbox One 手柄配有触发器促动器,PS4 控制器就没有。只要你开过一枪,估计就会被前者有力的枪击振动深深地吸引。另外,其强劲的后坐力同样可能会给你留下深刻的印象。无论是配有低音喇叭的全方位环绕声系统还是单纯的立体声输出,枪声都会让你联想到在游戏中的操作。不过,跟一般的控制器振动效果相比,如果在触发器的振动效果上加入后坐力,应该会产生更加真切的心理联想。假如你的控制器上没有触发器促动器,估计根本就不会想要在开火时添加振动效果。不过,在被击中时只需要应用普通的振动效果就可以了,没必要添加特定于触发器的振动效果。

Wwise Motion Source 兼容的控制器和平台有很多。为了确保工程正常运行,最好在前期测试所作设置。接下来,我们以在 Windows 上使用 Xbox 360 控制器为例简要说明(12),阐述如何直接在 Wwise 设计工具中测试相关设置。


  • 打开新的 Wwise 2018.1 工程(13)。
  • 将以下五个支持 Wwise Motion 的基础平台全部添加进去:Windows、Android、PS4、Switch 和 Xbox One(14) – 在本例中并不重要,但后面例子中会用到。
  • 仅添加 Motion Presets 素材。

Picture1

  • 单击 OK(确定)。
  • 关闭 License Manager(授权管理器)(15)。
  • 创建 Sound SFX 对象。我将其命名为 Motion Test。
  • 在 Motion Test - Sound Property Editor(Motion Test - 声音属性编辑器)中,将 Output Bus(输出总线)改为 Motion Factory Bus,其已设为使用 Default_Motion_Device 作为 Audio Device。

Picture2

  • 在 Motion Test - Contents Editor(Motion Test - 内容编辑器)中,添加 Motion Source(16)。我将其命名为 Motion Source Test。

Picture3

  • 双击 Motion Source Test,以此显示对应的 Source Editor(源编辑器)。
  • 我们知道 Xbox 360 控制器配有两个促动器,所以在此将 Actuator Configuration(促动器配置)设为 2 Channel(2 声道)。此时,可以看到 Channel 1(声道 1)和 Chanel 2(声道 2 )激活了 Driver(驱动器)列表。
  • 因为 Driver A(驱动器 A)默认应用 RTPC 曲线,所以我们分别将 Channel 1 和 Channel 2 设为 Driver B(驱动器 B)和 Driver C(驱动器 C),以便生成不同的振动效果。

Picture4

  • 将游戏控制器拿在手中并按下空格键,以便在 Transport Control 中播放 Motion Test。因为两个 Driver 的 Value(值)都还是 0,所以应该什么也不会发生。
  • 将 Driver B 对应的 Value 字段设为 1
  • 将游戏控制器拿在手中并按下空格键,以便在 Transport Control 中播放 Motion Test。此时,应会感受到强劲而短促的振动效果(17)。这时触发的是 Xbox 360 控制器的低频促动器。
  • 将 Driver B 对应的 Value 字段恢复为 0。然后,将 Driver C 对应的 Value 字段设为 1

Picture5

  • 将游戏控制器拿在手中并按下空格键,以便在 Transport Control 中播放 Motion Test。此时,应会感受到微弱而短促的旋转效果。这时触发的是 Xbox 360 控制器的高频促动器。

事实上,我们可以按照同样的流程来测试其他游戏控制器或振动设备的 Actuator Configuration。当然,假如要测试配有更多促动器的控制器(如 Switch 和 Xbox One),必须远程连接游戏或者为这些平台进行相应设置才行。在下面的例子中,我们知道 Wwise Motion 会针对每个支持的设备转换对应的驱动器值,所以我们选择使用预定义的 Actuator Configuration。它们被设置成了应用于名称相同的各个平台,当然我们并没有办法在设计工具中进行全面测试。另外,我们还将利用平台链接功能针对平台特性应用不同的振动设计。

通过音频创建振动效果

可以说,在 Wwise 中通过音频创建振动效果会比我们前面针对 Wwise Motion Source 的简单测试更加容易。

  • 在 Wwise 中创建 Sound SFX。我将其命名为 Motion from Audio。
  • 导入一个长度较短但音量较大的源文件。在此,我选择使用 Wwise Integration Demo 中的枪声文件。

Picture6

  • 返回 Master-Mixer Hierarchy(Master-Mixer 层级结构),并在 Motion Factory Bus 下创建新的 Auxiliary Bus(辅助总线)。我将其命名为 Motion_Aux。

Picture7

  • 返回 Motion from Audio - Property Editor(Motion from Audio - 属性编辑器),并将 Motion_Aux 添加为 User-Defined Auxiliary Send(用户定义的辅助发送)。

Picture8

  • 将游戏控制器拿在手中,开启声音输出并按下空格键,以便在 Transport Control 中播放 Motion from Audio。此时,应该可以听到枪声并随之感受到强劲的振动效果。就这么简单!

对振动效果不满意?想要增加强一点力度?还是稍微减弱一点?为此,可在 Motion_Aux Auxiliary Bus 中调整 Volume(音量)。另外,还可根据需要来调节其他声音属性。比如,更改 Volume 或 Pitch(音高)、添加 HPF 或 Effect(效果器),或者根据声音设计要求灵活设置所要输出的振动效果。如此一来,便可随着声音触发想要的振动效果。

遗憾的是,凭借现在的硬件,在振动端可能感觉不出有多大分别。不妨设想一下或者干脆试试将 Motion from Audio 枪声源文件替换为音乐或语音源文件,比如美妙的古典奏鸣曲或动人的演说。然后,就会发现根本没法按照预期方式输出振动效果。因此,为了达到更好的控制效果,目前最好使用振动专用音效。

通过振动对象触发振动效果

在前面有关振动的简单测试中,我们见识了创建振动专用音效有多么容易。接下来,我们看一看更加详细的振动特定设计。按照之前“易于使用”的思路,我们将使用现成的 Motion Asset(振动素材)来阐释相关设计理念,以便为将来制作振动效果打好基础。马上就要完成振动设计?打个比方,在交付游戏之前项目经理突然说:“哦,对了,我们要为这 1,0000 个对象创建一些振动效果”(当然,这在现实中是不可能发生的事情,我们只是做个假设而已 pp,550x550.u1 )。这时你会惊喜地发现 Motion Asset 有多好用,它能帮你节省大量的时间。

转到 Project Explorer(工程资源管理器),并打开 Factory Motion Work Unit(18)。在此,可以看到各种 Sound SFX 对象被分门别类地放在了不同的 Virtual Folder(虚拟文件夹)中。各个虚拟文件夹对应适用于不同场景的控制器和平台特定设置。这些场景经常会在游戏中出现,并且可能会用到振动效果。

Picture9

接下来,我们挑几个重点说说其所关联的 RTPC 曲线和平台特定差异。

Loop Moderate

  • 依次转到 Basic > Basic Loop Virtual Folder,并在 Property Editor 中加载 Loop Moderate Sound SFX。
  • 在 Contents Editor 中,双击 Wwise Motion Source 将其加载到 Source Editor 中。
  • 在 Wwise 工具栏的 Platform Selector(平台选择器)中,选择 Switch

在 Source Editor 的 Effects(效果器)选项卡中,可以看到选定的 Actuator Configuration(即 Switch 4 Channel)特定于当前所选平台(即 Switch),并且四个促动器全都指派给了 Driver A 和 Driver B(19)。

Picture10

在 Internal Driver Channels(内部驱动器声道)分组框内,可以看到 Driver A 设为了 0 且未应用 RTPC。也就是说,此驱动器对应的促动器不会生成任何振动效果,这样可以避免触发 Switch 的高频促动器。因为它频率太高、力度太轻,可能无法产生想要的触觉效果。相反,假如选中其他平台,就会看到使用了高频促动器,而静音了低频促动器。因为高频会更符合想要达到的感官体验效果。

另外,还可以看到 Driver B 专门针对 Switch 偏置了 0.05。这是因为 Switch 的 Low Frequency(低频)促动器比其他平台的 High Frequency(高频)促动器还要弱一些。而且,这种偏置便于为所有平台统一应用一条曲线,在一定程度上保证不同控制器之间的一致性。因此,在使用 Motion Asset 或自行定义设置时,必须留意 Link(链接)标志,弄清是要将所做更改应用于工程中的所有平台(链接状态)还是只应用于当前所选平台(取消链接状态)(20)。

在平台对应链接标志旁边有一个 RTPC 标志,其当前颜色表示为 Driver B 应用了 RTPC 曲线。下面我们转到 RTPC 选项卡,来查看下这条曲线。

 Picture11


在此,可以看到这是一条简单的平直曲线,表示在 Time Modulator(时间调制器)设定的固定时段 (X Axis) 内将输出恒定的振动信号 (Y Axis)。双击 Time Modulator 可在 Modulator Editor(调制器编辑器)中查看相应设置。在此,可以看到这条曲线的 Loop Count(循环次数)实际上设成了 Infinite(无限)。另外,还可看到它将由 Event(事件)触发,因此在 Event 停止后才会停止。

利用这种设置,我们可以在游戏关卡中模拟玩家靠近发电机或被持续发出低沉嗡嗡声的机器环绕的情境。

Oscillation

  • 转到 Complex Virtual Folder,并在 Property Editor 中加载 Oscillation Sound SFX。
  • 在 Contents Editor 中,双击 Wwise Motion Source 将其加载到 Source Editor 中。
  • 在 Wwise 工具栏的 Platform Selector 中,选择 PS4

 

在 Source Editor 的 Effects 选项卡中,可以看到 Actuator Configuration(即 PS4 2 Channel)特定于当前所选平台(即 PS4)。其中,Low Frequency 和 High Frequency 促动器分别指派给了 Driver E 和 Driver F。另外,为了适当增强 PS4 的 High Frequency 促动器的力度,我们还为其应用了少量偏置。

Picture10-1

在 Internal Driver Channels 内,可以清楚地看到有七个驱动器应用了 RTPC。为此,下面我们转到 RTPC 选项卡。

Picture13

显然,此振动素材要比 Loop Moderate 更为复杂;它使用了七个不同的驱动器和四条曲线,但只有两个驱动器跟当前所选平台相关。我们可以针对 PS4 分别突出显示 Driver E 和 Driver F,以便查看其各自对应的曲线(21)。不过,曲线背后的设计理念对所有平台来说都是一样的,那就是产生一种旋转运动的振荡感。

在从左向右转移时,振动效果会逐渐交叠过渡;对于四声道控制器,从左下依次向左上、右上、右下转移时,传递到手部的感觉就像转动水管门阀一样。另外,它还可以用来产生一种比较抽象的振荡感,就像杂物在龙卷风周围回旋或者花滑运动员完成四周跳一样。不过,至少在后一种情况中,我们可能会考虑限制令人眩目的旋转,以免在花滑运动员重重摔落冰面时产生另一种振动反馈。

Off-Road Dirt

  • 依次转到 Context > Vehicle Virtual Folder,并在 Property Editor 中加载 Off-Road Dirt Sound SFX。
  • 在 Contents Editor 中,双击 Wwise Motion Source 将其加载到 Source Editor 中。
  • 在 Wwise 工具栏的 Platform Selector 中,选择 Xbox One

在 Source Editor 的 Effects 选项卡中,可以看到 Actuator Configuration(即 Xbox One 4 Channel)特定于当前所选平台(即 Xbox One)。其中,Low Frequency 和 High Frequency 促动器分别指派给了 Driver A 和 Driver B,并关联有 RTPC;Left Trigger(左侧触发器)和 Right Trigger(右侧触发器)促动器分别指派给了 Driver C 和 Driver D,但没有应用任何 RTPC、State(状态)或偏置。

Picture14

假如只是为了产生泥地越野的感觉,我们可能并不需要为触发器应用任何设置,尤其是在没有真正手握方向盘的情况下。不过,你当然可以选择利用这些素材自行构建振动对象,甚至直接对它们进行编辑。可能你是想为玩家提供更加直接的反馈。比方说,假如游戏引擎被设成通过触发器控制汽车转向,那可能就需要驱动器稍微振动一下;或者,你只想在改变行驶方向时相应地在触发器上生成振动效果。比方说,假如将触发器定义成刹车、油门或离合,就可以采用类似方式在触发器生成相应的振动效果。

Picture15

在 RTPC 选项卡中,我们发现 Off-Road Dirt Sound SFX 跟前面的例子略有不同。虽然它只有两个关联的驱动器,但实际却有三条单独的曲线。这是因为我们同时为 Driver A 应用了 Time Modulator 和 LFO Modulator。Driver A 和 Driver B 所应用的 Time Modulator 都是低强度平直线(无限循环),而 Driver A 所应用的 LFO Modulator 可以打开并显示各种设置,比如 Depth Variance(深度方差)最高 85% 的 Random(随机)变化。

最终,Driver B 会生成连续的高频振动,表示发动机平稳运行的情形;Driver A 会生成低频振动,模拟车轮碾过泥地的颠簸效果。当然,关键在于路面不平的情况下振动效果不应该是一成不变的。因此,LFO Modulator 变化莫测的轻微振动更符合想要的沉浸体验效果。

创建 Event

那么,如何播放这些振动对象呢?答案是方式跟音频对象相同:调用 Event。在此,我就不细说如何做到这一点了,因为它跟振动效果没有直接关系。不过,为了完整地诠释示例,我们还是转到 Project Explorer 的 Events(事件)选项卡来看一下。


  • 选中 Default Work Unit(默认工作单元)。
  • 使用快捷菜单新建一个 Play Event。我将其命名为 Play_offroad_dirt。稍后你会明白我为什么这样命名。
  • 在 Event Editor(事件编辑器)中,从 Play_offroad_dirt Event 对应的 Target(目标)字段转到前面所说的 Motion Asset:Off-Road Dirt。
Picture16

现在,我们便创建了一个可以调用的 Event,可以通过它来启动振动对象。当然,因为这个振动对象刚好包含无限循环,所以还需按照相同的方式创建关联的 Stop Event。就跟通过调用 Play Event 启动振动对象一样,我们可以通过调用 Stop Event 停止振动对象。

Event 通常可以同时用来播放音频和振动效果。与通过音频创建振动效果相比,单独结合音频定义振动对象的最大优势是可以摆脱前面提到的限制。通过播放动人的演说并配合 Motion Source RTPC,我们可以突出所要表达的重点。这样既可传达语气的变化及暗含的情绪,也可单纯地在关键点稍加辅助。

Game Parameters

当然,正如音频一样,总要调用 Play Event 估计也不太好。对此,我们可以将振动对象直接绑定到相应的游戏参数。为此,可在 Wwise 定义的 Game Parameter(游戏参数)和游戏中的实际参数之间建立联系。

另一个 Motion Asset(即 Context > Vehicle Virtual Folder 中的Parametrized RPM)显示可将 Motion Source 驱动器映射到 Game Parameter。这没什么好奇怪的,因为我们经常会结合 Wwise Game Parameter 对象使用 RTPC(22)。

Picture17

因为 RPM Game Parameter 值映射到了游戏内的对应属性,所以每次游戏返回值为 75 时,Driver A 曲线就会返回一个略大于 0.4 的值,Driver B 则会返回大约为 0.15 的值,以此类推…

要避免的错误

虽然有那么多的 Motion Asset,而且很容易创建并应用到游戏中,但在此我要告诫振动设计师一点:千万注意不要在 Wwise 中过度使用。就算有四个或更多促动器,也没必要全都用上。记住,振动效果比音频更加精巧。所以,一定要慎重衡量振动效果的效用。想想真的在每种情况下都需要吗?

另外还有一点很重要,就是不要把目光局限于个案。有些振动效果可能对某个对象来说很适合,而且对其他好多对象来说也不错,但要是全部同时播放呢?假设有上百个振动对象单独挑出来都很适合,那么同时播放是否也会如此呢?对于音频来说,我们的大脑会适当滤除环境噪音,并专注于音量较大、较为相关的声音。与之相比,哪怕只是同时播放两到三种振动效果,都可能会给硬件带来很大负担。最终估计会跟前面 Motion from audio 示例中通过古典音乐输出振动效果的情形差不多,很难达到想要的结果。

除此之外,关键问题在于很多人在振动设计中投入的时间以及思考实在太少了。不可否认,在交期较紧的情况下,工作可能会很繁重。但是,要想把事情做好,就必须事先做好规划,并通过实验加以验证。



未来发展前景

在电子游戏等项目的未来开发中,触觉反馈还有很大的发展空间。现在就有很多研究人员在探索各种不同的用途。比如,有一项研究评估了配有 16 个音圈的座椅。这些音圈从上背附近一直排列到两条大腿外侧,用来作为多模态感官输出,以便失聪或有听力障碍的人坐在座椅上时能够通过触觉方式来感受音乐,并产生预期情绪反应(23)。

抛开纯粹的研究领域不说,只说坐在 D-Box 座椅上,借助其给 Wwise 提供触觉反馈难道不够神奇吗?将来没准儿我们还会看到好玩有趣的触觉反馈背心。试想一下,在格斗游戏中被踢到胸口时,它将会给你带来更加真切的感受。目前,我们正在积极地跟业内各大开发商探讨这方面的设计。

无论将来科技如何发展,都将帮助我们进一步增强沉浸感。尤其是在 VR 和AR 领域,振动设计可能会得到广泛的应用。

Wwise 已在推进振动设计

您可能已经注意到了,Wwise 允许指派八个促动器,但我们目前的 Actuator Configuration 最多只支持四个。这跟现有控制器的功能局限性有直接关系。不过将来有需要的话,我们可以轻松支持另外四个。我们没法预料科技的发展方向和速度,但保证会做好满足这方面需求的准备。

基本框架是不变的

无论将来触觉反馈技术会取得怎样的行业发展,或者 Wwise Motion 会随之做出怎样的改进,我们前面针对振动效果提出的基本框架是不变的。当然,我们可以通过很多方式来实现振动效果。为了达到想要的结果,往往需要通过实验加以验证。我们的 Preset(预设)可以让这一工作变得更加轻松,不过用户尽可根据自身需要灵活地进行调整。

一篇博文所能表达的内容实在有限,无论怎么限定范围,在此我也只能简单说说如何运用振动效果。不过,我希望各位能通过这篇短文认识到为何在 Wwise 内振动设计跟声音设计一样重要。另外,我希望自己已经讲清,一定要根据具体情况灵活地进行设计。总之,希望各位明白振动和音频之间的联系有多么紧密,并且能对这一仍在不断完善的新兴技术有一个全新的认识。我们不仅要为未来创新做好准备,还要积极地推动相关技术的发展。

Screen Shot 2017-12-14 at 5.24.24 PM.png1. Sega’s arcade racing game Moto-Cross introduced haptic feedback in 1976. “Fonz (video game)”. Wikipedia. 摘自 https://en.wikipedia.org/wiki/Fonz_(video_game)(2018 年 10 月 2 日)。
2. Ng, Annie W.Y. and Chan, H.S. (2012). Finger Response Times to Visual, Auditory and Tactile Modality Stimuli. Proceedings of the International MultiConference of Engineers and Computer Scientists 2012 Vol II. Hong Kong. 摘自 http://www.iaeng.org/publication/IMECS2012/IMECS2012_pp1449-1454.pdf。 
3. Moreno, Maggie and Weddle, Amaya Becvar. (2013). The Value of Multimodal Feedback in Automotive User Interfaces Literature Review.(pp 8-9). 摘自 https://pdfs.semanticscholar.org/0842/de0cd6cf8b6747d438a4bd9006e255229453.pdf
4. “Sound Advice”. Develop 176. October 2016. p.44.
5. Ibid p.43.
6. GameDesigning.org. “Video Game Sound Design 101”. 27 May 2018. 摘自 https://www.gamedesigning.org/learn/video-game-sound/(2018 年 10 月 2 日)。
7. 我们在 Wwise 2008.2.1 中就已开始支持振动效果。
8. 遗憾的是,这只适用于 Windows。
9. 插件 (https://www.audiokinetic.com/zh/products/plug-ins/motion/)。注意:Wwise Motion 授权涵盖原来的 Wwise Motion Generator 和现在的 Wwise Motion Source 插件。
10.Wwise Motion 插件相当于 Project Explorer 中 ShareSets 选项卡内的 Wwise Motion Audio Device。
11.Wwise SDK 文档:集成 Wwise Motion。摘自 https://www.audiokinetic.com/zh/library/edge/?source=SDK&id=integrating__elements__motion.html
12. 正如 SDK 文档的已知问题和限制中所述:“振动效果器并不能在 Wwise 设计工具中启动触发器电机 (默认的和Xbox one)。只有在电脑上通过 UWP 应用程序才能启动”。如果要在设计工具内启动,建议使用 Xbox 360 控制器。
13. 您可以选择使用现有工程;从头开始创建只是为了便于说明示例。另外,请注意 2018.1.2 针对平台特定设置更新了 Wwise Motion Presets。您仍可在 2018.1.0 和 2018.1.1 中使用 Wwise Motion Source,但建议更新至 2018.1.2 或更高版本。
14. 有关 Wwise Motion 支持的设备列表,请参阅 SDK 文档
15.您可以选择应用有效授权。不过,在本例中并不需要。
16. 对于 Plug-in License Agreement,必须单击 OK。请放心,像这样不会发布的工程,没有授权也没关系。
17. 假如没有感受到振动效果,请仔细确认是否正确执行了所述步骤。如果还感受不到振动效果,请检查有没有将所用控制器正确连接到电脑。考虑到部分电脑的前置 USB 端口无法充分供电,最好将控制器连接到后置 USB 端口。
18. 假如既未沿用新建的工程也没选择 Motion Asset,可通过 Project 菜单打开 Import Factory Assets 对话框来快速添加,然后先启用 Motion Presets 再单击 Import。
19. 正如前文所述,Wwise 引擎端的 Wwise Motion 插件为已知平台设有预定义配置,另外还为其他或尚未命名的平台专门设有三种匿名配置。您所在的团队可以选择自行定义振动插件,并尝试采用不同的配置来支持新的硬件。
20.有关如何在平台之间链接和取消链接属性的详细信息,请参阅 Wwise Help 的从平台中弃用工程元素页面。
21. 为了表明不同驱动器的用途,我们在最右侧添加了 Notes 列,方便查看哪些驱动器适用于当前所选平台。
22. 有关如何使用 Game Parameter 的详细信息,请参阅 Wwise Help 的管理 RTPC 中使用的 Game Parameter 及相关子页面。
23. Karam, Maria & Russo, Frank & Fels, Deborah. (2009). Designing the Model Human Cochlea: An Ambient Crossmodal Audio-Tactile Display. Haptics, IEEE Transactions on. 2. 160-169. 10.1109/TOH.2009.32.
 

马克西米连·西马德·波里尔 (Maximilien Simard Poirier)

声音设计师/开发者关系

Audiokinetic

马克西米连·西马德·波里尔 (Maximilien Simard Poirier)

声音设计师/开发者关系

Audiokinetic

马克西米连·西马德·波里尔 (Maximilien Simard Poirier) 是一个对游戏和 VR 充满热情的互动音频设计师。他目前在 Audiokinetic 蒙特利尔总部担任专职声音设计师职位。马克斯持有蒙特利尔大学数字音乐专业学士学位,他在工作当中参与制作过很多项目。其中包括:《Time Machine VR》、手游佳作《Pewdiepie’s Tuber Simulator》以及《Resident Evil VII》配乐等一系列出色作品。作为一名热衷于音乐和游戏的音频设计师,马克斯一直致力于利用互动媒体突破创新,并积极分享自身知识和经验,主动为游戏音频社区其他成员提供帮助。马克斯经常发表有关游戏音频和虚拟现实的演讲。最近发言场合包括:Montreal ComicCon、Symposium IX、Montreal International Games Summit (MIGS)、Concordia University 以及 University of Montreal。

 @maxspsound

评论

留下回复

您的电子邮件地址将不会被公布。

更多文章

怎样控制声部 - 优化CPU(PART 1)

对于任何项目,在开发过程中遇到性能问题都是很常见的。问题原因可能多种多样,但大部分情况下都和同时播放的声音数目直接相关。虚声部(Virtual Voice)只计算音量,而实声部(Physical...

16.11.2017 - 作者:马修.让(MATHIEU JEAN)

关于音频复用和高效利用的几点经验分享

大家好,“如何对音频资源做有节制、更高效的利用”,应该是大家工作中都会考虑的问题。...

30.12.2019 - 作者:胡正伟

为 Wwise 2021.1 构建插件 | 第 1 部分:背景和目标

大家可能不知道,Wwise 生态系统其实具有很强的可扩展性。有时,各公司要为其项目构建定制的插件,供应商会将自研插件迁移到 Wwise。对此,我们必然要提供相应的支持。新的 Wwise...

27.9.2021 - 作者:米歇尔•多奈斯 (Michel Donais)

在现实当中运用 Wwise 制作互动音乐

前段时间,我决定对互动音频展开更加深入的研究。为此,我想创建一个跟工作相关的工程。希望既充满乐趣,又具有指导意义。不仅可以避免枯燥,还能提升自身技能。...

19.10.2021 - 作者:雷莎•施沃德 (Ressa Schwarzwald)

在 Wwise 和 Unity 中构建对白 | 叙事音频

9.12.2021 - 作者:杰克•盖米林 (Jake Gamelin)

Wwise Audio Lab (WAL) 配套更新

Wwise Audio Lab (WAL) 是一个采用 Unreal Engine 4 开发的类似游戏的 3D 开源环境,其可通过 Wwise Launcher 进行下载。在 WAL 中,用户可对...

27.4.2022 - 作者:戴米安·卡斯特鲍尔(Damian Kastbauer)

更多文章

怎样控制声部 - 优化CPU(PART 1)

对于任何项目,在开发过程中遇到性能问题都是很常见的。问题原因可能多种多样,但大部分情况下都和同时播放的声音数目直接相关。虚声部(Virtual Voice)只计算音量,而实声部(Physical...

关于音频复用和高效利用的几点经验分享

大家好,“如何对音频资源做有节制、更高效的利用”,应该是大家工作中都会考虑的问题。...

为 Wwise 2021.1 构建插件 | 第 1 部分:背景和目标

大家可能不知道,Wwise 生态系统其实具有很强的可扩展性。有时,各公司要为其项目构建定制的插件,供应商会将自研插件迁移到 Wwise。对此,我们必然要提供相应的支持。新的 Wwise...