UE5/UE4 C++でクラス(Class)を生成する(NewObject)
C++でクラス(Class)を生成する方法です。
基礎の基礎ではあるのですが、忘れないようにメモということで…。
こちらを参考にさせていただきました。
・Unreal Engine C++ 逆引きメモ
https://edom18.hateblo.jp/entry/2018/03/16/105506
というわけで、C++でクラスを生成する場合は「NewObject」関数を使って以下のように記述します。
オーナーを指定する場合は引数に入れるようです。使い方の用途としてはこちらの方が多い気がします。
基礎の基礎ではあるのですが、忘れないようにメモということで…。
こちらを参考にさせていただきました。
・Unreal Engine C++ 逆引きメモ
https://edom18.hateblo.jp/entry/2018/03/16/105506
通常のC++では、newを用いてインスタンスを生成します。
しかし、UE C++ではインスタンスの生成方法に違いがあります。理由は前述のように、GC対象として管理するためです。
最近ではスマートポインタを使ったりしますが、それと似た感じですね。
というわけで、C++でクラスを生成する場合は「NewObject」関数を使って以下のように記述します。
TObjectPtr< UTestClass > aTestClass = NewObject< UTestClass >();
オーナーを指定する場合は引数に入れるようです。使い方の用途としてはこちらの方が多い気がします。
UE のクラス内で生成する場合はだいたいは「this」を入れるような構成になるのかなと思います。TObjectPtr< UTestClass > aTestClass = NewObject< UTestClass >(this);
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑