当前位置:   article > 正文

Unity-HDRP-Sense-4

Unity-HDRP-Sense-4

Unity-HDRP-Sense-4

1.4 Unity HDRP项目设置

1.4.1 创建一个基于高清渲染管线(HDRP)的Unity项目

1.安装Unity Hub

Unity Hub是用于管理Unity编辑器安装(可以同时安装多个版本的Unity编辑器)、管理指定版本Unity编辑器的模块,以及获取官方最新讯息和学习资料的一站式入口。可以通过Unity中国区官网下载安装UnityHu

(1)Hub社区界面

在这里你可以:

  • 查看最新的技术分享文章、直播预告和直播回放。
  • 收到最新的Unity中国区技术分享推送信息
  • 获取最新的资源商店促销信息。

(2)Hub项目界面

你可以在这个界面(见图1.11)管理本地电脑和保存在Unity云端服务器的所有项目。可通过 “添加” 按钮把本地硬盘上的Unity项目添加到项目列表中。

Hub管理多个Unity版本的优势在这里得到充分的体现:你可以通过 “Unity版本” 这一列,将相关项目的Unity版本切换到其他版本( 注:项目在Unity版本之间切换也要注意项目中所有功能模块和脚本API的版本兼容问题 )。

(3)Hub学习界面

学习界面(见图1.12)提供Unity全球教育团队为广大开发者精心制作的免费项目和教程,帮助开发者通过实际项目快速上手使用Unity。

(4)Hub安装界面

在此界面(见图1.13)中你可以选择安装所需的Unity版本,也可以添加之前通过独立Unity安装包已经安装到本地机器上的Unity版本。

2.创建一个新的Unity HDRP项目

打开Unity Hub的项目界面,在项目界面上单机 “ 新建 ” 按钮右侧的三角形按钮,打开Unity版本选择列表,如图1.14所示

选择列表中的2019.4.10f1。在打开的创建新项目界面中,选择High Definition RP 作为项目模板,输入项目名称,选择本地文件夹位置,最后单机 “ 创建 ” 按钮,如图1.15所示。

经过几分钟的等待(导入速度和你电脑的CPU运行速度相关,因为项目创建过程涉及素材导入)。新项目就创建成了。项目创建完成以后,Unity编辑器打开的默认界面如图1.16所示。

可以看到,通过HDRP项目模板来创建项目,Unity会为我们自动设置好所有的HDRP高清渲染管线资源。
该项目中也包含一个简单的实力场景。场景中包含一个相机、一盏平行光灯(Directional Light)、最基本的天空和雾的Volume(关于什么是Volume,稍后会详细解释)、后处理Volume、光照探针组(Light Probe Group)、反射探针(Reflection Probe),以及一个模型。(注:如果你熟悉HDRP使用方法,可以直接将示例项目删除。不过建议保留项目窗口中的HDRPDefualtResource、Resets和Settings三个文件夹,否则需要手动生成HDRP渲染管线相关的配置文件。)

1.4.2 通过示例项目了解HDRP相关的概念和模块

在我们打开本书的项目进行具体操作之前,有必要把Unity中与HDRP相关的概念和模块先熟悉一边,特别是其中的关键专有名词。只有知道了他们的具体含义,才不至于在接下来的教程迷失方向。

1.Unity Package Manager(Unity包管理器)

你可以不了解Unity的物理系统,不知道怎么编写Unity的着色器,因为有可能你用不到这些功能。但是你一定要了解什么是Package Manager。因为它长官者Unity编辑器提供的众多功能。从最基本的可编程渲染管线到专门的模块,比如Timeline或者Cinemachine(虚拟相机系统)。而且随着Unity模块化的加速发展,越来越多的模块被才分出来放入了Package Manager,而更多还未发布的模块只会通过Package Manager来发布。

可以通过Windows->Package Manager打开其界面(如图1.17所示)。Package Manager的界面非常直观:左侧是当前Unity提供的Package(包)。选中某个包以后,右侧会展示与其相关的介绍、文档链接、依赖包(Dependencies)、一个或者多个实例工程导入按钮(Samples)或者额外的素材资源。在界面的右下角可以看到安装(Install)、更新(Uptodate)和移除(Remove)按钮,用于对选中包进行相关操作。

目前Package Manager提供两种包:验证包(verified)和预览包(preview)。
默认打开的Package Manager 界面中不会显示预览包。你可以单机顶部居中的按钮,在下拉菜单中选择Show Preview Packages命令显示所有预览包,如图1.18所示。
注:如果你对Unity基本概念,比如Hierachy和Project窗口、GameObject还不熟悉,建议先了解Unity的基础只是在继续本书的阅读。

  • 主相机:用于控制最总看到的画面。
  • 平行光:场景中的直接光源,用于模拟太阳光
  • 天空和雾效:提供用于基于HDRI光照,控制曝光度、雾效等。
  • 后处理:可用于控制诸如白平衡、曝光、镜头畸形等效果。这些效果将作用与整个画面。
  • 光照探针组:通过使用一组Light Probe(光照探针)为场景提供反射信息。此场景使用了三个反射探针,用于为不同的区域提供反射信息。

如图1.21所示,虽然示例场景中的内容比较简单,但是"麻雀虽小,五脏俱全",因为一个HDRP高清实时渲染场景该有的组件它都具备了,所以我们没可以拿这个场景来介绍上述列出的各个组件。理解这些组件,以免以后因为场景复杂而感到迷惑

(1)主相机
在示例场景中,Main Camera 是我们得主相机,也是唯一的相机。主相机负责显示最终画面。图1.22所示是选中MainCamerazhi之后,在Inspector窗口看到的相机组件信息。
我们可以通过相机的组件列表来了解Unity的组件系统。大家可以看到,相机组件列表最顶部的组件时Transform组件,其中包含Position、Rotation和Scale三个可调节的属性。Transform组件是每一个Unity中的GameObject(Unity场景中最基本的组成元素)必备的组件,用于移动旋转、旋转和缩放物体。因为相机在场景中是不可见的,所以Scale属性对它没有意义,但我们可以移动旋转它。

第二个组件是Camera,这个组件包含了所有和相机有关的功能,包括设置背景颜色(Background Color)、提出遮罩(CullingMask,用于控制此相机要渲染的物体,可以为每个物体设置不同的层)和设置可视角度(Field of View)等。
如图1.22所示,我们可以看到一个Physical组,该组中包含Unity中所谓的 “物理相机”。”物理相机“ 实际上就用于模拟真实世界相机的参数,让开发者可以更容易的将比如你可以通过物理相机控制Sensor Type(传感器类型)
通过以上的描述,大家应该对相机有一个初步的印象。Unity场景中最基本的组成单元是GameObject。每个GameObject必备的组件是Tarnsform。当你向GameObject中添加了不同的组件后,这个GameObject就具备了所添加组件赋予的能力(比如添加Gamera组件后他就变成了一个相机)。反之我们也可以移除这些添加的组件的物体,此时为一个空的GameObject,如图1.23所示

(3)平行光
示例场景中只有一盏平行光(Directional Light),用于模拟太阳光。后面会详细讲解HDRP中各类类型的光源,以及如何正确设置灯光的亮度、阴影及体积光等效果。

(4)天空和雾效
除非我们是一个完全封闭的环境中,比如一个封闭的太空长或者地下城,否则都要考虑来自天空的光照,包括雾效。HDRP使用Volume框架将天空的光照、阴影、后处理等设置集中到了一起。在场景中有两个Volume:Sky and Fog Volume 和 Post Process Volume。这两个Volume分别负责天空、雾效与后处理效果。我们先来卡一下Sky and Fog Volume,如图1.24所示。

  • Volume组件:Volume框架其实就是一个组件,它和Camera组件本质是一样的,因为两者多可以被添加到GameObject中,为其添加功能。

  • Mode(模式):可以将Volume设置为Global(全局)模式或者Local(本地)模式。如果设置为全局模式,则Volume上的效果默认会影响整个场景。设置为本地模式则可以为其指定不同形态的碰撞体,比如Box、Sphere等。Volume上的效果只会在相机与Volume上的碰撞体发生碰撞时被触发。

    例如如果你的场景中有多个房间,每个房间朝向是不一样的,则你可以为每个房间设置一个本地模式的Volume,比如朝北房间时偏冷色调,朝南房间因为有阳光照射的碰撞体发生碰撞,而出发偏冷色调的本地Volume,所以整个画面看上去就是冷色调进入南方见时则用相同的机制出发偏暖色调的本地Volume,所以整个画面看上去就时冷色调。进入南房间时则用香港铜的机制触发偏暖色调的本地Volume,此时整个画面过度变化为暖色调。

  • Profile(配置文件):使用Volume框架的一个好处就是可以把组件和具体的设置进行分离。Volume组件上的所有设置其实来自与关联的Profile。在开始设置之前,需要先创建一个新的Volume Profile 或者关联一个已经存在的Profile。Profil是一个用Unity资源格式将自己的Profile分享给别人使用(要确保大家使用的Unity版本是互相兼容的)

  • Visual Enviroment:主要用与选择天空盒的格式。可以选择None(不使用天空盒,不会有来自天空和的环境光)、Gradient Sky(使用渐变色程序化生成的简单天空盒、HDRI Sky(从关联的HDRI高动态图片采样获得天空盒光照信息)、Physical Based Sky(基于物理的程序化生成的天空盒,可以用于模拟日夜变换、大气厚度等复杂天空效果)。

  • Hdri Sky:在实力场景中,因为选择Visual Environment的Type设置为HDRI Sky以后,所以要为Volume指定一个HDRI Sky。如图1.26所示,再将Visual Enviroment的Type设置为HDRI Sky以后,需要单击Volume底部的Add Override(添加重载)按钮。接着在Sky分类的下面选择HDRI Sky

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/119965?site
推荐阅读
相关标签
  

闽ICP备14008679号