UE4 在 PIE 中运行时显示 Actor 组件
UE4 Display Actor Components at Runtime in PIE
我在运行时创建并附加一些 actor 组件,稍后在播放时销毁它们。
我想在 PIE 运行时查看演员有哪些组件。
我已经试过勾选Details
面板的View options
中的Show Actor Components
显示组件,但是好像只显示场景组件,并没有刷新正确查看(我必须选中然后取消选中 Selected Actor Only
才能让生成的演员显示所有场景组件)。
有没有办法显示它们?
你能告诉我你使用的是 C++ 还是蓝图?
如果您使用的是 C++,则可以创建一个方法来显示 Actor 中的现有组件。您可以使用方法 GetComponents 获取 class UActorComponent 的所有组件,因为所有 Unreal Engine 的组件都继承来自这个Class。然后您可以检查他们的 classes 并打印名称和 class 例如。
这是一个代码示例:
void AMyActor::ShowMyComponents() {
TArray<UActorComponent*> MyArray;
GetComponents(UActorComponent::StaticClass(), MyArray, true);
for (auto element : MyArray) {
UE_LOG(LogTemp, Error, TEXT("Component : %s is from class : %s"), *element->GetName(), *element->GetClass()->GetName());
}
}
您可以在 BeginPlay()
或 Tick()
或任何您想要的地方调用此方法,它会向您显示演员的组件。
我在运行时创建并附加一些 actor 组件,稍后在播放时销毁它们。
我想在 PIE 运行时查看演员有哪些组件。
我已经试过勾选Details
面板的View options
中的Show Actor Components
显示组件,但是好像只显示场景组件,并没有刷新正确查看(我必须选中然后取消选中 Selected Actor Only
才能让生成的演员显示所有场景组件)。
有没有办法显示它们?
你能告诉我你使用的是 C++ 还是蓝图?
如果您使用的是 C++,则可以创建一个方法来显示 Actor 中的现有组件。您可以使用方法 GetComponents 获取 class UActorComponent 的所有组件,因为所有 Unreal Engine 的组件都继承来自这个Class。然后您可以检查他们的 classes 并打印名称和 class 例如。
这是一个代码示例:
void AMyActor::ShowMyComponents() {
TArray<UActorComponent*> MyArray;
GetComponents(UActorComponent::StaticClass(), MyArray, true);
for (auto element : MyArray) {
UE_LOG(LogTemp, Error, TEXT("Component : %s is from class : %s"), *element->GetName(), *element->GetClass()->GetName());
}
}
您可以在 BeginPlay()
或 Tick()
或任何您想要的地方调用此方法,它会向您显示演员的组件。