小怿学习日记(七) | Unreal引擎灯光架构

灯光的布局对于HMI场景中车模的展示效果有着举足轻重的地位。本篇内容将简单介绍ES3.1的相关知识,再深入了解Unreal引擎中车模的灯光以及灯光架构。

一、关于ES3.1

1.1 什么是ES3.1

ES3.1这个概念对于美术的同学可能比较陌生,ES3.1指的是OpenGL ES3.1,这是移动设备和嵌入式系统常用的图形API。我们可以理解为是一种渲染方式,或者是渲染算法,类似于换一个渲染器或者渲染管线。

Unreal引擎中启用ES3.1之后,由于算法不同,灯光效果会发生改变,如图1.1.1和图1.1.2所示。

图1.1.1 PC环境下的场景效果

图1.1.2 ES3.1环境下的场景效果

1.2 为什么要用ES3.1

市场上的量产车型项目中,使用Unreal引擎时都会选择OpenGL ES3.1(ES3.1)环境。主要是源于芯片算力限制、平台兼容性、开发成本与车规级稳定性需求的综合权衡,这个只需简单了解,不必深究。

我们在制作Unreal 项目的时候,需要与市场上普遍应用的开发环境相适配,所以选择ES 3.1作为开发环境进行项目制作。

1.3 怎么启用ES3.1

在界面顶部找到:设置——预览渲染级别——Android ES3.1,选择即为启用。待加载完成即可。

图1.3.1 启用ES 3.1

二、灯光的选择

从项目落地的角度出发,我们需要控制性能开销在一定的范围内,并且要保证帧率、发热量。灯光的使用会很大程度影响性能的开销,所以我们必须保证开销低的情况下去制作灯光架构。

2.1 可移动光源

一般工程里面会尽量避免使用可移动光源,可移动光源虽然效果好,但是需要以很大的性能开销为代价,满足不了性能的需求。可移动光源包括定向光源、点光源、聚光灯、矩形光源等多种光源的可移动模式,如图2.1.1所示。

图2.1.1 可移动光源

其中定向光源、点光源、聚光灯、矩形光源由于其光照的方向性或者衰减较强,如果不使用可移动性的话,只能通过静态烘焙的方式制作灯光效果。静态烘焙的灯光效果不在本篇灯光架构讨论范围内,所以本篇不会展开讨论。

2.2 Skylight

Skylight通常作为环境光的整体照亮,即可以调整默认的天空环境去使用,也可以选择HDRI之类的环境贴图来处理光照。Skylight既有360°环绕光照,又具备开销低的特性。非常适合在ES3.1的开发环境下使用。

图2.2.1 切换立方体贴图

2.3 HDRI Backdrop

HDRI Backdrop与使用HDRI贴图的skylight类似,但区别在于skylight上的HDRI贴图在环境中不可见。我们可以在设置——插件里面找到HDRI Backdrop,勾选启用并重启Unreal 引擎。

图2.3.1 启用HDRI Backdrop

启用HDRI Backdrop之后,可以在光源集合里面找到新增了一个HDRI背景,直接将其拖入到场景中,便可以完成调用。

图2.3.2 调用HDRI Backdrop

2.4 反射捕捉

反射捕捉有球体反射捕捉和盒体反射捕捉,两者在使用上并没有什么区别。反射捕捉并不属于光源的类别,属于视觉效果的类别中。所以它的性能开销也是很小的。反射捕捉与skylight相同的是:都可以切换指定的立方体贴图。所以我们可以通过HDRI贴图去控制环境中的反射效果,也可以通过修改HDRI贴图去强化类似腰线等结构的反射效果。

图2.4.1 视觉效果

三、灯光的搭配

3.1 反射捕捉+HDRI Backdrop

反射捕捉用来提供车身的高光反射。我们将反射捕捉放入场景中,调整大小到比车模稍大两三倍即可。

图3.1.1 调整反射捕捉的大小

然后在HDRI上画出和车身腰线匹配的高光弧线,以此构建车身的基础反射和腰线高光,如图3.1.2。

图3.1.2 绘制HDRI的高光

将HDRI填充进反射捕捉中,我们可以看到车身上已经有了不错的反射效果。但是车身的基础照亮还没有处理,所以看上去的效果还不是很正确。

图3.1.3 反射捕捉的照明效果

HDRI Backdrop用来提供车身的基础亮度和可视化背景,可以看到图3.1.3里面,天空背景的颜色都是黑色,和车身上的反射效果并不匹配。在我们给场景添加HDRI Backdrop,给上和反射捕捉相匹配的HDRI,车身上的基础照亮和天空的可视化背景也得到了完善。

图3.1.4 添加HDRI Backdrop

3.2 反射捕捉+Skylight+球体背景

如果我们需要将可视化背景和车身基础亮度的照射分开的话,就需要使用Skylight去提供车身的基础照明,另外通过制作背景模型去提供背景的可视化。需要注意的是,背景不能提供任何光照以及反射效果,如图3.2.1所示,仅启用背景模型时,车模上不会有任何被照亮或反射的效果。

图3.2.1 可视化背景不参与光照

反射捕捉和3.1所提及的内容相同,不再赘述。图3.2.2是仅开启反射捕捉的效果,相比图3.1.3的示例去掉了湖面等环境元素,但车身上的反射效果是一致的。

图3.2.2 仅反射捕捉

Skylight可以直接拖入场景当中,填充对应的HDRI即可满足基础的底色光照。对比图3.2.2与图3.2.3,很明显可以看出车身上的轮胎,塑胶件和车漆底色的照明效果发生了改变。

图3.2.3 添加Skylight

背景模型的使用需要看具体情况来选择,如果旋转的视角限制在很小的角度,或者固定视角,那背景可以使用一个面片填充贴图,用最简单的方式即可满足开发需求。当需要360°旋转甚至俯仰角度的旋转时,就需要一个球形的模型来作为背景支撑。与球形UV相对应的,不管是制作的渐变背景还是天空背景,我们的贴图样式都需要与HDRI的展开方式一致。

首先制作一个巨大的球形,并将其材质的着色模型修改成无光照,并勾选双面选项,这样我们从内部才能看到球形的背景模型。

图3.2.4 修改材质类型

然后我们将准备好的HDRI背景贴图导入材质编辑器,右键将纹理节点转换成参数,如图3.2.5所示。

图3.2.5 贴图转化为参数

在贴图参数的前面简单链接上几个节点控制HDRI贴图的旋转即可,如图3.2.6。

图3.2.6 控制HDRI旋转

我们也可以再增加多一些参数,结合上简单的运算,比如对比度、强度、亮度等,如图3.2.7所示,可以方便在Unreal 引擎中直接调整贴图展示的最终效果。

图3.2.7 简单的参数运算

图3.2.8 加上模型背景

3.3 添加地面反射

在完成了灯光制作之后,可能最终效果还稍显瑕疵,这时候我们可以通过添加地面反射的方式,为场景添加一些层次。如图3.2.8中,模型背景的效果比较素,车模与场景拉不开空间感。这时候就可以在地面增加对车模的反射,提升车模与场景的融合度,增加层次感,如图3.3.1。

图3.3.1 增加地面反射

本篇笔记说明了Unreal 引擎中选择ES3.1环境进行项目制作的缘由,介绍了Unreal引擎中各种灯光在ES3.1环境下的适配情况,并介绍两种灯光架构制作场景的打光。如果想了解更多关于Unreal HMI 3D解决方案的信息,欢迎发送邮件至mkt@eptcom.com联系我们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/972871.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DeepSeek 接入PyCharm实现AI编程!(支持本地部署DeepSeek及官方DeepSeek接入)

前言 在当今数字化时代,AI编程助手已成为提升开发效率的利器。DeepSeek作为一款强大的AI模型,凭借其出色的性能和开源免费的优势,成为许多开发者的首选。今天,就让我们一起探索如何将DeepSeek接入PyCharm,实现高效、智…

广度优先搜索详解--BFS--蒟蒻的学习之路

1.什么是广度优先搜索? 广度优先搜索(Breadth-First Search,简称BFS)是一种遍历或搜索树和图的算法,也称为宽度优先搜索,BFS算法从图的某个节点开始,依次对其所有相邻节点进行探索和遍历,然后再…

. Unable to find a @SpringBootConfiguration(默认软件包中的 Spring Boot 应用程序)

解决: 新建一个包即可 问题: 默认软件包中的 Spring Boot 应用程序。 原因: 默认包的定义 : 如果一个 Java 类没有使用 package 声明包名,则该类会被放置在默认包中。Spring Boot 遵循 Java 的包管理约定&#xff…

DeepSeek企业级部署实战指南:从服务器选型到Dify私有化落地

对于个人开发者或尝鲜者而言,本地想要部署 DeepSeek 有很多种方案,但是一旦涉及到企业级部署,则步骤将会繁琐很多。 比如我们的第一步就需要先根据实际业务场景评估出我们到底需要部署什么规格的模型,以及我们所要部署的模型&…

“三次握手”与“四次挥手”:TCP传输控制协议连接过程

目录 什么是TCP协议 “三次握手”建立连接 “四次挥手”断开连接 “三次握手”和“四次挥手”的反思 总结 什么是TCP协议 想象一下,你和远方的朋友要进行一场电话交流,但这通电话不仅仅是随便聊聊,而是要传递一封重要的信件。为了确保这…

网络运维学习笔记 012网工初级(HCIA-Datacom与CCNA-EI)某机构新增:GRE隧道与EBGP实施

文章目录 GRE隧道(通用路由封装,Generic Routing Encapsulation)协议号47实验:思科:开始实施: 华为:开始实施: eBGP实施思科:华为: GRE隧道(通用路…

Android 动态加入Activity 时 manifest 注册报错解决。使用manifestPlaceholders 占位

需求如下: 项目 测试demo 有多个渠道,部分渠道包含支付功能,在主测试代码外,需要一个单独 Activity 调用测试代码。 MainActivityPayActivity渠道A包含不包含渠道B包含包含 因为支付功能需要引入对应的 moudule,因此…

【koa】05-koa+mysql实现数据库集成:连接和增删改查

前言 前面我们已经介绍了第二阶段的第1-4点内容,本篇介绍第5点内容:数据库集成(koamysql) 也是第二阶段内容的完结。 一、学习目标 在koa项目中正常连接数据库,对数据表进行增删改查的操作。 二、操作步骤 本篇文章…

linux--关于makefile

makefile文件 可以指定编译顺序,这样方便一个项目的多个文件要编译的挨个操作的麻烦。 makefile文件的命名:makefile 或者 Makefile 必须是这俩,系统才能识别 规则的书写语法如下: 一个makefile内可以有多个规则 目标:依赖a 依…

俄罗斯方块游戏完整代码示例

以下是一个基于Cocos Creator引擎开发的俄罗斯方块游戏的完整代码示例。该游戏实现了俄罗斯方块的基本功能,并且代码整合在单个文件中,无需任何外部依赖,可以直接在浏览器中运行。 1. 创建Cocos Creator项目 首先,确保你已经安装了…

学习kafka和flink

kafka kafka安装一套流程 方法一:启动需安装zookeeper和kafka 【Kafka】Windows下安装Kafka(图文记录详细步骤) 安装Tzq2018写的上面链接安装的,一切很顺利,除了zookeeper的环境变量不管如何配置都不管用&#xff0…

SLT-加载表添加字段重新刷数

1、LTRC数据提供->输入表名->停止加载/复制 2、LTRS添加表字段(只有在加载部分字段的情况下); 在查看修改概览页将需要的字段选中并删除,删除的字段自动归集到已修改概览里。 3、数据提供-》输入表名-》创建/数据库视图&am…

【黑马点评优化】2-Canel实现多级缓存(Redis+Caffeine)同步

【黑马点评优化】2-Canel实现多级缓存(RedisCaffeine)同步 0 背景1 配置MySQL1.1 开启MySQL的binlog功能1.1.1 找到mysql配置文件my.ini的位置1.1.2 开启binlog 1.2 创建canal用户 2 下载配置canal2.1 canal 1.1.5下载2.2 配置canal2.3 启动canal2.4 测试…

【iOS】SwiftUI状态管理

State ObservedObject StateObject 的使用 import SwiftUIclass CountModel: ObservableObject {Published var count: Int 0 // 通过 Published 标记的变量会触发视图更新init() {print("TimerModel initialized at \(count)")} }struct ContentView: View {State…

组合总和力扣--39

目录 题目 思路 剪枝优化 代码 题目 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的…

基于知识图谱的问答系统:后端Python+Flask,数据库Neo4j,前端Vue3(提供源码)

基于知识图谱的问答系统:后端PythonFlask,数据库Neo4j,前端Vue3 引言 随着人工智能技术的不断发展,知识图谱作为一种结构化的知识表示方式,逐渐成为问答系统的重要组成部分。本文将介绍如何构建一个基于知识图谱的问答…

【第四届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2025】网络安全,人工智能,数字经济的研究

重要信息 会议官网:www.csaide.net 会议时间:2025年3月7-9日 会议地点:马来西亚-马来西亚理工大学新山校区(线上线下混合) 简介 过去几年,数字经济蓬勃发展,已成为全球经济增长的驱动力。…

VSCode AI提效工具,通义灵码前端开发体验

安装 安装依旧很简单,vs code拓展插件中搜索就出来了,记住下边这个图标。 亮点 新接入了deepseek-v3\deepseek-r1模型,不仅支持智能问答,而且增加了AI程序员,可以直接按照完成编码任务,修改优化代码&am…

Ansys Zemax | 使用衍射光学器件模拟增强现实 (AR) 系统的出瞳扩展器 (EPE):第 2 部分

附件下载 联系工作人员获取附件 在 OpticStudio 中使用 RCWA 工具为增强现实(AR)系统设置出瞳扩展器(EPE)的示例中,首先解释了 k空间中光栅的规划,并详细讨论了设置每个光栅的步骤。 介绍 本文提供了多…

深度学习04 数据增强、调整学习率

目录 数据增强 常用的数据增强方法 调整学习率 学习率 调整学习率 ​调整学习率的方法 有序调整 等间隔调整 多间隔调整 指数衰减 余弦退火 ​自适应调整 自定义调整 数据增强 数据增强是通过对训练数据进行各种变换(如旋转、翻转、裁剪等)&am…