录音/制作/创作 吉他 扩声技术 视频技术 作品展示 生活 信息 更多... | 音频应用专卖店

怎样用程序的思路实现游戏视频的音频

( 15 )
12
 
[收藏]
-  第 1 页  -

131
#1 17-8-24 17:03

怎样用程序的思路实现游戏视频的音频

我们知道,给画面做音频时,是把视频文件导入DAW,然后根据画面逐秒来制作音频,最后导出一轨,与画面同时播放来实现音画同步。这也是目前影视和游戏行业主要的制作方法,但在游戏行业中,会遇到一些问题:
1、假如玩家网络不太好,在看视频时,画面卡了几秒,然后再继续播放,如果你此时音频输出是一条整轨的话,那么音频后面会跟画面不同步。
2、假如一个游戏有100条动画,而且大部分音乐、音效是可以重复使用的,如果你此时还输出一条整轨的话,就必须输出100条音轨,那么容量势必很大。
3、你知道的,画面改动可能性非常大,剧本、分镜、动态制作这每一个环节都有可能引起画面改动,你做音频随时会跟着改。
    所以我们用拆分的思路来做音频。
首先,程序需要什么参数:


表一 上张表中,程序需要知道clip namestart timeend time。即播什么、什么时候播、什么时候停止,这里的event,可以理解一个独立制作好的样本。   



131
#2 17-8-24 17:04

其次,程序怎样实现音画同步:
给出每个event的起始和停止时间,在播放画面的同时,根据timecode实现音画同步。这里多讲一句,由于视频跟音频存在一样的问题(网络卡、容量更大),所以程序也可以将视频拆分成图片来实现,思路跟音频类似。

接下来就要把我们输出一轨的形式转换成程序需要单个event的方法,用Pro tools来操作。
1、与传统制作方式一样,该做什么就做什么...
图一



2、我们知道,制作音效(这里指event)是由很多层(layer)的素材来叠加完成的,所以我们需要先分类再合并,可以大致分成六大类并制定命名规则:
音乐类:music_001
场景类:amb_001
脚步类:footstep_001
动作、物理碰撞、拟音类:sfx_001
特效元素类:sp_001
语音:vo_001
后面的编号可以以此类推,如果多人同时做可以用编号分段方法。像上面命名的event,这才是程序需要的。
3、合并:制定好命名规则后,可以建立6轨event轨,并把相同类型的layer录制成为一个event,此时的event也要与视频对好位置,后面输出需要知道该event的起始时间和结束时间。这个也是程序需要的。

131
#3 17-8-24 17:05
4、建立markers的作用。
   有时,我们同时做10个画面的音频,你又不想每个画面建立工程,因为有的很短,有的画面相似度很高,所以你会在同一个工程里做。那么问题来了,程序怎么知道第10个画面的起始时间呢?可以在pro tools上观看,但程序需要一个输出时间的表。
   我们可以在每个画面建立marker,并输出给程序,如下图
表二
程序怎样播放第10个画面音频:
先找到第10个画面的时间区间,然后在表一内查询event的时间段,所有在该区间内的都算该画面里的音频。
5、timestamps有什么用。
   假如有一段1分钟的音乐,但我在某个画面只用到一中间的一段,而我最终输出是和整条音乐(前面讲过复用性和容量问题)。前面也说过,程序只知道播什么,什么时候播,可没有说播什么里的某一段...所以我们还要知道该段与原始文件的关系,这时用timestamps解决。表一中程序根据timestamps来算偏差,即可知道播放某段,且程序是可以播放一条音轨的任意位置。
6、混音
   从程序角度,pro tools也是不同轨最后混合在一起,用拆分方式其实也是一样的。从制作游戏音效就可以理解,最后也是很多不同的样本组合在一起,当初也不是一轨音效给你做好...如果能用FMOD就更好了,唯一的缺点可能是比较多的测试。

最后:做游戏音频一定要先与程序沟通,先知道实现方法,再来确定制作思路,不然你白做了。

131
#4 17-8-24 17:06
不能贴图片太难过了,有兴趣可以去我的知乎上看这个带图的:https://zhuanlan.zhihu.com/p/28463653

1581
#5 17-8-24 17:30
关键是要用音频引擎来做

131
#6 17-8-24 17:32
dsynoiz 发表于 17-8-24 17:30
关键是要用音频引擎来做

音频引擎在后面解决一部分混音的问题,像前面说的几条跟他没关系的。

131
#7 17-8-24 17:42
估计很多第一眼看到程序、音频,然后自然想到FMOD这些。我说的不是这个,是视频的音频,主要讨论音画同步问题。

200
#8 17-8-24 18:58
先收藏了

18
#9 17-8-28 14:58
你是想用脚本来控制音频的播放吗?然后最终让AI来替代我们进行音频制作吗?完了完了 我的饭碗要不保了

131
#10 17-8-29 11:45
ASAP 发表于 17-8-28 14:58
你是想用脚本来控制音频的播放吗?然后最终让AI来替代我们进行音频制作吗?完了完了 我的饭碗要不保了

是用脚本来实现播放的,AI制作音频还没那么夸张吧。你是音频程序员吗。

18
#11 17-8-29 13:57
不 我只是一个在角落里瑟瑟发抖 担心某天被AI替代的肉体音频制作者 害怕.jpg

131
#12 17-8-30 11:24
ASAP 发表于 17-8-29 13:57
不 我只是一个在角落里瑟瑟发抖 担心某天被AI替代的肉体音频制作者 害怕.jpg

不用担心,音频制作属于稀缺人才。。

119
#13 18-3-14 13:58
本帖最后由 sunfeel 于 18-3-14 14:03 编辑

你要做什么?
音频一般跟网络没有太大关系吧?或者尽量避免涉及到网络问题,能本地解决就本地,玩家也都是假同步,难道你要做真同步?这个太难了,别说音频,你去问问美术和客户端说实话也很难做到真同步,他们得标准最低都是128ms,怎么可能真同步,如果是实时演算动画程序有很多方式调用,如果想在线性过场动画里加入多轨就比较麻烦了,需要在联调中手动调整时间,并不需要整轨

184
#14 18-5-23 23:26
光是搞游戏或者光是搞音频技术的人都说不清楚这个问题。一个计算机专业毕业搞音频制作的就好办了。
此贴应该是搞音频的人写的。
就同步来说,双方要先讨论,设定一个音效的触发点就行了。触发点的客户端是用户按下某个按钮,这个时候画面出现一个关键帧,这个地方是音效的起始位置。

165
#15 18-6-4 09:51
楼上说的对,程序要先在动画上刻帧,以此作为声音的触发点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

搜索