UnLua访问C++属性、动态生成Actor

一、访问C++属性、动态生成Actor

1、在C++类MyBaseActor中新增蓝图可编辑属性:Name

cpp 复制代码
public:
	UPROPERTY(EditAnywhere)
	FString Name;

2、在继承自C++的蓝图子类BP_BaseActor中给Name赋值

3、在Lua中实现点击按钮动态生成Actor,并访问其Name属性

lua 复制代码
function WBP_FirstLua_C:Construct()
	self.btnTest.OnPressed:Add(self,WBP_FirstLua_C.OnClickTest)
end

function WBP_FirstLua_C:OnClickTest()
	local World = self:GetWorld()
	if not World then
		return
	end
	--加载蓝图类,注意文件路径格式:蓝图名.Lua类名
	local ActorClass = UE.UClass.Load("/Game/MyLuaTest/BP_BaseActor.BP_BaseActor_C")
	if not ActorClass then
		return
	end
	--动态生成一个actor
	local Rotation = UE.FQuat(1,1,1,1)
    local Translation = UE.FVector(1,1,1)
    local Scale = UE.FVector(1,1,1)
    local Transform = UE.FTransform(Rotation, Translation, Scale)
	local Actor = World:SpawnActor(ActorClass,Transform,UE.ESpawnActorCollisionHandlingMethod.AlwaysSpawn,self,self,"")
	if not Actor then
		return
	end

	self.Actor = Actor
	print("MyBaseActor'Name is "..self.Actor.Name)
end
相关推荐
zhangzhangkeji15 小时前
UE5 C++(48-3):共享指针的老师讲解的例题。以及 共享指针 TSharedPtr<T, ESPMode> 的源代码
ue5
暮志未晚Webgl2 天前
UE5Niagara粒子系统性能优化
ue5
努力的小钟2 天前
UObject创建系统深度分析
ue5
速冻鱼Kiel3 天前
Lyra的相机系统
笔记·ue5·游戏引擎·虚幻
暮志未晚Webgl3 天前
UE5模型面数优化
ue5
zhangzhangkeji3 天前
UE5 C++(45):射线检测多物体的的按通道与按对象类型 LineTraceMultiByObjectType
ue5
成都渲染101云渲染66663 天前
5090 显卡云端上线!Blender / Maya / UE5 渲染速度再提升,云渲染成主流选择
ue5·blender·maya
一个响当当的名号4 天前
lectrue5 存储模型和压缩
ue5
zhangzhangkeji4 天前
UE5 C++(44-4):对比一下蓝图中的射线检测节点,源代码,按通道与按对象类型
ue5
暮志未晚Webgl5 天前
UE使用内置功能查看性能
ue5