阿赵UE学习笔记——15、灯光的移动性概念和构建光照信息

阿赵UE学习笔记目录
  大家好,我是阿赵。
  继续学习虚幻引擎,这次来学习一下UE里面灯光的移动性概念和构建光照信息。

1、灯光移动性

  打开一个带有灯光的场景
在这里插入图片描述

  在大纲面板里面找到其中一个灯光:
在这里插入图片描述

  会发现灯光的细节面板里面,可以选择3种不同的移动性:

1.静态

在这里插入图片描述

  鼠标停留在上面,看到tips:
  静态光影不能在游戏中修改
  完全烘焙光照
  渲染速度最快

2.固定

在这里插入图片描述

  鼠标停留在上面,看到tips:
  固定光源仅从由Lightmass烘焙的静态几何体获取阴影和反射光,所有其他光照均为动态。它可在游戏中改变颜色和强度
  无法移动
  运行部分烘焙光照
  来自可移动对象的动态阴影

3.可移动

在这里插入图片描述

  鼠标停留在上面,看到tips:
  可移动光源能在游戏中进行移动和修改
  完全动态
  全场景动态阴影
  渲染速度最慢
  这三种可移动性,好像很复杂,如果用过Unity引擎的朋友估计都已经看出来了,概念和Unity灯光里面的Realtime、Mixed、Baked是类似的。
在这里插入图片描述

  如果选择可移动,那么就是全实时灯光计算,如果选择静态,就是完全的烘焙灯光,然后固定模式就是介乎于两者之间,既能烘焙一部分灯光效果,又可以让一部分灯光是可动的。
  除了灯光的细节面板有这个移动性设置,在模型对象上也同样有,和灯光上的设置是基本相同的,可以看看tips:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2、烘焙灯光信息

  如果灯光移动性是可移动,那么就是纯实时计算,灯光是不需要烘焙直接生效的,但如果是固定或者静态的灯光,灯光信息是需要构建的。
在这里插入图片描述

  上图里面,上半部分是移动灯光,下半部分是静态灯光,可以看出下半部分的光影效果不太好的。
  接下来要构建灯光信息了,这个过程类似于Unity的烘焙光照贴图。
  在上面的菜单栏找到构建,然后找到仅构建光照。
在这里插入图片描述

  在构建之前,需要先看看当前的光照质量设置了什么。一般来说都是先选择速度最快的预览级别,调整到没太大问题了,再用产品级别去构建。
在这里插入图片描述

  如果有时候构建很快就完成了,然后光照效果完全没有变化,可以留意一下日志输出,如果有这个警告信息,其实光照并没有构建成功:
在这里插入图片描述

  这个警告的意思是设置了强制无预计算光照,去世界场景设置里面找找:
在这里插入图片描述
在这里插入图片描述

  把这个勾去掉就可以了。
  这个选项是有用的,有时候在编辑场景的时候,UE会不停的提示光照需要构建,把这个选项勾选上之后,就不会自动构建光照了。
  这个构建的过程,似乎场景的复杂程度,可能会很久:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  在构建完成后,会有消息日志,告诉我们这次构建里面出现了什么问题:
在这里插入图片描述
在这里插入图片描述

  由于实在太慢了,我还是拿一个非常简单的场景来烘焙一下算了。
  要注意的是,模型如果需要烘焙光照信息,要在静态网格导入界面,勾选上生成光照贴图UV,或者自己展好完全不重叠的UV。
在这里插入图片描述

  烘焙完成之后,在世界场景设置里面,可以看得到当前的Lightmap情况:
在这里插入图片描述

<think>嗯,用户想要了解UE5中的蓝图基础,特别是键盘鼠标操作移动。首先,我需要回忆一下UE5的相关知识,确保自己掌握正确的信息。蓝图系统是UE的核心视觉脚本工具,对于没有编程背景的用户来说特别友好。 用户提到的键盘鼠标操作移动,应该涉及到输入事件的绑定如何通过蓝图处理这些输入。可能包括移动角色、旋转视角这些基础操作。首先,我需要分解步骤:如何设置输入轴映射,如何在蓝图中获取这些输入值,然后应用到角色移动上。 键盘操作通常涉及WASD键控制前后左右移动,而鼠标移动控制视角旋转。在UE中,这些通常通过“输入轴”来配置。可能需要指导用户进入项目设置,添加轴映射,比如“MoveForward”绑定WS键,Scale分别为1-1,类似地处理左右移动。鼠标方面,需要设置水平轴垂直轴的鼠标XY输入。 接下来是蓝图部分,特别是角色蓝图中如何获取这些输入值,然后应用移动旋转。Character类自带了移动组件,所以可能需要使用Add Movement InputAdd Controller Yaw/Pitch Input这些节点。需要注意的是,鼠标旋转可能涉及到控制器的旋转,而角色移动则是基于控制器的方向。 用户可能有疑问的地方包括:如何正确连接轴事件到移动节点,如何处理旋转的速度,可能还需要调整输入灵敏度。另外,是否需要开启鼠标显示或锁定光标的位置,比如在游戏模式下隐藏光标,这样鼠标移动可以控制视角而不受限制。 还有可能涉及到的问题,比如角色移动的方向是否与摄像机方向一致,这时候可能需要使用Get Control Rotation来获取控制器的旋转,并计算移动方向。如果用户遇到移动方向不正确的问题,可能需要检查是否使用了正确的旋转向量。 另外,用户可能需要了解如何测试这些输入设置,比如在游戏模式下运行查看效果,以及如何调试蓝图逻辑,例如打印输入值到屏幕,确保输入事件被正确触发。 需要提醒用户注意的一些常见错误,比如输入轴名称拼写错误,节点连接错误,或者没有正确设置pawn的自动控制玩家为Player0。这些都会导致输入无法被正确接收。 最后,可能需要给出一个完整的蓝图示例,展示从输入事件到移动旋转的完整流程,帮助用户更直观地理解。同时,推荐一些进一步学习的资源,如官方文档或教程视频,以便用户深入学习。</think># UE5蓝图基础:键盘鼠标操作移动 ## 一、输入系统配置 1. 打开`项目设置` → `引擎-输入` 2. 创建轴映射: - `MoveForward`:W(Scale 1.0)/S(Scale -1.0) - `MoveRight`:D(Scale 1.0)/A(Scale -1.0) - `Turn`:Mouse X - `LookUp`:Mouse Y ## 二、角色蓝图设置 ### 键盘移动实现 ```cpp // 事件图表 Event Tick → Get Axis Value(MoveForward) → Add Movement Input(GetActorForwardVector()) Get Axis Value(MoveRight) → Add Movement Input(GetActorRightVector()) ``` $$ \text{移动向量} = \text{输入值} \times \text{方向向量} \times \Delta Time \times \text{移动速度} $$ ### 鼠标视角控制 ```cpp // 事件图表 Event Tick → Get Axis Value(Turn) → Add Controller Yaw Input Get Axis Value(LookUp) → Add Controller Pitch Input ``` $$ \text{旋转角度} = \text{输入值} \times \text{灵敏度} \times \Delta Time $$ ## 三、关键参数设置 1. 移动速度:建议初始值600-1200 2. 鼠标灵敏度:推荐X轴0.5-1.5,Y轴0.3-1.0 3. 摄像机限制: - 俯仰角限制(-70°~70°) - 使用`ClampAngle`节点 ## 四、常见问题解决 1. 角色不移动: - 检查Pawn的`Auto Possess Player`是否设置为Player0 - 确认角色碰撞体设置 - 验证移动组件是否启用 2. 鼠标控制失效: ```cpp // 在玩家控制器中设置 bShowMouseCursor = false bEnableClickEvents = false bEnableMouseOverEvents = false ``` ## 五、进阶技巧 1. 输入平滑处理: $$ \text{平滑输入} = FMath::FInterpTo(\text{当前值}, \text{目标值}, \Delta Time, \text{插值速度}) $$ 2. 移动预测: ```cpp Predict Projectile Path By ObjectType → 绘制移动轨迹预览 ``` 建议结合`Enhanced Input`插件实现更复杂的输入处理,可通过`Input Action`创建复合输入事件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值