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
相关推荐
Dawn·张6 小时前
UE小:在Unreal Engine 5中实现多层静态网格体遮挡拾取
ue5
lalapanda1 天前
UE5学习记录 part13
学习·ue5
lalapanda1 天前
UE5学习记录part12
学习·ue5
吴梓穆2 天前
UE5学习笔记 FPS游戏制作33 游戏保存
笔记·学习·ue5
rrtt_23232 天前
UE5 + Rider + VsCode 接入腾讯的 Puerts 脚本
ue5·puerts·普洱
liangjiyucsdn3 天前
UE5新材质系统效果Demo展示
ue5
ue星空3 天前
UE5中开启ACES工作流程
ue5
妙为3 天前
在 Unreal Engine 5 中制作类似《鬼泣5》这样的游戏时,角色在空中无法落地的问题可能由多种原因引起。
ue5·鬼泣5·角色落地·把敌人击飞到空中
Zhichao_974 天前
【UE5】摄像机晃动
ue5
Deveuper4 天前
UE5 UE4 右键/最大化-菜单-不显示/闪/黑色/黑屏--修复方法
ue5·ue4