高级11/流播放

ADX2具有独特的编码格式,ADX,HCA以及HCA-MX,编码格式决定了编码后整个素材包体的大小。

但是在游戏资源的加载和应用中,我们不仅仅依靠编码格式控制内存和Cpu的平衡,我们还需要通过存储模式来实现这一效果。

所谓存储模式一般存在两种,Memory以及Stream。

  • 在Memory下,所有资源会被加载在内容中进行播放,这种模式会占用一定的内存,但是Cpu消耗较低
  • 在Stream下,所有资源会从磁盘中加载,这种模式的内存占用较少,但是较为消耗Cpu
  • Stream模式还存在Zero-Latency Stream模式,即为零延迟流,这种模式下会先加载一部分内容到内存中,后续部分会从磁盘中读取。这样的方式有助于Stream方式有很少的延迟

对于游戏内的长声音,例如很长的音乐或者环境音效,非常推荐使用Stream,以此来减少内存压力,同样如果对延迟要求较高可以选择Zero-Latency Stream减少延迟。

流播放的设置方式

流播放的设置方式由ADX2进行设置:

如上图,选择素材后,可以在其属性编辑中看到有Streaming Type,从中可以选择Stream模式。

当素材选择Stream或者Zero-Layency Stream时,在生成ACB文件的同时,每一个ACB文件都会额外生成一个AWB文件,这个文件即是使用Stream时特有生成的文件。

Unreal中的流播放设置

  1.  UE4项目的Content文件夹中创建一个名为CriData的文件夹用以放置AWB文件
  2. 将AWB文件放置在创建的文件夹中
  3. 打开Unreal,从菜单栏中选择”编辑”,”项目设置”,找到”Packaging”,并点击下拉按钮:
  4. 再在下图位置选择之前创建的CriData文件夹:
  5. 接下来在”项目设置”的”插件”选择CriWare
  6. 然后在如图所示位置指定之前创建的”CriData”文件夹:
  7. 完成上述内容后,流播放的设置即可完成,通过播放相关Cue来测试效果吧。
  • 创建CriData文件夹的原因:如果将AWB文件直接放置在Content文件夹下,则会出现一个问题,即根据UE4规范进行打包时,该AWB文件不能包含在包体中。

Ringo

CRI Middleware Global Expansion Group

发表评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据