修改ATriggerSphere半径

Modifying ATriggerSphere radius?

本文关键字:半径 ATriggerSphere 修改      更新时间:2023-10-16

我在游戏中创建了一个ATriggerSphere实例,并将其放置在我的角色位置,如下所示:

//Create activate trigger radius
activateRadiusTrigger = GetWorld()->SpawnActor<ATriggerSphere>(ATriggerSphere::StaticClass(),GetActorLocation(), GetActorRotation());
activateRadiusTrigger->SetActorHiddenInGame(false);

我现在需要调整它的半径。我看到在蓝图中,Shape下有一个参数可以让我改变"球体半径"的值,但我找不到c++等效字段。有人能告诉我这是怎么做到的吗?谢谢!

如果您在引擎头文件中查找TriggerSphere.h,您可以在那里找到它的公共接口。看起来像ATriggerSphere使用了一个可以通过GetCollisionComponent()获得的碰撞组件。我假设这个组件是一个USphereComponent,你可以调用SetSphereRadius !

所以尝试:

Cast<USphereComponent>(activateRadiusTrigger->GetCollisionComponent())->SetSphereRadius(NewRadius);