记录一下学习godot引擎
Nodes
万物皆节点:
Scenes
关卡:
Tile
所有Locomotion的动画都是需要制作Root Motion动画。
命名规范
A_角色名_武器名_步态_类型。示例:
- A_MF_Pistol_Walk_Bwd_Start
- A_MF_Rifle_Jog_Bwd_Start
应用曲线
选中需要应用曲线的动画,右键Scripted Asset Actions → Strafing Animation Configuration and Validation执行脚本
在link的动画层中尽量不要放插槽,也就是不要处理蒙太奇。如果一定要处理,就需要保证,在播设置插槽的蒙太奇时,不要unlink动画层,不然会crash。
在主动画蓝图中设置蒙太奇插槽,同时在link的动画层中设置同样的蒙太奇插槽,要看哪个插槽的执行在前面,就最终使用哪一个。
使用USkinnedMeshComponent::HideBoneByName隐藏骨骼同时会隐藏对应的蒙皮
蒙太奇通知PlayRate速度过快,混出时会污染其他蒙太奇的播放速度
UE5 - Common UI Guide: A Complete Guide to Inputs & Widgets
Setup
打开插件:
Project Setting设置窗口为CommonGameViewportClinet
0. 为什么需要这份规范
在大多数因 Niagara 导致性能问题的项目中,常见现象并不是"GPU 模拟太慢",而是:
- 渲染线程长时间阻塞在等待 Niagara 系统创建渲染缓冲(
WaitForGatherDynamicMeshElements); - 单帧内大量
CreateRHIBuffer调用; - 关卡里同一资产被复制粘贴几十上百个实例;
- 视野外、远距离的 Ambient 系统没有被正确剔除,每帧仍在渲染线程上分配显存缓冲。
TransformOriginActor
在 Unreal Engine 中,TransformOriginActor 是 Sequencer 的一个核心功能,用于实现动态位移(Dynamic Transforms)。
通常情况下,Sequencer 里的所有位移关键帧(Location/Rotation)都是基于世界坐标系(0, 0, 0)的。通过设置 TransformOriginActor,你可以让整个序列的动画变为相对于某个特定 Actor 的坐标系运行。
以下是关于该功能的核心概念、设置步骤及注意事项:
-
核心应用场景
- 重复利用动画:你制作了一个角色上车的动画,通过改变 Transform Origin Actor(将其设为不同的车辆),同一段动画可以在场景中任何位置的车辆上准确触发。
- 运行时动态定位:如果你的过场动画需要在玩家当前所在的位置播放,而不是在固定的地图坐标播放。
- 协同对齐:当角色需要与场景中的动态物体(如移动的平台或桌子)互动时,将物体设为原点可简化对位工作。
-
编辑器中的设置步骤
方法蓝图:
JsonObjectGraph
UE自带工具:
导出Json:
ue5-blueprint-dump-tool
性能优化
simulate step
所谓的step,就是当一帧时间过长时候(帧率低或者卡顿的时候),移动组件会把这个时间拆分成小的step,每一个step完整跑一段移动模拟,每一段移动模拟至少产生三次物理碰撞检测(sweep),step up,step forward, step down。