首页 > 其他分享 >Unity URP简单笔记by me

Unity URP简单笔记by me

时间:2023-06-06 17:44:06浏览次数:32  
标签:me 贴图 物体 探针 Unity 烘焙 URP 光照

URP的特点

  1. 相对于内置管线,具有更好的性能和更高的画质
  2. 更好的跨平台性,能在VR、移动端、PC端、主机端保持接近的性能与效果
  3. 和HDRP一样,是基于SRP的可定制渲染管线,在多个方面具有更好的自定义性
  4. 可以使用连连看ShaderGraph

 

需要掌握URP的新知识

  1. 如何将内置管线转换为URP(导入包,导入URPAsset,在设置中修改管线),如何转换普通材质为URP材质(自动转换+手动修改为URP shader)
  2. 全新的PostPoressing系统(Volume的使用,profile添加,add override)
  3. 全新的材质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

相关文章

  • Element 日期组件
    1.能选择的时间大于现在 <el-date-pickerv-model="formData.beginTime"type="datetime"value-format="YYYY-MM-DDHH:mm:ss"placeholder="请选择开始时间":disabledDate="disabledDateFn":disabled-hours="disabledHour......
  • Git commit –amend 修改上一次 commit message
    Gitcommit–amend修改上一次commitmessage#gitcommit-amend-m"newmessage"但是不能是已经push的提交参考资料1、git修改已提交的内容2、git之修改上次提交备注......
  • Invalid character found in method name. HTTP method names must be tokens
    Gayhub上下载了一个别人的项目跑着玩,启动成功了,但是请求controller的时候,出现了这种错误:2018-08-2517:57:26,673-ErrorparsingHTTPrequestheaderNote:furtheroccurrencesofHTTPheaderparsingerrorswillbeloggedatDEBUGlevel.java.lang.IllegalArgumentEx......
  • Establishing SSL connection without server's identity verification is not recomm
    WARN:EstablishingSSLconnectionwithoutserver’sidentityverificationisnotrecommended.AccordingtoMySQL5.5.45+,5.6.26+and5.7.6+requirementsSSLconnectionmustbeestablishedbydefaultifexplicitoptionisn’tset.Forcompliancewithexisti......
  • Unity框架中的核心类
    组件:Component在Unity中,所有的游戏对象都可以挂载组件。组件控制着游戏对象的行为和外观,例如渲染、动画、碰撞检测等。而Component就是组件的基类,提供了一些通用的方法和属性,例如gameObject、transform等。Component类提供了许多方便的方法和属性,可以帮助我们方便地对游戏对象......
  • GNOME 卸载nvidia官方闭源驱动
    系统信息KaliGNOME44.1X11Ctrl+Alt+F3进入无桌面终端,然后关掉桌面sudoservicegdm3stop卸载驱动sudonvidia-uninstall......
  • 基于Raspberry 的 libcamera 使用
    1.libcameraandlibcamera-apps工具简介I.libcamera是一款用来支持用户基于Linux操作系统控制复杂相机的应用程序,用户可以通过libcamera直接操作树莓派芯片集成的GPU模块。II.libcamera开放了基于C++语言的应用程序接口用于配置相机并从相机获取图像的功能API,同时libcam......
  • 1018 Public Bike Management
    题目:ThereisapublicbikeserviceinHangzhouCitywhichprovidesgreatconveniencetothetouristsfromallovertheworld.Onemayrentabikeatanystationandreturnittoanyotherstationsinthecity.ThePublicBikeManagementCenter(PBMC)keep......
  • Elasticsearch专题精讲—— REST APIs —— Document APIs —— Update By Query API
    RESTAPIs——DocumentAPIs—— UpdateByQueryAPIhttps://www.elastic.co/guide/en/elasticsearch/reference/8.8/docs-update-by-query.html#docs-update-by-queryUpdatesdocumentsthatmatchthespecifiedquery.Ifnoqueryisspecified,performsanupdateo......
  • 微信小程序使用vant组件van-datetime-picker unexpected character `@`
     报错 改成 vue不能直接引用,得定义了或者......