Loading

UE4蓝图对Actor的引用

通过关卡蓝图调用

在关卡中放置一个Actor,在关卡蓝图中右键 create a reference to actor,即可
image
注意使用该方法创建时,需要现在关卡中选择上该类Actor

当Actor生成时创建其的引用

当我们在蓝图中利用SpawnActorfromClass生成Actor
image
节点返回值拖出promote to variable,提升为变量即可创建引用。
创建之后就可以调用
image
FireRef actor有组件P_Fire,我们调用后,并在按下F键后执行停止特效操作

在其他蓝图调用当前蓝图的Actor Direct Blueprint Communication

在蓝图A中创建蓝图B的变量。
image
将变量改为可见,然后蓝图A的Actor会有一个标签。
image
image
点击吸管工具,选择关卡中为蓝图B的Actor。这样蓝图B的Actor就可以在蓝图A中调用。
image

类型转换

在关卡中获取 Actor 引用并将该引用传递到关卡中尚未包含的蓝图 Actor,例如,直到游戏启动才存在于关卡中的玩家人物(或其他 Actor)。这时候就需要使用类型转换Cast To。
例如我们在角色蓝图中使用E键控制火焰的熄灭,同样需要创建一个火焰蓝图的变量,而我们不再通过吸管工具来获取关卡中的火焰。
在关卡蓝图中,我们在关卡BeginPlay后,对关卡中的角色(Get Player Character)进行类型转换为我们的小白人角色。然后通过对转换后的返回值进行设置其中的变量。传入的就为第一种方法创建的关卡中火焰的引用。
这样关卡中的火焰就可以传入到我们小白人蓝图中。
小白人蓝图
image
关卡蓝图
image

瞎猜

最近在使用UE中,大多数都是有两种情况获得另一个Actor对象
一个是Cast To,从节点或者传入变量就可以看到他要传入一个产生通信的Actor然后将这个Actor Cast To你想要的类型。
第二个是Get All Actors Of Class这个可以获得所有的当前关卡中的属于该Class的Actor,没有传入参数,即不需要产生交互就可以获得
例如场景中有一扇门,在角色还没交互时,就可以利用Get Actor获得,当角色走进了门的触发盒子产生碰撞才能通过Overlap节点获取到的Actor Casts To变为门的Actor从而调用

posted @   XTG111  阅读(907)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
点击右上角即可分享
微信分享提示