愚(鱼)人节到啦!CRI鱼人语制作小讲堂开班!

本文作者分享了一次趣味性的技术实践,即制作一个鱼人语发音器。通过研究《简明鱼人语教程》,作者利用Adx2创建音频工程,模拟鱼人语的“叽里咕噜”感。在UE4中,通过蓝图宏和延迟函数实现了字符到声音的转换,生成了初步的鱼人语发音。提供的工程文件可供进一步完善和探索。
摘要由CSDN通过智能技术生成

在这里插入图片描述

不知道有多少人还记得,曾经被鱼人支配的恐惧。
曾经被鱼人们按在地上摩擦的笔者在今年的愚鱼人节到来之际,有了一个大胆的想法:如果我要是能整一个鱼人语的发音器,那不就……嘿嘿嘿嘿?

首先我们查阅鱼人语字典:

来源:三体的《简明鱼人语教程》来源:三体的《简明鱼人语教程》
来源:三体的《简明鱼人语教程》来源:三体的《简明鱼人语教程》

查阅字典我们发现,鱼人语的发音以翘舌音为主,所以我们听上去就会有一种“叽里咕噜”含混不清的感觉。

因此,在“发音器”制作的时候,笔者选择将各种字母音符修饰成类似翘舌音的“呜呜”声,此外,增加一个发“wu”声音的“stop”音节作为结尾,以此大致模拟鱼人语中的“叽里咕噜”感。

另外,有些例如k和q这种发音十分接近的字符单位,图省事儿的话使用一个音频文件做对应就好了,反正听不出来。


创建音频工程

前期的准备工作基本完成,动手开搞!

笔者在这里选择了创建一个包含每个音素于不同track中的选择器 cue。因为这既可以使我们的工程布局变得更直观,又可以通过复制cue并更换音频素材的方式来快速实验新的音素组合(兽人:阿嚏)。

我们接下来在Adx2中:



        创建一个名为“phoneme selector”的选择器

              创建26个选择器标签,并按照字母表依次排序。

              创建一个命名为“stop”的标签

       创建一个复音cue,命名为”Gibberish”

              将所有素材拖至cue中

              在每个音轨上设置标签,例如在Track_phone_d 标签d

              在Gibberish中选中默认标签 “stop”

       生成二进制文件并导入UE4

在UE4中的操作

有了ADX2设置并导入了相关的构建文件,我们可以开始创建播放系统。我们依次进行以下步骤:


将字符串分解为单个字符组成的阵列

创建循环并逐一运行

播放相应声音

在播放下一个声音前生成延迟

虚幻引擎蓝图模式下默认的循环函数中是没有延迟参数的,所以在这里我们需要添加此项。

在内容管理器中,右键蓝图-蓝图宏,并将此命名为“loop with delay”。我们继续打开它,并将宏本身重命名为“loop with delay”。该名称将取决此宏在其他蓝图中如何被引用。

接下来,我们创建一个叫“for each loop” 节点。双击以将其打开,然后将所有内容复制到带有“loop with delay”的宏中。

接下来,我们需要复制输入和输出设置来重复设置“for each loop”,我们还要在延迟中增加一个浮点输入。

最后,我们在循环中插入一个Delay函数,并将其与我们的延迟输入float链接起来。

在这里插入图片描述

对于实际的生成器,我们在内容浏览器中,右键单击→蓝图类→Actor,并将其命名为“ BP_GibberishGenerator”(BravePeople的胡话生成器哈哈哈)。我们需要两个变量——一个是叫“ Delay Amount”的浮点数和另一个叫“ Input String”的字符串。

此时,在需要讲鱼人语的时候(此处就是事件BeginPlay),我们就可以使用“从字符串获取字符数组”来创建要循环通过的字符数组,从而触发loop with delay 函数,讲出一口流利的鱼人语胡话。

在这里插入图片描述

我们首先会检查输入的字符是否为空格(下面的布尔值虽然看起来是空的,但是已经指定了空格),在这种情况下,它不会播放声音并插入一个短暂的延迟。

接下来,我们检查它是逗号还是句号。无论哪种情况,结果都与以前相似,不播放任何声音,只是停顿了更长的时间。为了调控语音的节奏,我们需要在循环主体的开头放置一个Set Delay Amount函数,此处先将它设成0.1,具体参数可以根据需要具体调整。

在其他情况下,我们将播放 “gibberish” cue,并将“选择器标签”设置为相应的字母。如果播放中遇到了未被定义的字符,“stop”标签会被直接选中。


一顿操作之后,笔者最终得到了以下产物:

ml wam gawa grrrlgawmg!

好像有点内味儿了?由于笔者还急着赶去参加鱼人节派对,具体的细化工作就交给大家来继续完成了!

笔者也在此提供了声音工程和素材文件,希望大家可以做出更逼真的鱼人语!

您可以在此获取本案例工程:

链接:https://pan.baidu.com/s/1_GmpGetWGYDfZ0RPbSW-AQ

提取码:ADX2

本工程由CRI Atom Craft Ver.3.44.13 及 UE4.25制作


参考文献
[1] 《简明鱼人语教程》,作者:帅到掉渣的巨魔战士三体

在这里插入图片描述
Ringo酱:本文作者去参加鱼人派对,由于生成器效果过于粗糙,又被鱼人们按着爆锤了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值