IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity演示场景枫丹白露(Fontainebleau)技术分析 -> 正文阅读

[游戏开发]Unity演示场景枫丹白露(Fontainebleau)技术分析

本文地址:https://blog.csdn.net/t163361/article/details/124551700
公司安排用Unity的HDRP做一个相对高质量的场景。选择还原公司附近的一个小公园。由于之前没有太多经验。决定参考Unity官方的枫丹白露场景作为技术参考对象。
整个Demo是Unity巴黎工作室制作的,使用照片建模技术还原工作室附近的枫丹白露森林。
Demo地址
在这里插入图片描述

Demo整体分析

整个演示场景包括演示相关的场景如下:
Demo.unity:基础功能场景
Demo_GR.unity:地形场景
Demo_LI_Day.unity:白天光照场景
Demo_LI_Night.unity:夜晚光照场景
Demo_LI_Sunset.unity:夕阳光照场景
Demo_SD_Day.unity:白天声音场景
Demo_SD_Night.unity:夜晚声音场景
Demo_SD_Sunset.unity:夕阳声音场景
Photogrammety_Kit.unity:资产验证场景
Demo中自带一个很方便的查看场景窗口:Discover Fontainebleau
在这里插入图片描述
通过这个窗口可以很方便的打开4种模式

  • Open Fontainebleau:同时开启Demo,Demo_GR,Demo_LI_Day,Demo_SD_Day场景,运行后就是一个完整的演示端。
  • Open Day:同时开始Demo_GR,Demo_LI_Day。
  • Open Night:同时开启Demo_GR,Demo_LI_Night。
  • Open Sunset:同时开启Demo_GR,Demo_LI_Sunset。
  • Open Photoprammerty_Kit:开启资产验证场景

这个窗口关了后,也可以通过Help->Discover Fontainebleau再次打开

以下分析主要针对Open Day模式进行分析

渲染细节分析

烘焙光照图

Demo_LI_Day:采用的Baked Indirect,相关参数调的比较小。
Demo_GR:猜测使用的是Baked Indirect,但是这个场景的光照图数据和Demo_LI_Sunset公用一个光照文件。具体如何生成的没有深入分析。
通过Demo_GR中的LightmapData物体上有Level Lightmap Data组件,在演示模式下支持动态切光照图。

光照探针

近地光照探侦组
在这里插入图片描述
半空光照探针组
在这里插入图片描述
场景光照探针采用两级光照探针组,近地光照探针组,半空光照探针组。
Demo_LI_GR场景中的LightProbes和LightProbes_low分别对应近地光照探针组和天空光照探针组。
演示场景提供了一个自动布置光照探针的工具,包含在PackageManager中的Light Probes Volumes。
这个工具提供一个组件:LightProbesVolumeSettings。这个组件需要BoxCollider和LightProbeGroup组件,设置好后点Create Light Probes in Selected Volume,就可以自动生成光照探针。

反射探针

在这里插入图片描述
反射探针被包含在Demo场景中。Lighting->ReflectionProbes的子物体都是光照探针。不同的反射探针会有不同的影响范围,猜测会通过碰撞盒来动态切换反射探针。具体影响范围没有分析。

后处理

后处理被分拆到不同的场景中
Demo_GR中包含的Shadows和Fog的后效,Volume挂在PlanarRefectionRenderingSettings物体上。这个主要用来解决水洼反射效果的穿帮问题。
Demo_LI_Day中有两类后效:
POSTPROCESSING->Day物体上的Volume组件,包含White Balance,Exposure,Lift-Gamma-Gain,Color Adjustments四种后效。
SkyAndFogSettings物体上的Volume组件,包含VisualEnvironment,HDRI Sky,Fog,Physically Based Sky组件

阴影

地上云的影子:在Demo_LI_Day场景的Lights->Directional light组件上添加Cookie Cloud Animation组件来形成云层飘过形成的地面阴影效果。
物体阴影:Demo_GR场景中一些高大的树和石头都会直接产生阴影,但是地面的一些灌木就不会产生阴影。地上云的影子是通过Light上添加Cookies
补充阴影:Demo_LI_Day场景中,通过使用ShadowCasters->Realtime_shadowCasters下的子物体产生了额外的阴影效果。猜测应该是只有物体阴影比较单薄,然后又添加了一些假阴影来增强整个环境的阴影氛围。可以观察到添加这些阴影片后,树冠的叶子被人为的压暗了。

场景特效

Demo_LI_Day场景中有烟尘和落叶效果,包含着VFX Root节点下。

地形

在这里插入图片描述

在这里插入图片描述

地形使用了8张纹理,没有使用SpeedTree和实例草

镜头耀斑效果

在这里插入图片描述

Demo_LI_Day场景中包含两个物体Lights->Directional light是真正产生光照的灯光组件,看向太阳是的光斑效果是通过Sun->LensFlare上的HDRP Lens Flare组件来实现的。Sun物体上有Same Rotation As组件,这个组件保证光斑物体和方向光的朝向能保持一致。

水洼效果

在这里插入图片描述

通过Decal实现了简单的水洼反射效果,具体可以看Demo_GR场景中的DECALS下的子物体。同时还利用了一个后效来改善Decal的穿帮效果。

通过Demo_LI_Day场景中的Wind_Default物体上的Basic Wind Data,HDRP Global Settings里面的Basic Wind以及树和灌木上的定制Shader,实现了后处理的树木被风吹动的效果。
在这里插入图片描述

场景中远景

在这里插入图片描述

Demo_GR场景中使用了三个环形模型来营造了场景中的中远景的森林效果。具体都放到Background物体下面。

环境物体设置

整个演示的环境物体都在Demo_GR中的Props物体下面。下面简单分析下不同物体在设置上的区别

  • Tree_03_01
    在这里插入图片描述
    场景中的大树,物体上包含LOD Group,LOD Group Override,Light Probe Proxy Volume三个组件。实现了树的LOD效果和光照探针代理效果。
    包含以下8个子物体
物体作用是否产生阴影是否贡献GI光照探针着色器静态标记额外组件
Branches02树冠枝杈Blend ProbesBranches_Wind,采用Pine(Diffusion Profile Settings)
Thorn02松针使用父物体的光照代理Branches_Wind,采用Pine(Diffusion Profile Settings)
Trunk02_LOD0树冠的L0D0级使用父物体的光照代理Trunk_Wind只开启Contribute GIPolybrush Mesh
Trunk02_LOD1~4树冠的L0D1~4级使用父物体的光照代理Trunk_Wind
Collider树的碰撞器
  • Rock_06_Prefab
    在这里插入图片描述
    场景中的石头,物体上包含LOD Group组件。实现了石头的LOD效果
    包含6个子物体,都是LOD的子级
物体作用是否产生阴影是否贡献GI光照探针着色器静态标记额外组件
Rock06_LOD0石头的L0D0级贡献,接受Lightmaps的GILayeredLit全部开启Polybrush Mesh
Rock06_LOD1~5石头的L0D1~4级LayeredLit开启 Batching,Navigation,Occludee,Off Mesh Link Generation,Reflection ProbeLightmapped LOD
  • Pine_01
    在这里插入图片描述

大树旁伴生的小松树,无子物体

物体作用是否产生阴影是否贡献GI光照探针着色器静态标记额外组件
Pine_01小松树贡献,接受LightProbes的GIBlend ProbesBranches_Wind关闭Batching标记,其他全部开启
  • Pine_Cone_Prefab
    在这里插入图片描述
    松果,物体上有LOD Group,Rigibody,On Awake Event Rigibody Action4个额外的组件,提供LOD和碰撞触发事件的功能。
    包含5个子物体,都是LOD的子级
物体作用是否产生阴影是否贡献GI光照探针着色器静态标记额外组件
Pine_Cone_LOD0松果的LOD0级Blend ProbesLit只开启OccludeeCapsule Collider
Pine_Cone_LOD1松果的LOD1级Blend ProbesLit只开启Occludee
Pine_Cone_LOD2~4松果的LOD2~4级Blend ProbesLit,去掉了Mask和法线贴图只开启Occludee
  • Vegetation_1
    在这里插入图片描述
    覆盖地面的草丛,包含LOD Group组件。
    包含3个子物体,都是LOD的子级
物体作用是否产生阴影是否贡献GI光照探针着色器静态标记额外组件
Vegetation_01_LOD0草的LOD0级Blend ProbesBranches_Wind,采用Leaves(Diffusion Profile Settings)开启Batching,Navigation, Occludee, Off Mesh Link Generation ,Reflection Probe
Vegetation_01_LOD1~2草的LOD1~2级Blend ProbesBranches_Wind,采用Leaves(Diffusion Profile Settings)开启Batching, Occludee
  • Bush_01_04_Prefab
    在这里插入图片描述
    地面的草丛,包含LOD Group组件。
    包含2个子物体,都是LOD的子级
物体作用是否产生阴影是否贡献GI光照探针着色器静态标记额外组件
Bush_01_04_LOD0草的LOD0级Blend ProbesBranches_Wind,采用Leaves(Diffusion Profile Settings)开启Reflection Probe
Bush_01_04_LOD1草的LOD1级Blend ProbesBranches_Wind,采用Leaves(Diffusion Profile Settings)开启Reflection Probe
  • Bush_03_Prefab
    在这里插入图片描述
    地面的草丛,包含LOD Group组件。
    包含2个子物体,都是LOD的子级
物体作用是否产生阴影是否贡献GI光照探针着色器静态标记额外组件
Bush_01_04_LOD0草的LOD0级Blend Probes两个材质球,Branches_Wind,采用Pine(Diffusion Profile Settings) 另一个着色器是Trunk_Wind
Bush_01_04_LOD1草的LOD1级Blend Probes两个材质球,Branches_Wind,采用Pine(Diffusion Profile Settings) 另一个着色器是Trunk_Wind
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-05-09 13:05:27  更:2022-05-09 13:06:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 11:41:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码