【问题标题】:How to spawn 10 spheres in C++如何在 C++ 中生成 10 个球体
【发布时间】:2020-12-23 13:15:09
【问题描述】:

假设我在 UE IDE 中选择了第一人称模板,我希望在 1500 个单位的距离处创建 10 个球体。同样,当一个人射击一些球体时,球体就会消失。 如何在 C++ 中创建球体?

【问题讨论】:

    标签: c++ unreal-engine4


    【解决方案1】:

    您通常会在UWorld 类中使用SpawnActor 方法。您可以找到有关 here 方法的更多信息,但本质上您将获得对世界的引用,使用该 UWorld 引用调用 SpawnActor,同时传入四个参数:您要生成的演员,通常是类型TSubclassOf<AActor> 其中AActor 可以是AActor 类型的任何子类,要生成的actor 的位置,类型为FVector,要生成的actor 的旋转,类型为@987654331 @,以及要生成的actor的一些附加信息,类型为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 中设置特定属性。有关所有这些特定属性的列表,您可以找到它们here。此外,在此示例中,第二个参数,即要生成的演员的位置当前是硬编码的,因此您可以任意设置。传入的FVector 中的每个数字分别代表 x、y 和 z 坐标。最后,第三个参数当前是每个轴上为零度的FRotator 对象,因此要生成的actor 将使用其默认指定的旋转。

    话虽如此,您应该能够将此逻辑合并到您的自定义逻辑中,这样您就可以实现生成 10 个相隔一定距离的球体 Actor 的目标。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多