使用蓝图组件

  • 蓝图组件 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" 节点访问)。
相关推荐
zhangzhangkeji4 小时前
UE5 C++(14-1):UPROPERTY 宏、属性说明符和元数据说明符, visible,edit,Blueprint读写,Category 存储目录
ue5
Zhichao_979 小时前
【UE5.3 C++】ARPG游戏 05-准备角色攻击的武器和动画
游戏·ue5
zhangzhangkeji13 小时前
UE5 C++(15-3):UFUNCTION 的 meta 元数据, DisplayName ,同 UPROPERTY 的 meta
ue5
夜色。16 小时前
UE5 Error LNK2019 编译异常修复备忘
ue5
陈友松1 天前
UE5 表格文件动态导入导出插件
ue5
zhangzhangkeji1 天前
UE5 C++(17):结构体,USTRUCT(BlueprintType) struct FmyStruct ,必须用 F 开头
ue5
碎梦人2 天前
基于UE5开发的pico大空间项目开发之虚拟坐标系与真实坐标系的对应关系
ue5·lbe·大空间坐标系对应关系
zhangzhangkeji2 天前
UE5 C++(16):枚举 UENUM,UENUM(BlueprintType) 使其成为蓝图里的类型。模板类 TEnumAsByte<enum 类型>
ue5
zhangzhangkeji2 天前
UE5 C++(UObject 的实例化 19-2):UObject 类的继承关系
ue5
妙为3 天前
Unreal Engine5报错:Expected WarriorDebugHelper.h to be first header included.
ue5·虚幻·编译错误