UE5常用的50个蓝图节点
1. Print String
- 功能描述:在输出日志中打印文本字符串
- 使用场景:调试时输出变量值或执行流程
- 参数:
- In String: 要打印的文本内容
- In Color: 文本颜色
- Duration: 显示时长
- Print to Log: 是否同时打印到日志
- Print to Screen: 是否显示在屏幕上
2. Set Actor Location
- 功能描述:设置Actor的世界位置
- 使用场景:移动物体、角色传送等
- 参数:
- Target: 目标Actor
- New Location: 新的世界坐标
- Sweep: 是否检测碰撞
- Sweep Hit Result: 碰撞结果
3. Set Actor Rotation
- 功能描述:设置Actor的世界旋转
- 使用场景:旋转物体、角色转向等
- 参数:
- Target: 目标Actor
- New Rotation: 新的旋转角度
- Sweep: 是否检测碰撞
- Sweep Hit Result: 碰撞结果
4. Set Actor Scale 3D
- 功能描述:设置Actor的三维缩放比例
- 使用场景:放大/缩小物体、角色大小变化等
- 参数:
- Target: 目标Actor
- New Scale 3D: 新的三维缩放值
5. Delay
- 功能描述:暂停执行指定时间
- 使用场景:等待动画完成、延迟触发事件等
- 参数:
- Duration: 延迟时长(秒)
6. Branch
- 功能描述:根据条件执行不同的分支
- 使用场景:条件判断、逻辑分支控制等
- 参数:
- Condition: 条件表达式(布尔值)
7. For Loop
- 功能描述:执行指定次数的循环
- 使用场景:批量处理数组元素、重复执行操作等
- 参数:
- Count: 循环次数
- Index: 当前循环索引
8. For Each Loop
- 功能描述:遍历数组或集合中的每个元素
- 使用场景:处理数组中所有元素
- 参数:
- Array: 要遍历的数组
- Current Element: 当前元素
- Index: 当前元素索引
9. Get All Actors of Class
- 功能描述:获取场景中所有指定类的Actor
- 使用场景:批量操作同类型物体、查找特定对象等
- 参数:
- Actor Class: 要查找的Actor类
- Out Actors: 找到的Actor数组
10. Get Player Character
- 功能描述:获取当前玩家角色
- 使用场景:控制玩家角色、获取玩家信息等
- 参数:
- Player Index: 玩家索引
11. Get Player Controller
- 功能描述:获取当前玩家控制器
- 使用场景:控制玩家输入、相机设置等
- 参数:
- Player Index: 玩家索引
12. Get Actor Transform
- 功能描述:获取Actor的变换信息(位置、旋转、缩放)
- 使用场景:复制物体变换、保存物体状态等
- 参数:
- Target: 目标Actor
- Return Value: 变换信息
13. Set Actor Transform
- 功能描述:设置Actor的变换信息(位置、旋转、缩放)
- 使用场景:同时设置物体的位置、旋转和缩放
- 参数:
- Target: 目标Actor
- New Transform: 新的变换信息
- Sweep: 是否检测碰撞
14. Add Actor Local Offset
- 功能描述:在Actor的本地空间中添加位置偏移
- 使用场景:相对于物体自身移动、角色行走等
- 参数:
- Target: 目标Actor
- Offset: 本地空间的位置偏移
- Sweep: 是否检测碰撞
15. Add Actor Local Rotation
- 功能描述:在Actor的本地空间中添加旋转偏移
- 使用场景:相对于物体自身旋转
- 参数:
- Target: 目标Actor
- Delta Rotation: 本地空间的旋转偏移
- Sweep: 是否检测碰撞
16. Get Actor Scale 3D
- 功能描述:获取Actor的三维缩放比例
- 使用场景:检查物体大小、根据大小执行不同逻辑等
- 参数:
- Target: 目标Actor
- Return Value: 三维缩放值
17. Cast to
- 功能描述:将Actor转换为指定类型
- 使用场景:类型转换、获取特定组件等
- 参数:
- Object: 要转换的对象
- As [Class Name]: 转换后的对象引用
18. Spawn Actor from Class
- 功能描述:从类中生成一个新的Actor
- 使用场景:生成敌人、子弹、道具等
- 参数:
- Class: 要生成的Actor类
- Spawn Location: 生成位置
- Spawn Rotation: 生成旋转
- Spawn Transform: 生成变换
- Return Value: 生成的Actor引用
19. Destroy Actor
- 功能描述:销毁指定的Actor
- 使用场景:移除敌人、子弹、道具等
- 参数:
- Target: 要销毁的Actor
20. Add Impulse
- 功能描述:给刚体添加冲量
- 使用场景:物理推动、爆炸效果等
- 参数:
- Target: 目标Primitive Component
- Impulse: 冲量向量
- Impulse Location: 冲量施加位置
- bVel Change: 是否直接改变速度
21. Add Force
- 功能描述:给刚体添加持续力
- 使用场景:重力、风力等持续力效果
- 参数:
- Target: 目标Primitive Component
- Force: 力向量
- Force Location: 力施加位置
- bAccel Change: 是否直接改变加速度
22. Set Simulate Physics
- 功能描述:启用/禁用Actor的物理模拟
- 使用场景:控制物体是否受物理影响
- 参数:
- Target: 目标Primitive Component
- New Simulate Physics Value: 是否启用物理模拟
23. Get Component by Class
- 功能描述:获取Actor上的指定类型组件
- 使用场景:访问特定组件、获取组件属性等
- 参数:
- Target: 目标Actor
- Component Class: 要查找的组件类
- Return Value: 找到的组件引用
24. Get All Components by Class
- 功能描述:获取Actor上的所有指定类型组件
- 使用场景:批量操作同类型组件
- 参数:
- Target: 目标Actor
- Component Class: 要查找的组件类
- Out Components: 找到的组件数组
25. Set Visibility
- 功能描述:设置组件的可见性
- 使用场景:隐藏/显示物体、UI元素等
- 参数:
- Target: 目标Primitive Component
- New Visibility: 是否可见
- bPropagate To Children: 是否影响子组件
26. Play Sound at Location
- 功能描述:在指定位置播放声音
- 使用场景:播放音效、背景音乐等
- 参数:
- Sound: 要播放的声音资源
- Location: 播放位置
- Volume Multiplier: 音量倍数
- Pitch Multiplier: 音调倍数
27. Play Animation Montage
- 功能描述:播放动画蒙太奇
- 使用场景:播放角色动画、混合动画等
- 参数:
- Target: 目标Skeletal Mesh Component
- Montage to Play: 要播放的动画蒙太奇
- Play Rate: 播放速率
- Return Value: 动画播放实例
28. Stop Animation Montage
- 功能描述:停止播放动画蒙太奇
- 使用场景:中断动画播放
- 参数:
- Target: 目标Skeletal Mesh Component
- Montage to Stop: 要停止的动画蒙太奇
29. Get Variable
- 功能描述:获取变量值
- 使用场景:访问和使用变量数据
30. Set Variable
- 功能描述:设置变量值
- 使用场景:更新变量数据、保存状态等
31. Event Begin Play
- 功能描述:当Actor开始播放时触发的事件
- 使用场景:初始化Actor状态、设置初始属性等
32. Event Tick
- 功能描述:每帧调用的事件
- 使用场景:实时更新、物理计算等需要每帧执行的逻辑
- 参数:
- Delta Seconds: 帧间隔时间
33. Event Actor Begin Overlap
- 功能描述:当Actor开始与其他Actor重叠时触发的事件
- 使用场景:检测碰撞、触发区域、拾取物品等
- 参数:
- Other Actor: 重叠的其他Actor
34. Event Actor End Overlap
- 功能描述:当Actor结束与其他Actor重叠时触发的事件
- 使用场景:检测离开碰撞区域等
- 参数:
- Other Actor: 重叠的其他Actor
35. Event Actor Hit
- 功能描述:当Actor与其他Actor碰撞时触发的事件
- 使用场景:检测碰撞、处理伤害等
- 参数:
- Other Actor: 碰撞的其他Actor
- Other Comp: 碰撞的其他组件
- Normal Impulse: 碰撞冲量
- Hit: 碰撞信息
36. Event Input Action
- 功能描述:当输入动作被触发时的事件
- 使用场景:响应玩家输入、控制角色等
- 参数:
- Action Name: 动作名称
- Trigger Event: 触发事件类型
37. Event Input Axis
- 功能描述:当输入轴值变化时的事件
- 使用场景:处理移动、旋转等连续输入
- 参数:
- Axis Value: 轴值
38. Line Trace By Channel
- 功能描述:沿指定方向进行线检测
- 使用场景:射线检测、瞄准、碰撞检测等
- 参数:
- Start: 检测起点
- End: 检测终点
- Trace Channel: 检测通道
- bTrace Complex: 是否使用复杂碰撞
- Out Hit: 碰撞结果
- Return Value: 是否检测到碰撞
39. Sphere Trace By Channel
- 功能描述:沿指定方向进行球体检测
- 使用场景:范围检测、爆炸效果等
- 参数:
- Start: 检测起点
- End: 检测终点
- Radius: 球体半径
- Trace Channel: 检测通道
- bTrace Complex: 是否使用复杂碰撞
- Out Hit: 碰撞结果
- Return Value: 是否检测到碰撞
40. Add to Array
- 功能描述:向数组添加元素
- 使用场景:动态扩展数组、收集物品等
- 参数:
- Target Array: 目标数组
- New Item: 要添加的新元素
41. Remove from Array
- 功能描述:从数组中移除元素
- 使用场景:删除数组元素、移除物品等
- 参数:
- Target Array: 目标数组
- Item to Remove: 要移除的元素
42. Clear Array
- 功能描述:清空数组中的所有元素
- 使用场景:重置数组、清理数据等
- 参数:
- Target Array: 目标数组
43. Array Length
- 功能描述:获取数组的长度
- 使用场景:检查数组大小、循环控制等
- 参数:
- Target Array: 目标数组
- Return Value: 数组长度
44. Get Array Element
- 功能描述:获取数组中指定索引的元素
- 使用场景:访问数组元素、随机选取元素等
- 参数:
- Target Array: 目标数组
- Index: 元素索引
- Return Value: 数组元素
45. Set Array Element
- 功能描述:设置数组中指定索引的元素
- 使用场景:更新数组元素、修改数据等
- 参数:
- Target Array: 目标数组
- Index: 元素索引
- Item: 新的元素值
46. Random Float In Range
- 功能描述:生成指定范围内的随机浮点数
- 使用场景:随机值生成、概率事件等
- 参数:
- Min: 最小值
- Max: 最大值
- Return Value: 随机浮点数
47. Random Integer In Range
- 功能描述:生成指定范围内的随机整数
- 使用场景:随机值生成、概率事件等
- 参数:
- Min: 最小值
- Max: 最大值
- Return Value: 随机整数
48. Clamp
- 功能描述:将值限制在指定范围内
- 使用场景:限制变量值、防止溢出等
- 参数:
- Value: 要限制的值
- Min: 最小值
- Max: 最大值
- Return Value: 限制后的值
49. Lerp (Linear Interpolation)
- 功能描述:在两个值之间进行线性插值
- 使用场景:平滑过渡、动画效果等
- 参数:
- A: 起始值
- B: 结束值
- Alpha: 插值因子(0-1之间)
- Return Value: 插值结果
50. Timeline
- 功能描述:创建和控制时间线动画
- 使用场景:复杂动画、序列控制等
- 参数:
- Play Rate: 播放速率
- Loop: 是否循环
- Reversed: 是否反向播放
使用技巧
- 调试节点:Print String是最常用的调试工具,可以快速查看变量值和执行流程
- 性能优化:避免在Tick事件中使用复杂计算,尽量使用事件驱动
- 类型转换:使用Cast to节点时,要检查转换是否成功,避免空引用错误
- 物理模拟:启用物理模拟的Actor会影响性能,不需要时应禁用
- 数组操作:频繁修改数组时要注意性能,考虑使用其他数据结构
- 输入处理:合理使用Event Input Action和Event Input Axis来处理玩家输入
- 碰撞检测:根据需要选择合适的碰撞检测类型(Line Trace、Sphere Trace等)
- 动画控制:使用Animation Montage可以实现复杂的角色动画效果
- 随机值生成:使用Random节点时,要注意设置合适的种子值以获得更好的随机性
- 插值运算:Lerp节点可以实现平滑的数值过渡,常用于动画和缓动效果