URP的特点
- 相对于内置管线,具有更好的性能和更高的画质
- 更好的跨平台性,能在VR、移动端、PC端、主机端保持接近的性能与效果
- 和HDRP一样,是基于SRP的可定制渲染管线,在多个方面具有更好的自定义性
- 可以使用连连看ShaderGraph
需要掌握URP的新知识
- 如何将内置管线转换为URP(导入包,导入URPAsset,在设置中修改管线),如何转换普通材质为URP材质(自动转换+手动修改为URP shader)
- 全新的PostPoressing系统(Volume的使用,profile添加,add override)
- 全新的材质shader系统(包括ShaderGraph
转换时有时会提醒Project has invalid dependencies: com.unity.render-pipelines.Universal.xxx这种,可能是工程用了老板的URP。在package manager里remove就行了
URP的全局光照与AO(环境光遮蔽)
实时全局光照计算量大,只在部分时使用,比如动态物体
对于静态物体,使用烘焙产生的光照贴图(烘焙全局光照)
一个light要决定它的光照是实时的,还是烘焙的,抑或是混合的(实时+烘焙)
(发光材质的emission下面也要选择)
烘焙的光照只有在烘焙之后才能出现,此时移去灯光,光照依然存在
实时光照则与light实时相关,随着light改变而改变
混合模式则是两种都有,比较常用。
实时全局光照和烘焙全局光照下,都不支持动态物体的间接光照
因此,对于动态物体的间接光照,一般使用光照探灯
在URP 3d模板工程中,默认开启了环境光遮蔽:
对于自己烘焙光照贴图时,可以选择烘焙AO到光照贴图中,此时可以将这个自带AO关闭:
后面烘焙光照贴图的时候再勾选其中的AO就好了
实际上,后者更加节省性能
URP 室内渲染
导入模型——在import设置启用生成lightmap UV
点击mesh可以在project里弹出对应的资源
找到箭头前面那个点一下就有importer设置了
有时需要修改材质时,记得选择
use external materails(legacy)
导入Unity包——内置材质需要修改为URP材质(2021版本以后的方法)
- 单个材质直接选中后在edit-rendering-material里convert就行
- 整个工程的话,选择window-rendering-render pipeline convertor
调整需要计算的为static静态,不需要的不设为静态
静态分为很多种,最关键的是圈中两个
记得设置色彩空间为linear,这样渲染的效果更自然
灯光的设置,Directional light记得勾选灯光模式mixed和软阴影
Light setting的一些设置:
首先,设置之前,一定记得:
可以避免非常多的麻烦。。。。(新建物体时也可以用)
新建一个lighting setting,改为gpu渲染,开始我们的表演
Lightmap resolution代表光照贴图分辨率,越高质量越好,但是性能压力更大。这些参数同理:(可能会影响贴图的噪点,让贴图看起来麻麻杂杂的)
是否压缩关照贴图与是否开启AO
还有最好有好的HDRI提供更好的天空光效果
还可以设置雾
影响间接光照亮度的一些参数
灯光:
Lighting setting中
Scene:
Evironment:
摄像机设置:
在scene中移动视角,确定好了之后,回到game视图,按ctrl+shift+F 就可以把game摄像头固定和scene一样的视角了
注意启用后处理和对应的URP渲染器
反射探针与光照探针:
使用reflection probe,包含整个空间。
使用light Probe Group
点击Edit编辑场景中的小球,通过选中之后ctrl+d复制,让小球涵盖整个场景内部
注意:不能让小球探针进入物体内部,会让光照计算为黑色,产生错误
光线变化剧烈的地方,小球最好密集,变化缓慢的地方,小球可以稀疏以节省性能
点击烘焙时,会将Probe存储光照信息烘焙到光照贴图lightmap中
动态物体就可以接受这些Probe存储的信息了(但是注意要设置为接受探针信息,如下图)
下面两图是开启探针前后,动态物体小球在场景中的光照效果
使用探针前:
使用探针后:(光照颜色更加符合整体了)
注意,除了小球,其他物体的光照都没有变化,因为光照探针组存储的光照信息只影响动态物体。
标签:me,贴图,物体,探针,Unity,烘焙,URP,光照 From: https://www.cnblogs.com/yyzzrr25/p/17461258.html