次世代角色建模教程 (次世代场景渲染用什么软件)

本篇再介绍一下关于次世代角色渲染技术,市面上占主流的游戏还是大型的次世代渲染,Unity自身提供了Standard和Standard(Specular),但是对于游戏的品质来说还远远不够,而且相对来说比较耗,这就需要我们自己去提升,其实新版的Unity给我们提供了Shader Graph作为Shader工具来说还是可以使用的,它相比Shader Forge好很多的。次世代渲染也可以成为PBR渲染,我们将它拆分开,涉及到的渲染技术如下所示:

次世代屏幕操作,次世代场景效果

以上就是我们实现次世代渲染使用的技术点,在这里就不介绍算法方程了,想具体了解的读者可以自行查阅,其实已经有人帮助我们实现了,在这里我们自己首先要知道如何使用它们?先给读者看一下实现的效果图:

次世代屏幕操作,次世代场景效果

该模型实现了次世代渲染效果,高光,法线,反射,遮挡等等都实现了,其实我们只用了三张贴图,如下所示:

次世代屏幕操作,次世代场景效果

为什么三张贴图就可以实现次世代效果?这里使用了图片的合并,第一张贴图和第二张贴图一目了然,重点看第三章贴图,在这里我们使用了多张贴图的合并,我们知道贴图的颜色是由RGBA组成的,那么我们合并的贴图也是通过RGBA表示的,我们的R表示的是Metallic,G表示的是Smoothness,B表示的是Glow,A表示的是Occlusion。这样我们也达到了优化的目的,看一下在Shader Graph中的效果图:

次世代屏幕操作,次世代场景效果

合并图片的目的是为了减少系统的吞吐量,再就是也是优化角色渲染,我们把第三张贴图给读者分解,如下所示:

次世代屏幕操作,次世代场景效果

贴图处理的核心代码如下所示:

SurfaceOutputStandard s6 = (SurfaceOutputStandard ) 0;

float2 uv_AlbedoMap = i.uv_texcoord * _AlbedoMap_ST.xy + _AlbedoMap_ST.zw;

s6.Albedo = ( _BaseColor * tex2D( _AlbedoMap, uv_AlbedoMap ) ).rgb;

float2 uv_NormalMap = i.uv_texcoord * _NormalMap_ST.xy + _NormalMap_ST.zw;

s6.Normal = WorldNormalVector( i , UnpackNormal( tex2D( _NormalMap, uv_NormalMap ) ) );

s6.Emission = float3( 0,0,0 );

float2 uv_MaskMap = i.uv_texcoord * _MaskMap_ST.xy + _MaskMap_ST.zw;

float4 tex2DNode1 = tex2D( _MaskMap, uv_MaskMap );

s6.Metallic = ( tex2DNode1.r * _Metallic );

s6.Smoothness = ( tex2DNode1.g * _Smooth );

s6.Occlusion = 1.0;

我们把Shader Graph转化成Shader脚本读起来还是比较简单的,学习起来也是容易的,关于次世代渲染技术就给读者介绍到这里。

最后,如果你一直以来都对3d建模抱有强烈的学习兴趣。却不知道如何系统的进行学习。学习有困难或者想领取3d建模小白学习路线资料的请.私信小编

还是那个万年不变的老规矩

1.评论文章,没字数限制,一个字都行!

2.成为小编成为的粉丝!

3.私信小编:“游戏建模”即可!

谢谢大家,祝大学有所成