UE5/UE4 C++で配置されているすべてのアクター(Actor)から特定クラスのアクター(Actor)を取得する(UGameplayStatics::GetAllActorsOfClass、AActor::StaticClass)
C++で配置されているすべてのアクター(Actor)から特定クラスのアクター(Actor)を取得する方法です。
こちらを参考にさせていただきました。
・UE4 c++でLevelに配置されているの他Actorを検索する
https://qiita.com/wisp/items/03c3a1b5483fa0a5e617
配置されているすべてのアクター(Actor)から特定クラスのアクター(Actor)を取得するには
「UGameplayStatics::GetAllActorsOfClass」関数を使えばいいようです。
というわけで実際にやってみます。
そのクラスのアクターリストを取得することができます。
取得したアクターリストは「AActor」のままなので「Cast」をして使うことになります。
処理負荷的にあまり多用するような処理ではありませんが、
なにかしらのタイミングやデバッグ用途で使うタイミングがあるのではないかなと思います。
こちらを参考にさせていただきました。
・UE4 c++でLevelに配置されているの他Actorを検索する
https://qiita.com/wisp/items/03c3a1b5483fa0a5e617
配置されているすべてのアクター(Actor)から特定クラスのアクター(Actor)を取得するには
「UGameplayStatics::GetAllActorsOfClass」関数を使えばいいようです。
というわけで実際にやってみます。
「AActor::StaticClass()」といった特定のクラスを指定することで// 指定したクラスのアクターを取得
TArray< TObjectPtr< AActor>> aActorList;
UGameplayStatics::GetAllActorsOfClass(this, ANewActor::StaticClass(), aActorList);
そのクラスのアクターリストを取得することができます。
取得したアクターリストは「AActor」のままなので「Cast」をして使うことになります。
// リストのアクターすべて
for(TObjectPtr< AActor> aActor : aActorList){// 取得したクラスにキャスト
TObejctPtr< ANewActor> aNewActor = Cast< ANewActor>(aActor );}
処理負荷的にあまり多用するような処理ではありませんが、
なにかしらのタイミングやデバッグ用途で使うタイミングがあるのではないかなと思います。
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑