今回UE5でC++を使い学びを得たものは2点あります。
*ここから先はヘッダーファイルをhファイル、C++ファイルをCppファイルと略させていただきます。
一点目はhファイルやCppファイルについて
Cppを最初に触って疑問に思ったことは「hファイルとCppファイル何が違うの?」と思いました。私はC#からCppに来たので違いがよくわかりませんでした。なのでネットを使い検索しました、その結果分かったことはhファイルにはクラス定義や関数、数字などを宣言しておく場所、Cppファイルは各種関数の処理を書くことができる場所ということがわかりました。
hファイルとCppファイルの役割がわかったのでプレイヤーに必要な要素である当たり判定やカメラなどを追加できるようになりました。
2点目はUPROPERTYについて
私はhファイルに変数の入れ方が分からずクラッシュやエラーをしてしまいました。
そこでエラー内容やクラッシュする原因をネット調べた結果、C#では使ったことがないUPROPERTYというものが出てきました。ですがどう使用するのが正解かが分からなかったのでさらにUPROPERTYという言葉をUEの公式サイトで見つけにいきました。その結果わかった事としてUPROPERTYを使用しないで変数を参照するとgarbagecollectされクラッシュすることがわかりました。
UPROPERTYの利点はポインターの参照カウンターを増やしたり、ActorがDestroyされたらNullポインターにしてくれる。さらにUPROPERTYにプロパティ指定子やメタデータ指定子を入れておくとブループリントからもいじれたりすることがわかりました。
UPROPERTYを使ってカプセルコリジョンやカメラ、InputMappingContextのようなものを入れる欄を作ることができプレイヤーの操作方法の変更や数値の変更を楽にできるようになりました。
hファイル
Cppファイル