2016年1月25日月曜日

[UE4]AIControllerを設定したはずなのにGetController()でNullが返ってくる件について

おっす。久しぶりだ。siroponnだ。

皆さんは、UE4を使っていますか?僕は仕事で使っています。
そこで投稿タイトルのような事が起きたので、メモしておこうと思う。

先日。オリジナルのAIControllerを作り、ブループリントのPawnカテゴリーのAIControllerクラス を設定するプロパティにそのオリジナルのAIControllerを設定した。

その後、this->GetController()とかやったら、なぜかNullが返ってきた。設定しているのになぜ!

何十時間も悩んだ末、一つのプロパティを見つけた。

同じブループリントのPawnカテゴリーのAuto possesというプロパティを見てほしい。
値が、SpawnかPlace in Worldになっていないだろうか?
そうだ。もう気づいてると思うが、Spawnの時はスポーン時しか、Place in worldの時は直接レベルに配置した時しかAIControllerは設定されない。
もうひとつ値があり、Spawn or Place in worldという値がある。こいつを設定して初めて、両方の時に対応する。
クソだ。なんでこんなややこしい設定になっているんだ。

こんなところで、何十時間もかかってしまった。僕は一生UE4を許さん。

てな訳でSiroponnでした。みなさんは気を付けてくださいね。

0 件のコメント:

コメントを投稿