UE4的SpawnActor问题

2023-11-13

1. SpawnActor传参

做项目过程中发现先SpawnActor再传参会先运行 生成的Actor的BeginPlay然后才进行传参。可是我在BeginPlay时就需要用到参数做操作了。
发生情况时代码如下:

if (BaseCharactor = GetWorld()->SpawnActor<ABaseCharactor>(NewClass, CharactorLocation, CharactorRotatation))
{
	BaseCharactor->ID = ID;
}

解决方法:

后来发现UGamePlayStatic中也预留了一个生成Actor方法—>BeginDeferredActorSpawnFromClass和完成生成方法—>FinishSpawningActor。在这中间我们就可以传参了。
修改一下代码:

UClass *NewClass = CharactorData->CharactorBlueprintKey.LoadSynchronous();		// 加载table中角色蓝图
if (GetWorld() && NewClass)
{
	FTransform TmpSpawnTransform;
	TmpSpawnTransform.SetLocation(CharactorLocation);
	TmpSpawnTransform.SetRotation(CharactorRotatation.Quaternion());
	if (ABaseCharactor* BaseCharactor = Cast<ABaseCharactor>(UGameplayStatics::BeginDeferredActorSpawnFromClass(GetWorld(), NewClass, TmpSpawnTransform)))
	{
		BaseCharactor->ID = CharactorID;		// 这里调用类中函数或者赋值
		AddCharactorData(BaseCharactor->ID, *CharactorData);
		UGameplayStatics::FinishSpawningActor(BaseCharactor, TmpSpawnTransform);
		return BaseCharactor;
	}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

UE4的SpawnActor问题 的相关文章

随机推荐

  • 2021-04-09

    jar 自动装配 springboot帮我们配置了什么 xxxxAutoConfiguration 向容器中自动装配组件 xxxxProperties 自动装配类 装配配置文件中自定义的一些内容 要 导入静态资源 首页 jsp 装配扩展Sp
  • ubuntu安装llvm教程

    安装必要工具 sudo apt get install build essential sudo apt get install cmake sudo apt get install python3 8 安装llvm wget https
  • RabbitMQ--基础--7.4--工作模式--路由模式(Direct)

    RabbitMQ 基础 7 4 工作模式 路由模式 Direct 代码位置 https gitee com DanShenGuiZu learnDemo tree master rabbitMq learn rabbitMq 03 1 介绍
  • GB/T28181-2022图像抓拍规范解读及技术实现

    规范解读 GB28181 2022相对2016 增加了设备软件升级 图像抓拍信令流程和协议接口 我们先回顾下规范说明 图像抓拍基本要求 源设备向目标设备发送图像抓拍配置命令 携带传输路径 会话ID等信息 目标设备完成图像传输后 发送图像抓拍
  • java基础-java的发展进程和特性

    1 JAVA的发展历程 1 1上世纪90年代 由于单片机出现引起了自动控制领域的关注 单片机可以大幅度提升电子消费产品的智能化程度 比如电视机顶盒 烤箱 移动电话等 Sun公司成立了Green的项目小组 专攻计算机在家电产品上的嵌入式开发
  • 总结45 SpringMVC框架的基本应用(替代Servlet)

    流程图 面试用 概念 当要实现在Spring框架下的web服务时 那么servlet将无法兼容 因为Spring无法依赖注入到Servlet 因此将会通过SpringMVC来替代servlet 从而提供WEB服务 也就是说 在今后的实际开发
  • 错误 1452:无法添加或更新子行:外键约束失败

    1452 Cannot add or update a child row a foreign key constraint fails goaread views CONSTRAINT views ibfk 1 FOREIGN KEY s
  • [Java多线程 八]---JUC包下的锁和工具类

    原文链接 http www cnblogs com skywang12345 p 3496098 html 概述 根据锁的添加到Java中的时间 Java中的锁 可以分为 同步锁 和 JUC包中的锁 同步锁 实现方式 即通过synchron
  • 解决Xshell显示中文乱码的问题

    执行echo LANG命令输出的是当前的编码方式 执行locale命令得到系统中所有可用的编码方式 要让Xshell不显示乱码 则要将编码方式改为UTF 8 在Xshell中 file gt open gt 在打开的session中选择连接
  • Python习题练习1--变量赋值交换

    题目 已知a的值是1 b的值是2 如何交换a b的值 打印a的值为2 b的值为1 这时候我们就可以思考了 是不是可以直接交换呢 在python中特有这种写法 可以看下下面解法 a 1 定义a的值为1 b 2 定义b的值为2 a b b a
  • SVM算法的参数

    1 c float参数 默认值为1 0 错误项的惩罚系数 c越大 即对分错样本的惩罚程度越大 因此在训练样本中准确率越高 但是泛化能力降低 也就是对测试数据的分类准确率降低 相反 减小c的话 允许训练样本中有一些误分类错误样本 泛化能力强
  • Linux嵌入式学习---C语言之赋值

    Linux嵌入式学习 C语言之赋值 一 语句的作用和分类 1 常见的9种控制语句 2 函数调用语句 3 表达式语句 4 空语句 5 复合语句 二 赋值语句 1 赋值运算符 2 复合的赋值运算符 3 变量赋初值 一 语句的作用和分类 1 常见
  • 彩光和灰光模块_Y5T265 【5G光模块】一个基站前传到底是用6个还是12个,或者是24模块...

    Y5T264 5G光模块 模式分配噪声 接着昨天继续分析5G前传光模块白皮书 问题1 在白皮书的第三页 前传光模块的需求 有不同的传输距离 这个我们能理解 有需要灰光或者彩光的 我们也能理解 但我们不能理解的是为什么前传模块的速率有10G
  • signature今日头条php实现,今日头条_signature 分析

    某天群友问了一句头条翻页算法 然后随手把算法摘出来 现在分享出来 window TAC console log userInfo id a t navigator window navigator userAgent function as
  • Deep Spatio-Temporal Residual Networks(深度时空残差神经网络)

    目录 业务场景 环境搭建 数据及目录结构 模型 代码 建模 训练 预测及结果呈现 文章只是对模型的学习与实践做简要记录 以免日后给忘了 并没有对模型优劣 应用的场景等理论方面有过多分析 适合快速动手搭建 成功运行 分析代码 并学习怎样用ke
  • sql查询字段重复的数据 并且修改数据某个字段

    1 sql查询字段重复的数据 并且修改所有行某个字段值 UPDATE 表名 a SET a 要修改的字段名 1 WHERE a 重复字段 IN SELECT b 重复字段 FROM SELECT c 重复字段 FROM 表名 c GROUP
  • 5天玩转MySQL:数据库概念、SQL介绍、数据库和数据表基本操作、字符表

    数据库概念 数据库 Database 是按照数据结构来组织 存储和管理数据的建立在计算机存储设备上的仓库 数据库 存储数据的仓库 数据库分类 网络数据库 网络数据库是指把数据库技术引入到计算机网络系统中 借助于网络技术将存储于数据库中的大量
  • Eclipse导入外部工程运行报错:The selection cannot be run on any server

    一 错误描述 课下复习时导入老师的Demo 发现项目报错 在项目上有红色叉 运行时报如下错误 二 解决步骤 1 在项目上右键 gt Properties 2 打开Java Build Path 发现JDK和Tomcat都未绑定 这是原先项目
  • vue左侧悬浮_vue实现移动端悬浮窗效果

    本文讲述 在使用VUE的移动端实现类似于iPhone的悬浮窗的效果 相关知识点 touchstart当在屏幕上按下手指时触发 touchmove 当在屏幕上移动手指时触发 touchend 当在屏幕上抬起手指时触发 mousedown mo
  • UE4的SpawnActor问题

    1 SpawnActor传参 做项目过程中发现先SpawnActor再传参会先运行 生成的Actor的BeginPlay然后才进行传参 可是我在BeginPlay时就需要用到参数做操作了 发生情况时代码如下 if BaseCharactor