首页 > 其他分享 >光照

光照

时间:2023-09-27 23:55:16浏览次数:45  
标签:贴图 HDR 光源 阴影 投射 光照

UE427官方文档

构建虚拟世界

第一节--构建模型

Lightmass 重要体积:用于控制和集中体积内的光照和阴影效果。

水体:水系统由两个关键元素构成,可编辑的水面和水面材质
水系统有自己的基于样条线的网格体系统,用于定义世界内应该包含水的区域。主要工作流程是使用Water Mesh Actor(水网格体Actor)设置Water Body Actors(水体Actor)的属性。谁网格体定义了所渲染水面的质量和细节

Water Mesh Actor生成Water Body类型的表面,Water Mesh Actor并不会渲染表面。水体的渲染主要通过样条线来确定,样条线可以用来定义关卡中不同类型的河流,湖泊,海洋区域,并且定义了Water Mesh Actor在何处绘制并渲染。其仅渲染当前摄像机视野部分。

第二节--光照

  1. 胶囊体阴影
    胶囊体阴影依附于骨骼,可在场景中精确移动和投射阴影
    物理资源视口中的地面阴影不是胶囊体阴影的代表

阴影分为胶囊体间接阴影,胶囊体直接阴影,和胶囊体间接阴影最低可见度
启用胶囊体间接阴影后,角色将投射柔和阴影,在仅有反射光照的区域中呈现出真实落地的感觉。
胶囊体直接阴影需要将光源移动性设为静止static
构建胶囊体阴影

  1. 环境光源混合器
    window-> Env.Light Mixer
    可以在一个界面中同时编辑关卡中的天空、云、大气光源和天空光照的环境光照组件

  2. HDRI背景
    HDR:高动态范围图像,将HDR图像用作背景,为实现合理效果,在HDR图像环境中需用假的背景平面捕捉阴影,当物体被照亮时,阴影将投射到此假平面,从而在可视化放置物体和背景之间创造一致性。
    利用HDRI背景Actor来完成这些操作

    • 背景网格体
    • 来自动态天空光照的环境照明
    • 动态反射
    • 使用阴影捕捉投射到地面
      HDRI的细节面板中,主要有3个选项
    • Cubeman: 贴图HDRI图像
    • Size: 调整此值设置网格体(HDR图像投射到之上)的大小
    • Projection Center: 要移动其使得与拍摄这张HDR图像的
      摄像机位置高度匹配,目的是减少HDR图像的偏斜和拉伸
  • 光照距离系数,定义摄像机周围的地面区域,混合场景光照和阴影减少它们与背景的差异。
    导入HDR图像为虚幻资产时,HDRIActor不会对其进行修改,需要手动修改。Maximum Texture Size要与HDR图像的较大分辨率匹配,MipGenSettings设置为NoMipmaps以使用完全品质
    HDR图像背景网格体设置
    EnviroDome: 拥有地面平面的穹顶网格体,主要用于大型外部环境的HDR图像
    EnviroBoxSharp: 拥有毛边的箱体环境,是室内环境的理想选择
    EnviroBox: 平滑边缘的箱体环境,用于工作室环境
    注意事项
  • 添加HDR图像时,如果之前有天空光照,则需要将其删除
  1. 光照函数
    本质上就是一种材质,用于过滤光照的强度,只适用于未应用光照贴图的光源(静态光源和可移动光源),静态光照无法使用光照函数

  2. 光照通道
    一项渲染功能,可选择特定的光照照亮可渲染表面。
    使动态光源仅在其光照通道发生重叠时才对物体产生影响,UE最多支持3种光照通道
    同样只能应用于固定光源和移动光源,以及可移动Actor,且无法应用于半透明或者遮罩材质

  3. LightMass门户
    主要效果可以接受点光源,聚光源等光源的光子发射,增强屋内光照效果

  4. 光源移动性

  • Static
    实际就是利用光照贴图
    不能对移动对象产生阴影,可以改变光源半径对静态对象产生阴影
    光照贴图分辨率
    静态网格体:勾选覆盖光照贴图分辨率,值越大,分辨率越高
    笔刷:光照贴图分辨率选项,对密度设置,值越小,分辨率越高

  • Stationary
    位置也是固定的,但是可以改变光源的亮度和颜色
    直接光照:使用延迟着色进行渲染,使得运行时可以改变亮度和颜色
    直接阴影:较大的性能消耗,一般用于在静态的物体上投射静态的阴影
    静态阴影:光照系统会在构建光照过程中为静态对象的固定光源生成距离场阴影贴图,该帖图在分辨率极低下,也可以提供精确的阴影变换。
    注意:最多只能由4个重叠的固定光源形成静态阴影,且太阳光自动占一个,多余4个,将采用全景动态阴影,可以使用StationaryLightOverlap 视图模式来检查,如果超过,该光源的图标会显示红色。
    在半透明表面上作用的静态阴影会显得的粗糙,度量为m
    动态阴影:
    动态对象会从固定光源创建两个动态阴影--一个用于处理静态环境世界投射到该对象上的阴影 ,一个处理该对象投射到环境世界中的阴影
    特殊特性--区域阴影:能在光照投影较远处产生柔和模糊的阴影边界

  • Mobile
    投射完全动态的光照和阴影,在无全局光照方法时不支持间接光照
    阴影偏差:减少因为阴影映射方法导致的瑕疵,通过调整倾斜偏差和阴影倾斜偏差(会影响阴影精度)
    都是从表面产生阴影,值越大效果越明显,但精度越低
    阴影贴图缓存:当光源未移动时,可以存储该光源的阴影贴图用于下一帧,减少阴影投射开销,但又缓存条件

    • 基元将其移动性设为静态或固定。
    • 关卡中使用的材质不使用场景位置偏移
    • 光源必须是点光源或聚光源,移动性设为可移动,并启用阴影投射
    • 光源必须停留在一处
    • 使用动画曲面细分或像素深度偏移的材质可能会在缓存其阴影深度时产生瑕疵

标签:贴图,HDR,光源,阴影,投射,光照
From: https://www.cnblogs.com/XTG111/p/17734679.html

相关文章

  • osg 使用整理 (8):基础光照和法线贴图
    #osg使用整理(8):基础光照和法线贴图##1冯氏光照模型(PhongLightingModel)​冯氏光照模型只考虑直接光照,将进入摄像机的光分为4个部分:​(a)自发光表示当给定一个方向时,一个表面本身会向该方向发射多少辐射量​(b)镜面高光表示物体表面镜面反射的辐射量,模拟有光照的亮点​(c)......
  • Qt3D绘制光照效果
    直接给出一个例子供参考。此例子参考了以下博文中公开的代码并做了整理:Qt::QOpenGLWidget渲染带光照的立方体_D_Guco的博客-CSDN博客这里把立方体换成了四面体,贴图也换成了顶点的颜色。并对代码结构做了简化,以使读者更容易看懂。有兴趣的读者可以调节软件中相机位置、EYE位置......
  • 环境光照 IBL
    环境光照上帝说要有光,于是就有了光,在渲染中,也是一样,物体要被看见,必须要有光。上图是计算机图形学领域里一篇经典论文的“预告图(teaserimage)”,图中展示了真实渲染需要解决的问题:直接光照:直接从光源处发射过来的光源,然后经过物体反射,最终被观察者看到间接光照:物体接收到......
  • UE4学习笔记:光照移动性和物体移动性在构建光照时候的不同作用
    本随笔用于记录随笔作者在学习UE4光照系统过程中对不同移动性的光源对不同移动性的模型产生不同的效果的总结,编写本随笔时UE4引擎版本为4.27。随笔作者还处在学习阶段,难免会出现技术上和书写上的问题,如若发现类似的问题,欢迎在评论区或者私信与我讨论。目录静态(Static)光源静态(Sta......
  • 冯氏光照
    冯氏光照冯氏光照主要结构由三个元素组成:环境(ambient),漫反射(Diffuse)和镜面光照。环境光照:就是即使在非常黑暗的环境下,也有一丝的光(比如月光),这样使得物体表面也有一点颜色。漫反射光照:模拟一个发光物对于物体的方向性影响。就是比如太阳光射过来,阳面肯定比阴面亮。镜面反射:给......
  • 基于C语言设计的全局光照明模型
    完整资料进入【数字空间】查看——搜索"writebug"Part1Whitted-StyleRayTracingStep0.算法流程为了渲染出一张图片,RayTrace()计算了给定像素点的色彩取值。根据光路可逆原理,可以从人眼作为出发点,沿着指向该pixel的某一点的方向发出一条ray。Step1:射线求交这条ray会碰到一个......
  • ESP8266 获取新大陆温湿度光照模块值
    光照是ADC输出的,温湿度走的是I2C。光照直接采样用公式转换即可。光照接线图如下:参考代码(基于Arduino):voidsetup(){Serial.begin(9600);}floatVref=3.3;//参考电压floatR=100.0;//分压电阻阻值floatvalue=0;voidloop(){intsensorValue......
  • 8.混合图层以创建强大纹理和光照效果
    1.导入要融合的图片,红色箭头点击后绿色箭头才可编辑2.透明度调整为50%  3.图层融合方式调整为不同效果-变亮、强光  ......
  • 【雕爷学编程】Arduino动手做(162)---OPT101模拟光照传感器模块3
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是......
  • 【雕爷学编程】Arduino动手做(162)---OPT101模拟光照传感器模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......