zoukankan      html  css  js  c++  java
  • Unity高清渲染管线HDRP

     HDRP和LWRP简介
    Unity2018中引入了可编程渲染管线(Scriptable Render Pipeline,简称SRP),是一种在Unity中通过C#脚本配置和执行渲染的方式。至2018.1版本,Unity中除了默认渲染管线,还提供了轻量级渲染管线(Lightweight Pipeline)和高清晰渲染管线(HD Pipleline)二种SRP渲染管线。当然也支持自定义渲染管线。与高清晰渲染管线相比,轻量级渲染管线的开发已经比较成熟。

     

    为了解决仅有一个默认渲染管线,造成的可配置型、可发现性、灵活性等问题。Unity在管线设计的概念上做了转移,决定在C++端保留一个非常小的渲染内核,让C#端可以通过API暴露出更多的选择性,也就是说,Unity会提供一系列的C# API以及内置渲染管线的C#实现;这样一来,一方面可以保证C++端的代码都能严格通过各种白盒测试,另一方面C#端代码就可以在实际项目中调整,有任何问题也可以方便地进行调试。
     

     

    新的管线对用户而言主要是C# 端的API以及由这些API编写的一系列定制化的内置渲染管线。而在内部实现上,引擎C++端会负责多线程实现性能关键的部分,如上图所示,而C#端负责更高层的渲染指令调度。

    用户可以直接使用开源的内置管线,或者在内置管线的基础上进行修改,甚至直接编写定制化的管线。具体使用上渲染管线在工程中会生成特定的Asset,如下图所示,这个Asset序列化了这条管线的一些公共设置变量,并负责在运行时创建实际的渲染上下文;当这个Asset的设置变量在运行时发生变化,引擎会销毁当前上下文然后重新创建管线(这个操作在现有固定管线中无法做到)。
     

     

     HDRP:只支持pc mac linux等支持cpu shader的平台 ;   支持cluster deferred/forward lighting
     LWRP:全平台支持;   single pass forward


    HDRP 相对于传统的渲染管线,有许多优点,如下图所示。其中Debug视图模式支持可视化的调试

     

    对于新项目如何使用HDRP
    1.请使用Unity Hub,它可以帮助你管理项目和已安装Unity版本的信息。使用Unity Hub创建新项目时,在Template下可以看到High-Definition RP (Preview)选项。选择该模板即可创建使用HDRP渲染管线的项目

    对于已有项目如何升级到HDRP
    1.Window > Package Manager 安装最新版本HD Render Pipeline

     

    2.Edit > Project Settings > Graphics ,指定用于HDRP的可编程渲染管线资源。

     

    3.升级材质

     

    4.设置volume setting 和 Post process Volume,修改光照等并重新烘焙

     

    详细步骤可以参考官方教程链接https://connect.unity.com/p/gao-qing-xi-xuan-ran-guan-xian-hdrpru-men-zhi-nan 

    这里总结几个重要的点:
    1.HDRP目前还是preview阶段,还不是非常成熟,如果使用该管线,自动能升级的shader只有官方自带的shader。

    2.以前自己写的传统管线的shader只能自己手动重新写(目前支持shader graph,不用shader graph如何写我暂时还没研究)。

    3.同理粒子特效也需要修改,用 visual effect graph

    4.天空盒的设置不在以前的project setting中,由volume setting设置

    5.volume setting 和 Post process Volume很重要,具体可以参考模板工程多试试

    6.现有工程升级为hdrp渲染管线后,各个场景和模型效果可能都需要重新调整,个人感觉工作量还是挺大的。如下图所示,右侧为升级后的,想做出升级前效果的话,各个光照参数及模型参数等都需要修改调整。

     

    关于HDRP的一些链接:

    官方直播教程:https://www.bilibili.com/video/av36008052

    github:https://github.com/Unity-Technologies/ScriptableRenderPipeline/wiki/Getting-started-with-HDRP

    官方文字指南:https://connect.unity.com/p/gao-qing-xi-xuan-ran-guan-xian-hdrpru-men-zhi-nan

    关于LWRP的一篇不错的文章:https://blog.csdn.net/qq_37043683/article/details/80989492

  • 相关阅读:
    Apache POI
    关于数据池连接技术
    CentOS下安装MySQL
    CentOS下安装JDK的三种方法
    Java大话设计模式
    vs2010安装svn插件
    IIS中如何建立FTP服务
    .net控件dropdownlist动态绑定数据 ----转
    在ASP.NET项目中使用CKEditor
    常用Java Web 服务器
  • 原文地址:https://www.cnblogs.com/guaishoudashu/p/12081319.html
Copyright © 2011-2022 走看看