Unreal Engineワールドに配置したアセットのコリジョン設定
オブジェクトの通りぬけ
Unreal Engineのフィールドにfbxファイルを置き、サードパーソンモードで探索すると、外側の見えない壁に突き当たり、それ以上前に進めない。
せっかくオブジェクトをインポートできても、ゲームモードではその中に入ることができずそのまわりをぐるぐる回るだけの状態をなんとかしたかったのだが、ゼミの学生がその方法を発見したので、Part2で作ったオブジェをくぐりぬけてみた。
まずは、Part2でUnreal Engineに取り込んだ1号館のまほろばの採光。実は頭頂部に一部画像がない部分があり、ノイズが出ているのだが、真ん中の部分はきれいに開いているので、このオブジェクト(アセット)を使用した。
サードパーソンモードでプロジェクトを開いた後、床以外のアセットを削除し、床をX軸、Y軸方向に拡大する。fbxファイルをインポートし適当な場所に配置した後、このアセット(hikari5_LOD001)セレクトし、左側をスクロールし、詳細の中の Static Meshをダブルクリックしてアセットのコンテンツドロワーを開く。
コンテンツドロワーの「表示」から「単純なコリジョン」を選択する。
デフォルトでは緑で囲まれた部分が境界となり、キャラクター等はこれ以上この中に入り込むことができない。最初に画面真ん中上の「コリジョン」から「コリジョンを取り除く」を実行し、あらかじめデフォルトのコリジョンを取り除く。
デフォルトのコリジョンを取り除いたら、ふたたび「コリジョン」から「自動凸型コリジョン」を選択し、画面右下の「凸型分解」の「ハルカウント」「マックスハル」の値を入力、適用しながら調整し、キャラクターが通り抜けられるような空間を設定する。
ここでは、ハルカウント 20、マックスハル 27を採用した。
この状態でゲームモードでキャラクターを動かすとオブジェクトの中を潜り抜けることができるようになった。
尚、この設定では、コリジョンの境界がオブジェクトのなかに一部入り込んでいる部分がある。ゲームモードで試してみるとこの部分にキャラクターが入り込むと罠にかかったように下半身が埋もれてしまい、動けなくなるので注意が必要。