UE5 蓝图-游老师-17-常用的蓝图通信方式-上:蓝图对象直接引用,查找蓝图节点 actor of class,节点 class with tag,鼠标射线检测蓝图,带接口的蓝图,直接使用接口变量

(193)1 直接引用

在这里插入图片描述

++蓝图对象引用变量的赋值,这也是程序运行前的初始化

在这里插入图片描述

++ 但以上的测试蓝图,依然无法处理键盘数字 1 的输入问题,需要以下的代码。然后本测试蓝图就可以接收输入事件了

在这里插入图片描述

(194)**第二种, actor of class ** :

在这里插入图片描述

(195)**第三种 class with tag ** :

在这里插入图片描述

++ 代码

在这里插入图片描述

(196)第四种,射线检测

在这里插入图片描述

(197)第五种,蓝图接口

在这里插入图片描述

++ 蓝图中应用接口

在这里插入图片描述

++开始查找带接口的蓝图对象

在这里插入图片描述

++可见,最重要的还是该蓝图带有接口 interface

(198)6 直接使用接口对象

在这里插入图片描述

(199)

谢谢

<think> 我们正在解决用户的问题:在UE5蓝图中复制某个Actor到指定Transform所需使用节点。 根据之前的对话历史,用户提到了引用[2]中的节点前缀关键字,其中包含"Spawn生成"相关的节点。 在UE5蓝图中,复制(生成)一个Actor到指定位置,我们使用的是“Spawn Actor from Class节点,然后设置其Transform。 步骤: 1. 获取要复制的Actor的类(Class)。如果用户想要复制场景中已有的某个Actor实例,那么需要先获取该Actor的类,或者用户可能直接指定一个类。 2. 使用“Spawn Actor from Class节点,并传入指定的Transform(包含位置、旋转、缩放)。 3. 如果需要复制的是一个已有的Actor(即克隆),那么注意:在UE中,复制一个已有的Actor实例通常不是直接节点,而是通过生成一个同类的Actor,然后复制其属性(如果需要的话)。但如果是蓝图中的“复制”概念,一般指生成(Spawn)一个新的。 具体节点- 主要节点:Spawn Actor from Class - 参数:Class(要生成的Actor类),Spawn Transform(指定的Transform) 如果用户想要复制场景中已有的某个Actor(例如,克隆),那么可以: 1. 获取该Actor的类(使用Get Class节点,输入是目标Actor引用)。 2. 获取该Actor的Transform(使用GetActorTransform节点)。 3. 然后使用Spawn Actor from Class节点Class参数传入获取到的类,Spawn Transform参数传入获取到的Transform(或者用户指定的Transform)。 但是,用户要求是复制到“指定Transform”,所以第二步的Transform应该是用户指定的,而不是原Actor的Transform。 因此,步骤总结: 1. 获取要复制的Actor的类(或者直接指定一个类)。 2. 准备一个指定的Transform(可以是用户通过向量和旋转器定义的,也可以是从另一个Transform获取的)。 3. 使用“Spawn Actor from Class节点生成。 注意:如果用户想要在生成时覆盖默认的Transform,那么就在Spawn Actor from Class节点的输入引脚上连接指定的Transform。 节点图示例(文字描述): [Get Class] (从目标Actor获取类) -> [Spawn Actor from Class] 节点Class输入 [指定Transform](可能是通过Make Transform节点构建) -> [Spawn Actor from Class]节点的Spawn Transform输入 如果用户不需要复制已有Actor实例,而是直接从一个类生成,那么就更简单:直接指定类,然后指定Transform。 另外,如果用户想要复制的Actor是某个蓝图类的实例,那么可以直接Class中选择那个蓝图类。 因此,回答如下: </think> 在UE5蓝图中复制Actor到指定Transform位置,需要使用以下核心节点组合: ### 核心操作流程 1. **获取目标Actor引用** - 使用 `Get All Actors Of Class` 或 `Get Actor Of Class` 获取源Actor引用 - 或通过 `Get Player Character` + `Cast To` 获取特定实例[^2] 2. **创建复制实例** ```blueprint [源Actor引用] → [Spawn Actor from Class] 节点 ``` *注意:此节点会创建全新实例,而非直接复制原对象* 3. **设置Transform** ```blueprint [指定Transform数据] → [Spawn Actor from Class]节点的"Spawn Transform"引脚 ``` ### 完整节点链示例 ```blueprint // 步骤1:获取源物体(以角色为例) [Event BeginPlay] → [Get Player Character] → [Get Class] → [Spawn Actor from Class] // 步骤2:设置新位置 [Make Transform] → [指定位置/旋转/缩放] → 接入"Spawn Transform"引脚 // 步骤3:可选参数配置 [Spawn Collision Handling Override] → 设置碰撞规则 ``` ### 关键参数说明 | 参数 | 说明 | 推荐值 | |------|------|--------| | **Class** | 要复制的Actor类 | 源Actor的类(通过Get Class获取) | | **Spawn Transform** | 新Actor的初始变换 | 使用Make Transform构建 | | **Collision Handling** | 碰撞处理方式 | Always Spawn(无视碰撞) 或 AdjustIfPossible | ### 进阶技巧 1. **批量复制**: ```blueprint [ForLoop]遍历位置数组 → 每次循环执行Spawn ``` 2. **动态位置计算**: ```blueprint [Get Actor Location] → [Vector + Offset] → 构建新位置 ``` > **验证方法**:复制后立即添加 `Print String` 节点输出新Actor的位置,确认是否在目标Transform[^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangzhangkeji

谢谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值