原神图形技术简析及杂谈

引言原神是一款极具争议的产品,而争议的重点集中在商业模式上的骗氪和抠门,以及米哈游宣传的研发投入在实际效果上不能达到玩家期待。原神号称研发投入一亿美刀,至于它的技术是否真值这个价,本文将从分析原神的图形技术入手讨论这个问题,也算是有前车之鉴。本文以PC版原神的最高画质为基准,共分为3大部分,第一部分简单讲解原神渲染一帧的流程,第二部分对一些关键的步骤和特效进行展开解说,第三部分着重分析原神在移动端上优化较差的原因。1. 原神的渲染流程经过揣摩原神渲染管线,得出的流程图大致如下:图中的流程与实际的渲染管线可能有一定的出入,请以实际为准。原神的渲染管线是一个以延迟渲染为主的,混合了前向渲染的大地图渲染管线,其延迟渲染的部分非常的常规,没有什么特别的地方。3A游戏中常见的Hi-Z Culling,SSR,Temporal AA,Cluster Lighting都全部具备。必须要强调的是,现在很多人将美工技术和程序技术对画面表现的贡献混为一谈,这是不合理的,抛开制作组美术能力对画面表现的浮动,原神的渲染管线,单从程序技术上讲大致等同于欧美大型游戏在2015年左右的水平。2. 原神的关键步骤和特效2.1 原神的场景渲染原神的场景渲染使用了非常的常规的PBS流程,绝大部分场景模型走在了延迟渲染的路径上。场景使用了Hi-Z进行GPU剔除,有着非常夸张的视距,站在庆云顶上隐约能看见公里外的蒙德城。在建筑和一些地形上,原神使用了视差贴图来获得更立体的观感。原神使用了类似最后生还者在PS3上使用的椭球体方向遮蔽,实现了角色的间接阴影,相对于常规的SSAO而言,这种方法能够在侧视角上取得更好的效果。原神的地面云影是一种类似贴花的做法,可以很容易的发现地面的云影与天上的云片是对不上的。原神的反射大致有两种情况,第一种是针对建筑等实体场景的SSR与Cubemap混合的方法。其中SSR读取上一帧的渲染结果作为被反射的对象,以此达到一种光线多次反弹的效果。Cubemap似乎不是每一帧都会更新的,而是与角色的位置变化有关,在蒙德城教堂可以很明显的看出SSR切换到Cubemap的过程。原神的水面使用了一种平面SSR,但是在物体和水面的交界处理的不好,有明显的渲染错误。除此之外,还使用了基于球谐的天空光照 ,与SSR混合后实现了某种程度上的GI效果。2.2 原神的角色渲染原神的角色渲染直接使用前向渲染将角色的最终着色渲染到G-Buffer中的Diffuse中,也就是说角色的光照都是在LDR下计算的,角色的光照算法也与崩坏3几乎相同,这一点就不用再重复,各路友商对崩坏3的分析已经非常透彻了。角色受环境光照的影响是通过读取上一帧 的Ambient Sensor纹理计算的。由于某些原因并没有对角色受光做插值,导致角色在阴影边缘时会有光照的跳变,在角色高速移动时有肉眼可见的延迟。2.3 原神的特效渲染PC版的原神在特效上没有什么值得大书特书的地方。值得提起的是移动端的原神在特效上使用了半分辨率优化,透明粒子在半分辨率上计算,很大程度上降低了Alpha Blending的开销。除此之外原神的云雾和某些角度的光线使用了Ray Marching来实现体积效果,并不是单纯的贴片。3. 原神的移动端优化原神出于优化的考虑,绝大多数安卓设备运行原神的3D分辨率长边不超过1280像素,导致画面非常模拟,使用TAA也无济于事。而原神在移动端上对透明物体进行的半分辨率渲染,在部分机型上半透明RT宽边甚至只有288像素。在大量使用了降分辨率渲染,删除了大量屏幕空间特效后,原神的性能表现仍然非常差,没有任何一款移动端SoC可以长时间稳定以60FPS运行原神。原神移动端优化差的原因大概有以下几点:延迟渲染直接用MRT硬画,而没有使用Frame Buffer Fetch或者SubPass。G-Buffer不节约,带宽开销过大。直接存储计算后的diffuse和specular,normal也没有做压缩,浪费了至少32bit的带宽。岩石,植被等游戏性无关的地形附件渲染视距过大,LoD过于保守,即使使用了GPU Culling仍然DrawCall过多(上千次),同时有非常严重的quad overdraw。降分辨渲染后上采样有额外的性能开销,在TBR和TBDR的GPU上可能导致反向优化。作为结论,原神的渲染管线对于国内友商有一定的参考价值,但是也不是有那么参考价值。图形技术需要与产品的美术风格相匹配,是一种做减法的艺术。原神的PBS材质,超大视距渲染,在这样一个赛璐璐卡通的美术风格上是非常没有必要的。从这个角度而言原神的图形技术性价比很低,难以与其资金投入相匹配。而友商如果参与到与原神竞争的军备竞赛中,可能也是一个“倒逼业界精品化”的过程。 来源:知乎 www.zhihu.com 作者:知乎用户(登录查看详情) 【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载

原神图形技术简析及杂谈
引言原神是一款极具争议的产品,而争议的重点集中在商业模式上的骗氪和抠门,以及米哈游宣传的研发投入在实际效果上不能达到玩家期待。原神号称研发投入一亿美刀,至于它的技术是否真值这个价,本文将从分析原神的图形技术入手讨论这个问题,也算是有前车之鉴。本文以PC版原神的最高画质为基准,共分为3大部分,第一部分简单讲解原神渲染一帧的流程,第二部分对一些关键的步骤和特效进行展开解说,第三部分着重分析原神在移动端上优化较差的原因。1. 原神的渲染流程经过揣摩原神渲染管线,得出的流程图大致如下:图中的流程与实际的渲染管线可能有一定的出入,请以实际为准。原神的渲染管线是一个以延迟渲染为主的,混合了前向渲染的大地图渲染管线,其延迟渲染的部分非常的常规,没有什么特别的地方。3A游戏中常见的Hi-Z Culling,SSR,Temporal AA,Cluster Lighting都全部具备。必须要强调的是,现在很多人将美工技术和程序技术对画面表现的贡献混为一谈,这是不合理的,抛开制作组美术能力对画面表现的浮动,原神的渲染管线,单从程序技术上讲大致等同于欧美大型游戏在2015年左右的水平。2. 原神的关键步骤和特效2.1 原神的场景渲染原神的场景渲染使用了非常的常规的PBS流程,绝大部分场景模型走在了延迟渲染的路径上。场景使用了Hi-Z进行GPU剔除,有着非常夸张的视距,站在庆云顶上隐约能看见公里外的蒙德城。在建筑和一些地形上,原神使用了视差贴图来获得更立体的观感。原神使用了类似最后生还者在PS3上使用的椭球体方向遮蔽,实现了角色的间接阴影,相对于常规的SSAO而言,这种方法能够在侧视角上取得更好的效果。原神的地面云影是一种类似贴花的做法,可以很容易的发现地面的云影与天上的云片是对不上的。原神的反射大致有两种情况,第一种是针对建筑等实体场景的SSR与Cubemap混合的方法。其中SSR读取上一帧的渲染结果作为被反射的对象,以此达到一种光线多次反弹的效果。Cubemap似乎不是每一帧都会更新的,而是与角色的位置变化有关,在蒙德城教堂可以很明显的看出SSR切换到Cubemap的过程。原神的水面使用了一种平面SSR,但是在物体和水面的交界处理的不好,有明显的渲染错误。除此之外,还使用了基于球谐的天空光照 ,与SSR混合后实现了某种程度上的GI效果。2.2 原神的角色渲染原神的角色渲染直接使用前向渲染将角色的最终着色渲染到G-Buffer中的Diffuse中,也就是说角色的光照都是在LDR下计算的,角色的光照算法也与崩坏3几乎相同,这一点就不用再重复,各路友商对崩坏3的分析已经非常透彻了。角色受环境光照的影响是通过读取上一帧 的Ambient Sensor纹理计算的。由于某些原因并没有对角色受光做插值,导致角色在阴影边缘时会有光照的跳变,在角色高速移动时有肉眼可见的延迟。2.3 原神的特效渲染PC版的原神在特效上没有什么值得大书特书的地方。值得提起的是移动端的原神在特效上使用了半分辨率优化,透明粒子在半分辨率上计算,很大程度上降低了Alpha Blending的开销。除此之外原神的云雾和某些角度的光线使用了Ray Marching来实现体积效果,并不是单纯的贴片。3. 原神的移动端优化原神出于优化的考虑,绝大多数安卓设备运行原神的3D分辨率长边不超过1280像素,导致画面非常模拟,使用TAA也无济于事。而原神在移动端上对透明物体进行的半分辨率渲染,在部分机型上半透明RT宽边甚至只有288像素。在大量使用了降分辨率渲染,删除了大量屏幕空间特效后,原神的性能表现仍然非常差,没有任何一款移动端SoC可以长时间稳定以60FPS运行原神。原神移动端优化差的原因大概有以下几点:延迟渲染直接用MRT硬画,而没有使用Frame Buffer Fetch或者SubPass。G-Buffer不节约,带宽开销过大。直接存储计算后的diffuse和specular,normal也没有做压缩,浪费了至少32bit的带宽。岩石,植被等游戏性无关的地形附件渲染视距过大,LoD过于保守,即使使用了GPU Culling仍然DrawCall过多(上千次),同时有非常严重的quad overdraw。降分辨渲染后上采样有额外的性能开销,在TBR和TBDR的GPU上可能导致反向优化。作为结论,原神的渲染管线对于国内友商有一定的参考价值,但是也不是有那么参考价值。图形技术需要与产品的美术风格相匹配,是一种做减法的艺术。原神的PBS材质,超大视距渲染,在这样一个赛璐璐卡通的美术风格上是非常没有必要的。从这个角度而言原神的图形技术性价比很低,难以与其资金投入相匹配。而友商如果参与到与原神竞争的军备竞赛中,可能也是一个“倒逼业界精品化”的过程。 来源:知乎 www.zhihu.com 作者:知乎用户(登录查看详情) 【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载