本文主要是介绍【Unity开发小技巧】创建HDRP工程,把内置管线工程升级为HDRP工程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一.通过模板创建HDRP项目工程
1.创建模板示例工程
2.单击High Definition RP
3.命名并创建项目
4.研究并学习后续开发
二.通过HdrpCore模块创建HDRP项目工程
1.通过Core模块快速构建HDRP的空项目工程
2.依赖项自动加载并导入
3.然后我们就可以在里面愉快的进行后续开发了
三.普通3D内置管线工程升级为HDRP工程
1.创建普通3D场景
2.设置HDRP
1.安装hdrp依赖项
2.修复冲突报错
3.创建hdrpAsset资源编辑
4.着色器冲突材质失效
3.Upgrading Materials升级材质
4.手动转换材质
5.Adjusting lighting调整灯光
1.添加skyandFog Volume
3.修改阴影属性
6.Post-process后期处理
6.结果
一.通过模板创建HDRP项目工程
unityHub给用户提供了HDRP的示例项目,用户可以直接创建演示示例项目,后续在里面进行自己的项目开发。
1.创建模板示例工程
打开 Unity Hub,转到Projects选项卡,然后单击New
2.单击High Definition RP
在Sample_Template部分中,单击High Definition RP
3.命名并创建项目
4.研究并学习后续开发
项目场景如下,然后我们就可以研究并学习这个示例工程,也可以新建场景进行我们的后续开发
二.通过HdrpCore模块创建HDRP项目工程
1.通过Core模块快速构建HDRP的空项目工程
2.依赖项自动加载并导入
这个core会把hdrp工程所需要的依赖项自动加载并导入,默认创建了一个Outdoor场景,后续我们可以创建Indoor也可以创建默认
3.然后我们就可以在里面愉快的进行后续开发了
三.普通3D内置管线工程升级为HDRP工程
以上两种模式是常规创建hdrp工程的方式,适合在立项初期和刚开始着手hdrp的时候使用,但是实际情况是很多开发者在开发初期并没有确定使用哪种渲染管线,而是在后面需要升级为hdrp这时候我们就需要自己手动导入hdrp工程所需要的依赖项。高清渲染管线 (HDRP) 使用一组新的着色器和照明单元,它们都与内置渲染器不兼容。要将 Unity 项目升级到 HDRP,您必须首先转换所有材质和着色器,然后相应地调整各个灯光设置。
1.创建普通3D场景
创建场景后简单设置一下场景内容
2.设置HDRP
1.安装hdrp依赖项
在 Unity 编辑器中,打开 Package Manager 窗口(菜单:Window > Package Manager)。
查找并选择High Definition RP包,然后单击Install。
当您安装 HDRP 时,Unity 会自动将两个 HDRP 特定组件附加到场景中的游戏对象。它将HD Additional Light Data组件附加到 Lights,并将HD Additional Camera Data组件附加到 Cameras。如果您未将项目设置为使用 HDRP,并且场景中存在任何 HDRP 组件,则 Unity 会引发错误。
2.修复冲突报错
打开渲染管线向导窗口(菜单Window > Render Pipeline > HD Render Pipeline Wizard)。
在配置检查部分,转到HDRP选项卡,然后单击全部修复。这修复了项目的每个 HDRP 配置问题
3.创建hdrpAsset资源
4.着色器冲突材质失效
HDRP 现在已在您的项目中设置,但您的场景无法正确渲染并使用洋红色错误着色器来显示游戏对象。这是因为场景中的游戏对象仍然使用为内置渲染器制作的着色器。如何解决稍后讲
3.Upgrading Materials升级材质
要将场景中的材质升级为与 HDRP 兼容的材质,请执行以下任一操作:
将项目中的所有兼容材质转换为 HDRP 材质
将项目窗口中当前选择的所有兼容材质转换为 HDRP 材质。
将场景中每个地形中的内置默认标准地形材质替换为HDRP 默认地形材质
因为地面材质使用的是unity默认材质,这项操作可以直接修复材质兼容,但是此过程无法自动将我们自己的材质或着色器升级到 HDRP。您必须手动转换自定义材质和着色器。此外,由于 HDRP 支持更多的高度图置换技术和解压缩选项,因此该过程无法正确升级高度图相关属性。这意味着您的高度贴图材质可能看起来不正确。如果升级使用高度图的材质,请修改材质的Amplitude和Base属性,直到结果更接近内置渲染器版本。
此过程也无法升级粒子着色器。尽管 HDRP 不支持粒子着色器,但它确实提供了一些与内置粒子系统兼容的着色器图。这些着色器图的工作方式与内置粒子着色器类似。要使用这些 Shader Graphs,请导入Particle System Shader Samples示例
4.手动转换材质
1.HDRP 材质转换器自动将内置标准和无光照材质分别转换为 HDRP 光照和无光照材质。该过程使用叠加功能将颜色通道混合在一起
2.Mask maps遮罩贴图
Built-in Shader 到 HDRP Shader 的转换过程将 Built-in Standard Shader 的不同 Material 贴图组合到 HDRP Lit Material中遮罩贴图的单独 RGBA 通道中,有关每个贴图进入哪个颜色通道的信息请 ---参考
3.Detail maps详细细节贴图
Built-in Shader 到 HDRP Shader 的转换过程将 Built-in Standard Shader 的不同细节贴图组合到 HDRP Lit Material中细节贴图的单独 RGBA 通道中。它还增加了平滑细节。 有关每个贴图进入哪个颜色通道的信息请 ---参考
5.Adjusting lighting调整灯光
hdrp使用Physical light units物理灯光单元这些单位与内置渲染管线使用的所有单位不匹配。对于光强度单位,定向灯使用勒克斯,所有其他灯光可以使用流明、坎德拉、EV,或在一定距离处模拟勒克斯。要在 HDRP 项目中设置照明
1.添加skyandFog Volume
将默认的天空体积添加到场景以设置环境照明(菜单GameObject > Volume > Sky and Fog Volume)2.设置环境光照
打开 Lighting 窗口(菜单:Window > Rendering > Lighting Settings);
Profile属性,选择Sky and Fog Volume 使用的相同Volume Profile ;
对于静态光照天空属性,选择PhysicallyBasedSky
3.修改阴影属性
1.创建一个新的Global Volume GameObject(菜单:GameObject > Volume > Global Volume)并将其命名为Global Settings。
2.为此卷创建一个新的卷配置文件。为此,请打开卷的检查器并单击新建按钮
3.添加阴影覆盖(Add Override > Shadowing > Shadows),然后启用Max Distance并将其设置为200
4.设置Directional Light
将Intensity设置为100000,将Color设置为白色。然后,要查看天空中的太阳,请转到“形状”部分并将“角直径”设置为3。
5.场景现在过度曝光。要解决此问题,请选择您在步骤3a中创建的Global Settings GameObject并将Exposure override 添加到其 Volume 组件(Add Override > Exposure)。然后,将模式设置为自动
6.Post-process后期处理
1.创建一个新的Global Volume GameObject(菜单:GameObject > Volume > Global Volume)并将其命名为“ Post-processes ”。当您在 Volume Inspector 中选择Add Override时,您可以在Post-processing子菜单中找到所有后期处理。
2.将Tonemapping覆盖添加到 Volume(Add Override > Post-processing > Tonemapping)然后启用Mode并将其设置为ACES。
3.将Bloom覆盖添加到 Volume(Add Override > Post-processing > Bloom),然后启用Intensity并将其设置为0.2。请注意,bloom 的结果与 Post Processing 包中的结果不同。这是因为 HDRP 的光晕效果在物理上是准确的,并且模仿了相机镜头的质量。
4.将Motion Blur覆盖添加到 Volume(Add Override > Post-processing > Motion Blur),然后启用Intensity并将其设置为0.1
5.将Vignette覆盖添加到卷(Add Override > Post-processing > Vignette),然后设置以下属性值,启用强度并将其设置为0.55;启用Smoothness并将其设置为0.4;启用圆度并将其设置为0。
6.将景深覆盖添加到体积(Add Override > Post-processing > Depth Of Field),然后设置以下属性值,启用Focus Mode并将其设置为Manual。在Near Blur部分,启用Start并将其设置为0 ,然后启用End并将其设置为 0.5,在Far Blur部分,启用Start并将其设置为2然后启用End并将其设置为10。请注意,此效果仅在 Game 视图中可见。
7.最后,选择Global Settings GameObject 以在 Inspector 中查看它。在 Volume 组件中,添加一个Ambient Occlusion覆盖(Add Override > Lighting > Ambient Occlusion),然后启用Intensity并将其设置为0.5
6.结果
这篇关于【Unity开发小技巧】创建HDRP工程,把内置管线工程升级为HDRP工程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!