为了充分提炼full immersion模式下的沉浸感特性,数字音乐表演成为了这次的预研发选型。不同于常规的移动端开发,vision pro凭借其性能上的巨大优势,让开发小组就效果的潜力摩拳擦掌(懂的都懂)。由于此前开发的工具已经具备了角色及部分主题场景UGC的基础,单独的材质移植测试也做过两轮,综合下来使得资产部分的压力相对较小,留给VFX的空间就显得特别美妙了。于是组内一拍即合,既然是踩坑测试,找准方向后就最大程度尽情试错。 考虑到VFX开发环境的支持和渲染效果,在vision OS原生与unity引擎中我们选择了后者并采用URP渲染管线。主要原因得益于之前unity的开发经验积累,允许我们的小组在有其他并行任务的同时,快速搭建起开发框架并且进行尝试,以达到用快速验证的方式进行敏捷开发,在验证中建立流程形成标准。当然,测试的重心特效部分也遵循这个方法,于是便迎来了第一步,也就是进行技术选型的关键测试。
- 技术选型与关键测试: 这是除去单一主题测试外,小组第一次在AVP平台进行全流程开发,无法仅凭借苹果官方公布的硬件数据和一些机构的主观评测,去推导我们想做的内容。资料有限,需求需要进一步明确。即:支持哪些?支持多少?为了细化这个问题,我们进行了一个复杂PBR材质场景压力测试,反推出:同屏三百多万面,两百多个batch,至少1024贴图,运行40~60帧。明确了这样一个范畴之后,VFX设计师所关心问题的测试也在逐步进行中:
-是否支持VFX graph? 是。
-VFX graph粒子运算效率有多高? 简单材质下,在有场景角色的情况下,6万左右还是很流畅的,但和粒子的大小和重叠有关,和发射的mesh复杂程度也相关,如果粒子size大,重 叠多,则会严重掉帧。
-是否支持ASE编辑材质? 是。
- 是否支持后效? 是。
-是否支持timeline? 是。
- 是否支持音频分轨? 是。
-能否实现音频的视觉化? 有难度,但是能!
几轮测试后摸清了动态材质效果、音频视觉化、particle system、VFX graph,确认了其正常的表现范围。 大量反射、体积光、毛发、半透折射,这些内容确实要慎用。但就设计上来说,角色的活 灵活现,体积光的替代方案,激光效果的运用,巨物大效果的视觉冲击,可大可小的灵活空 间,完全忽略物理定律自然规律的数字优势,如果调整好资源的配置,已经有相当广阔的发挥空间了。其中,最为出彩是的音画配合的流程开发部分,我们将音乐部分用AI工具进行了分轨处理,把人声、鼓点、电吉他等元素拆分出来,分别用不同的视效呈现其节奏及波形,在视觉上做“交响”。针对这一部分的工作流拆解,下面就说说如何“看见”声音。
· 音频视觉化的流程拆解: VFX graph中自带的工具Spectrum,当把音乐赋给它,就可以把音乐转成频谱图像,从而在VFX graph中就可以直接调用,也就通过粒子把音频展示了出来。
如视频中展现,地面黑黄相间的粒子块儿就是使用了spectrum的VFX graph,简单的实现了 音频视觉化的效果;中间黑色的方块,有红色的条纹不断地闪现,就是上面所说的将音乐转 成频谱图像的表现了。这种转换方式在单轴上表现出了频谱的变化,有些像是条形码对吧? 只不过是随着音频的变化而不断的表现出不同的图像,这些信息在X轴上就足够表达出来 了,所以,在Y轴上没有什么变化,这也就意味着获得采样时,只考虑X轴就可以了。 假设有一块儿方方正正的舞台,且用粒子铺满了,计算这些粒子到舞台中心的距离,以这个 距离采样给频谱图,基本上就得到了视频中地面的律动效果。仔细观察可以发现,地面的律 动和小黑条上的频谱图像是完全对应的;小球的位置还做了进一步的处理,它代表了舞台上 的演员,屏蔽了所在地