c++ - 如何在 C++ 中生成 10 个球体
问题描述
假设我在 UE IDE 中选择了第一人称模板,我预计在 1500 个单位的距离处创建 10 个球体。同样,当一个人射击一些球体时,球体就会消失。如何在 C++ 中创建球体?
解决方案
您通常会在类中使用该SpawnActor
方法。UWorld
您可以在此处找到有关该方法的更多信息,但本质上您将获得对世界的引用,在传入四个参数时SpawnActor
使用该UWorld
引用调用:您要生成的演员,通常是类型TSubclassOf<AActor>
,其中AActor
可以是类型的任何子类AActor
,要生成的actor的位置,type FVector
,要生成的actor的旋转,type FRotator
,以及要生成的actor的一些附加信息,type FActorSpawnParameters
。这是被调用的函数的示例。首先是头文件,
// header file (.h)
UPROPERTY(EditDefaultsOnly, Category = "Actor To Be Spawned")
TSubclassOf<AActor> ActorToBeSpawned;
请注意,此属性将在蓝图中设置。
然后,在 cpp 类的某个地方,
// cpp class (.cpp)
FActorSpawnParameters SpawnParams;
GetWorld()->SpawnActor<AActor>(ActorToBeSpawned, FVector(300, 300, 300), FRotator::ZeroRotator, SpawnParams);
请注意,最后一个参数是可选的,但您始终可以在FActorSpawnParameters
. 有关所有这些特定属性的列表,您可以在此处找到它们。此外,第二个参数,即要生成的演员的位置,目前在此示例中是硬编码的,因此您可以任意设置。传入的每个数字FVector
分别代表 x、y 和 z 坐标。最后,第三个参数当前是FRotator
每个轴上零度的对象,因此要生成的 actor 将使用其默认指定的旋转。
话虽如此,您应该能够将此逻辑合并到您的自定义逻辑中,以便您可以实现生成 10 个相隔一定距离的球体 Actor 的目标。
推荐阅读
- unity3d - 修改 Unity WebGL 构建 URL
- docker - “docker-compose down --volume”后数据丢失?
- react-router-dom - 反应路由器dom:重定向和路由器:所有网址都被重定向,如何停止
- java - 休眠会话是否需要关闭?
- workbox - 将响应图像离线回退到最大的缓存图像
- javascript - 如何从按钮单击事件中获取输入值?
- javascript - 使用 php “fputcsv” 将 papa.unparse 创建的数组(包括具有特殊字符的单元格)保存为 csv
- c - 仅使用 stdio.h 和 stdlib.h 计算文件中的单词
- compilation - 在现代 Linux 上安装 xplanet 0.95a 版或将代码更新到 xplanet 1.3
- pandas - 使用分类特征缩放数据帧,然后为 X_train / X_test 使用 fit_transform() 和 transform()