首页 > 其他分享 >UE4学习笔记:光照移动性和物体移动性在构建光照时候的不同作用

UE4学习笔记:光照移动性和物体移动性在构建光照时候的不同作用

时间:2023-08-04 18:23:47浏览次数:34  
标签:贴图 静态 光源 模型 移动性 UE4 Stationary 光照

本随笔用于记录随笔作者在学习UE4光照系统过程中对不同移动性的光源对不同移动性的模型产生不同的效果的总结,编写本随笔时UE4引擎版本为4.27。

随笔作者还处在学习阶段,难免会出现技术上和书写上的问题,如若发现类似的问题,欢迎在评论区或者私信与我讨论。

目录

静态(Static)光源

静态(Static)光源对静态(Static)模型产生的光照效果

  • 直接光照:无。因为静态光照的信息仅仅只用于Lightmass系统构建光照,构建完成之后静态光源实际上已经相当于不存在了。
  • 间接光照:使用Lightmass构建光源生成“表面光照贴图”,然后烘焙到模型上产生光照效果。
  • 阴影:使用Lightmass构建光源的同时会生成阴影,也就是说阴影已经存在于光照贴图里面,并同光照贴图一起被烘焙到模型上。

静态(Static)光源对固定(Stationary)模型产生的光照效果

  • 直接光照:无。因为静态光照的信息仅仅只用于Lightmass系统构建光照,构建完成之后静态光源实际上已经相当于不存在了。
  • 间接光照:会使用引擎的Lightmass系统构建光源生成的“体积光照贴图”并用体积光照贴图通过插值的方式照亮模型,但实际上固定模型并不会参与Lightmass的光源构建过程因此并不会接收到烘焙的结果。
  • 阴影:无。因为模型不参与Lighemass的光照烘焙过程。

静态(Static)光源对可移动(Movable)模型产生的光照效果

要点

  • 体积光照贴图是通过Lightmass系统构建光源生成的,因此只有构建间接光照的时候才能生成对应的体积光照贴图。

可移动(Movable)光源

可移动(Movable)光源对静态(Static)模型产生的光照效果

  • 直接光照:使用光源的信息(亮度、颜色等)采用延迟着色的渲染方法直接照亮对象。
  • 间接光照:无。因此也不会生成体积光照贴图。
  • 阴影:生成完全动态的阴影.但是需要注意的是如果光源类型是“定向光源(Directional Light)”的话则该动态阴影使用“级联阴影贴图(Cascaded Shadow Maps,CSM)”来实现。

可移动(Movable)光源对固定(Stationary)模型产生的光照效果

可移动(Movable)光源对可移动(Movable)模型产生的光照效果

要点

  • 可移动光源最主要的目标是生成高质量的动态阴影,并且可以任意改变光源的属性,因此可移动光源不会生成任何间接光照,也不会存在光照贴图和体积光照贴图。
  • 可移动定向光源生成的阴影并不是完全动态阴影,而是“级联阴影贴图(CSM)”,这一点是与其他可移动光源有所区别的地方。

固定(Stationary)

固定(Stationary)光源对静态(Static)模型产生的光照效果

  • 直接光照:通过光源的属性采用延迟着色的渲染方法对物体进行直接照明。
  • 间接光照:使用Lightmass系统构建光源时候生成的表面光照贴图烘焙到模型上。
  • 阴影:使用Lightmass系统构建光源的时候就会生成阴影,但并没有合并到光照贴图里面,而是生成单独的“阴影贴图(Shadow Map)”,因此当固定光源被关闭的时候,静态模型的阴影也消失了,但这不代表该阴影是动态的,而是因为固定光源把阴影贴图给暂时隐藏起来。

固定(Stationary)光源对固定(Stationary)模型产生的光照效果

  • 直接光照:通过光源的属性采用延迟着色的渲染方法对物体进行直接照明。
  • 间接光照:使用Lightmass系统构建光源时候生成的体积光照贴图对模型的像素进行插值染色。
  • 阴影:生成完全动态的阴影。

固定(Stationary)光源对可移动(Movable)模型产生的光照效果

要点

  • 固定光源几乎可以看成是“静态光源+动态光源”的一个复合光照方案,即实现了静态光源的全局光照功能,又实现了动态光源的高质量阴影。

标签:贴图,静态,光源,模型,移动性,UE4,Stationary,光照
From: https://www.cnblogs.com/u-n-owen/p/17585740.html

相关文章

  • 冯氏光照
    冯氏光照冯氏光照主要结构由三个元素组成:环境(ambient),漫反射(Diffuse)和镜面光照。环境光照:就是即使在非常黑暗的环境下,也有一丝的光(比如月光),这样使得物体表面也有一点颜色。漫反射光照:模拟一个发光物对于物体的方向性影响。就是比如太阳光射过来,阳面肯定比阴面亮。镜面反射:给......
  • 【Ue4】Ue4打包安卓报错 error: cannot find symbol. 以及打包日志乱码
    本地环境:ue4.26.2androidStudio4.0ndk21.4.7075529jdk1.8.0_77报错日志:或者日志乱码的话,把电脑首选语言改成英语就行了,简单粗暴;重点讲一下安卓打包报错的问题。解决过程:重启电脑重装epic和ue4引擎重装ndk、buildTools重装jdk、降级jdk版本重装AndroidStudio删除......
  • 基于C语言设计的全局光照明模型
    完整资料进入【数字空间】查看——搜索"writebug"Part1Whitted-StyleRayTracingStep0.算法流程为了渲染出一张图片,RayTrace()计算了给定像素点的色彩取值。根据光路可逆原理,可以从人眼作为出发点,沿着指向该pixel的某一点的方向发出一条ray。Step1:射线求交这条ray会碰到一个......
  • UE4常用概念
          ......
  • UE4构建基础和实践:一、概述
    序言构建这个概念是和应用程序包及资源等相关的,它的特点是使用脚本控制一系列的任务的处理,以减少人力操作带来的成本和操作失误风险。在UE的概念里,构建往往是和打包相关的(如编译、cook、压缩打包等)。但是在项目日常的开发中,构建的语义会更加的广泛,据我所知它可能包含:打各个平......
  • UE4构建基础和实践:二、Editor打包Win&Android
    此次打包使用的是5.2版本Win包操作流程参考打包项目|UE文档设置默认地图点击创建打包文件解释&分析产物分析打开打包时设置输出目录,大概如下:可以看到大概有下面几个文件目录:-ProjectName:我的项目名是BuildTest,所以文件名为BuildTest-Engine:引擎相关目录-Bui......
  • UE4构建基础&实践:三、UAT命令打包
    序言在上一篇文章中,我们使用了Editor进行打包,提到了日志的中的打包命令和参数。这一篇中,我们将实践使用UAT和默认命令打包Android,并介绍相关参数和用法。UAT&打包命令首先给出UAT工具的运行方法和打包命令参数:UAT在引擎目录下找到Engine\Build\BatchFiles的RunUAT.bat文件......
  • UE4构建基础和实践:五、CI/CD平台自动化打包
    序言使用CI/CD平台构建(这里使用蓝盾平台)主要是通过平台脚本运行上一章的py脚本并传递参数(即把py中的参数开放给配置平台脚本配置)。Build.py重构我们需要在py脚本里面解析和设置参数importsysimportosimportgetoptdefmain(argv):ProjectName=""......
  • UE4构建基础和实践:四、使用脚本打包
    序言使用UE版本为UE5.20在实际项目中,我们常常使用自动化脚本来进行构建,它可以增加我们的生产效率,并降低人为操作带来的失误风险。BuildGraphBuildGraphUE官方提供的构建脚本系统,它可以读取对应的XML脚本实现自动化打包。BuildGraph相关的参考BuildGraph|UE文档重点是它相......
  • ESP8266 获取新大陆温湿度光照模块值
    光照是ADC输出的,温湿度走的是I2C。光照直接采样用公式转换即可。光照接线图如下:参考代码(基于Arduino):voidsetup(){Serial.begin(9600);}floatVref=3.3;//参考电压floatR=100.0;//分压电阻阻值floatvalue=0;voidloop(){intsensorValue......