ポーンの所有とポーンにHUDからアクセスするタイミング
はじめに
UE4で空のプロジェクトからポーンを置いて見た後、いろいろ苦戦してます。
ひとまず今回、覚えておいたほうが良さそうなつっかかりポイントをメモついでに記事にしました。
経緯
前回のこの記事のサンプルを参考にして、空のプロジェクトで写経っぽいことしてたんですが、いろいろ苦戦してつらい。
にたようなモノつくってとりあえずドラッグ・アンド・ドロップしてもうんともすんとも言わない…………。
ポーンの所有
現象
空のプロジェクトを作成して、ポーンのブループリントを作成してノードを作って動かした所、宇宙船がピクリとも動かない!
何故????
原因
作成したポーンのコントローラーがいない
(ポーンをレベルに置いておくだけでは、コントローラーが設定されないので入力を受け付けない)
解決
上のサイトに行き着いたので、そんな感じにノードを作成。
レベルブループリントに直接置きました。
そしたら動いた。
やったぜ!
(あれ?SetChinematicModeノードってなんだ……?どこかに書いてあったんだっけ……???わからないけど動いてるし、今はそっとしておこう……)
HUDからポーンへアクセスするタイミング
現象
ポーンの情報にHUDからアクセス出来ない!
GetControlledPawnしてるのに値はNone!!
ホワイ!?!??
原因
HUD作成時のConstructイベントの時点では、まだポーンをプレイヤーがコントロールしていないので、Noneが出る。タイミングの問題。
(似た問題に対してタイミングの問題じゃね?っていう英語フォーラムが出てきた気がするんだけど、URLを失念。検索ワードも失念)
解決
コントロール後にHUDを作成した。
(他に良い解決方法がありそうだけど、今はとにかくこれでよし、としておく)
他にもポカミスやらなんやらでかなり時間を食ってますが、ひとまず移動だけならなんとか再現して、カスタマイズできるようになりました。
うーん。我ながら効率がよくないですね。
一度ゲーム作成に関するチュートリアルを通しでやったほうがいいかもしれない……。
では、また。