使用蓝图组件

  • 蓝图组件 blueprint component为啥不能set actor location
  1. 组件不是 Actor,没有 "自身位置" 的概念 组件(如 Scene Component、Mesh Component 等)是依附于 Actor 存在的 "附属物",它本身不是独立的 Actor,因此没有 "世界空间位置"(World Location)的属性,只有 "相对位置"(Relative Location)------ 即相对于其所属 Actor(或父组件)的位置。而Set Actor LocationActor 类的函数,作用是移动整个 Actor(包括其所有组件),组件本身并不具备这个函数。

如何间接实现类似需求?

如果需要通过组件来移动其所属的 Actor,可以分两步:

  1. 在组件中通过**Get Owner**节点获取它所依附的 Actor(返回值是一个 Actor 对象);
  2. 对获取到的 Actor 调用Set Actor Location,即可移动整个 Actor(包括该组件)。

那添加了蓝图组件的actor能继承它暴露的变量么?

举例说明:

假设你有一个蓝图组件 BP_MyComponent,其中暴露了一个公开变量 MyValue(整数)。当 Actor BP_MyActor 添加了这个组件后:

  • 错误方式 :在 BP_MyActor 中直接拖拽 MyValue 变量使用(无法直接访问,因为变量属于组件,而非 Actor)。
  • 正确方式
    1. BP_MyActor 的蓝图中,添加 Get BP_MyComponent 节点(获取组件实例);
    2. 从该组件节点的输出引脚中,找到 MyValue 变量,直接连接使用(或通过 "获取 MyValue" 节点访问)。
相关推荐
5***o5001 天前
PHP在电商中的支付集成
sql·ue5·rizomuv
AA陈超2 天前
从0开始学习 **Lyra Starter Game** 项目
c++·笔记·学习·游戏·ue5·lyra
AA陈超8 天前
以 Lyra 的架构为基础,创建一个名为 “Aura“ 的英雄并实现发射火球技能
c++·笔记·学习·ue5·lyra
AA陈超8 天前
Lyra项目中的输入系统
c++·笔记·学习·游戏·ue5·lyra
AA陈超8 天前
ASC学习笔记0027:直接设置属性的基础值,而不会影响当前正在生效的任何修饰符(Modifiers)
c++·笔记·学习·ue5·虚幻引擎
开发游戏的老王8 天前
UE5.6 C++项目升级UE5.7时用Rider加载项目失败的解决办法
ue5·游戏引擎·虚幻·虚幻引擎·rider·ue5.7·target.cs
AA陈超8 天前
ASC学习笔记0020:用于定义角色或Actor的默认属性值
c++·笔记·学习·ue5·虚幻引擎
平行云8 天前
World Labs & Paraverse:统一3D世界的创造与访问
3d·unity·ai·ue5·aigc·实时云渲染·云xr
AA陈超8 天前
使用UnrealEngine引擎,实现鼠标点击移动
c++·笔记·学习·ue5·虚幻引擎
AA陈超9 天前
Lyra源码分析:LyraCharacterMovementComponent
c++·笔记·学习·ue5·虚幻引擎·lyra