游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2560|回复: 0

打造3A级游戏渲染方案

[复制链接]

1万

主题

1万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
36572
发表于 2019-12-23 11:05:09 | 显示全部楼层 |阅读模式
近期,Unity在北京、成都、深圳分别举办了三场制作人专场活动,搭建优秀游戏制作人与Unity官方面对面交流的桥梁,内容涵盖项目优化、技术美术与解决方案等多个方面。

本文为大家带来的是Unity技术美术总监林宇的演讲-《打造3A级游戏渲染方案》。你可以点击[阅读原文]下载本次演讲的PPT。

下面是本次演讲视频。


演讲内容

大家好,我是林宇,来自香港,现在上海工作,担任Unity技术美术总监。

1.jpg

今天我将介绍渲染的趋势,未来可以运用的一些新技术,以及Unity为企业级客户提供的一些服务。

本次演讲的内容主要针对高端一点的渲染方案。一谈到渲染方案,大家就会想到:画面渲染一定要很棒。

2.jpg

首先我不能不提最基础的内容-物理渲染管线,我了解很多客户团队,他们现在使用的不是物理渲染管线,很多时候后期达不到Unity一直在推荐的PBR效果质量。

从2017年开始,Unity中引入了可编程渲染管线SRP。其中有两种渲染管线:高清晰渲染管线HDRP和轻量级渲染管线LWRP,也就是现在的通用渲染管线Universal Render Pipeline,简称URP。

为什么要轻量级渲染管线LWRP改名为通用渲染管线URP呢?

当时用“轻量级”这个名字的时候,有一些客户误会成只要用了这个管线,功能和性能就自然提高了。由于这个误解,我们便将名字修改了。

通用渲染管线URP是指可以针对任何平台发布,但是高清晰渲染管线HDRP只针对高端的性能的平台。

高清晰渲染管线HDRP还支持实时光线追踪。现在大家可能应用实时光线追踪还很遥远,但是也许不到一年以后多硬件都会支持RayTracing加速渲染,这会在未来非常普及。

3.jpg

现在不少项目在建模的时候还是使用比较传统的方式,但如果要程序化这种后期编辑的话,就要用到新的Houdini技术。

4.png

5.jpg

现在很多公司还是自己画贴图,或者上网下载一些图片,很多时候,不能符合PBR的材质标准,经常会出现最后渲染差错。建议大家参考《闪耀暖暖》的制作流程,如果你们还没有这种使用Substance贴图制作流程,请尽快学习使用。

6.png

下面是大家非常熟悉的Unity的《ADAM》项目,已经在使用这种流程。

7.jpg

下面我将介绍可编程渲染管线SRP,包括高清晰渲染管线HDRP和通用渲染管线URP。

现在URP已是一个很稳定的版本,技术方面,跟以前的PBR差别不是很大,但是更优化了和支持多光源,性能上提升了很多,做到只需要使用一个PASS渲染。

8.jpg

下面是大家都看过的《异教徒》,画面效果已经达到影视级的渲染效果。这就是高清晰渲染管线HDRP的效果,它强调非常准确的物理渲染。

9.jpg

可编程渲染管线SRP中有一个很好用工具-Shader Graph着色器视图。它可以帮助开发者、美术人员等进行可视化的着色器构建。不必手工编写代码,只要在一个图形网络中创建并连接节点,就可以设计和调试着色器,并且每一步都可预览。

可能以前写Shader代码的人还不太习惯用它,还是习惯写代码,但是慢慢都要改变,因为美术人员看不懂代码。有了Shader Graph以后,美术人员可以维护或者修改一些Shader,这就多了一种选择。

10.jpg

高清晰渲染管线HDRP支持不同的光照模型,其中一项就是SSS,懂美术的人都知道,就是透光的效果。

大家可以观察下图角色的耳朵,后面有灯光,所以会透红,这是非常准确的物理现象。

11.jpg

高清晰渲染管线HDRP支持Specular Occlusion(SO), AO大家都知道,是环境光的遮挡。对反光来说有的时候会有漏光现象,如果只用AO遮挡反光的话还不够,但是帮助还是有一点。

真正采用SO可以计算到哪一个Polygon面采不到环境高光,BendNormal可以计算反射角度,如果这个角度有遮挡的话,光照的方向就会偏移一点。

12.jpg

下面介绍一下实时光线追踪。为什么说实时光线追踪技术是未来的发展趋势呢?

大家知道现在只有NVIDIA RTX 2000系列显卡才有实时光追加速器,但许多厂商也开始相继研发,例如:华为正在研发实时光线追踪加速器,现在这种功能芯片已经计划逐步在移动平台上发布,另外Imagination公司的显示器芯片也已经有了光线追踪加速的功能。

13.jpg

实时光线追踪可以达到一个非常好的阴影效果,解决了之前提到的漏光问题,实现了高光的遮挡功能和透明的物理折射。如果要很多层透明的话也可以实现,但是需要设置更多的Bounce count值。

14.jpg

15.jpg

如下图所示,在阴影方面,最左边的用简单一般Shadow Map,右边是使用实时光线追踪的比较。我们可以看见右边的树下面阴影比较硬,远处树叶比较软,比较散一点更自然效果。

在Directional light里可改Angular Diameter角度,可以打散一些比较远的距离阴影,可以起到朦胧的阴影效果。

16.jpg

实时光线追踪是在每一个屏幕空间里面,从对每一个像素采一个点去追光。如果你使用RTX显卡的话,就可以很好的支持这个功能,未来PlayStation 5也会支持实时光线追踪。

透明这块,我刚才说过,需要很多比较好的物理准确的折射。如果你要透明后面更多纹理的效果,你需要计算多重反弹才可以实现。

现在大家可能会觉得:会不会很慢很耗性能?其实实时光线追踪需要配合硬件,有硬件加速器可以,没有就会比较耗性能。

17.jpg

在高清晰渲染管线HDRP中可以渲染半透明材质的功能,但效果完全不同,它只可以做到模拟的折射,使用了实时光线追踪后,物理方面是非常准确的,IOR这就是物质折射值,大家可以随时上网查一下水等的物质折射值是怎样的。

18.jpg

我再演示一个稍微简单的场景。这个是实时区域光,你会发现它的阴影很模糊,但却是很高品质的模糊。

这也是刚刚说的折射,当Area Light区域光改变大小以后,可以看到整个场景的阴影都改变了。当光源比较大的时候,就可以采到比较软的阴影效果。越窄的时候,你的阴影也会越明显,特别是那种边缘。

大家都知道平衡光是这样一般的阴影效果,在光源全部都有一个RayTracing Shadow选项,需要的话可以进行勾选,Angular diameter角度也是可以调的,不同的角度,模糊度的效果也都是不一样的。

如果我们打开材质的自发光,就会发现这个材质本身会有发光的效果,现在DXR GI渲染都是这样做到的。


另外再给大家演示一个Demo,现在我们看一下《异教徒》男主角的材质。

场景中有很多光源用作打灯效果测试,你会发现材质精度很高,眼球里折射都是物理准确的,皮肤上也有SSS的效果。这里面我在Shader Graph用了StackLit Master支持多种光照模型的功能。

还有支持有两种高光的勾选,如果你用普通的Lit Master,只能选择其中一个光照模型,但是这个StackLit Master就可以同时选择几种类型。


说到双重高光,如果高光的亮度很多了的话,就会出现过度油腻效果。不够亮的话,又没有体感,一般这种高光不能打得太强烈。

现在用了第二层可以再细化里面的细节,大家可以看一下区别,这是第二层里面更加可以做到很细的皮肤质感,如果这个灯打得光源比较强,就是这样皮肤的Transmission光渗透效,也就是透红的效果。

我的演讲就到这里,谢谢。


来源:unity官方平台
原地址:https://mp.weixin.qq.com/s/PFDv6M9rKqdrS5fVM0lh-w

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2024-12-22 20:00

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表