改訂バージョン: Unreal Engine 4.19 |
今回は、任意の形状のボリュームやコリジョンなどを作成する方法を紹介したいと思います。
ゲームを作っていく上で、ダメージ床や特定の場所によるカメラの切り替えなど、侵入判定によって様々な挙動を変えたいときがあります。
そういった場合に役に立つのがトリガーボックスですが、それだとボックス型の判定しか取ることができません。ですが、トリガーボリュームを使う事で、ボックス型以外の形状で判定を取る事ができます。
UE4にはBSPブラシを自力で作成する機能があるので、今回はこれを使用します。
まずジオメトリの編集モードに切り替え、ペンを選択します。

次にビューモードをパースペクティブビューからトップビューに切り替えます

この際、自動でワイヤーフレームに切り替わるので、作業しやすいようにライティングなどに描画を切り替えます。

これでBSPブラシの作成が可能になります。
この状態で、任意の場所にスペースキーを押す事で、頂点が生成されます。
もし間違えた場合はバックスペースキーで頂点を取り消す事も可能です。

最後にエンターキーを押すことでBSPブラシが完成します。

次に作成したBSPブラシのアクターを選択した状態で、アクター詳細からConvertActorを選択します。
今回はトリガーボリュームに変換しますが、用途によって侵入不可用のブロッキングボリュームなど様々なボリュームに変換可能です。

※BSPブラシをConvertActorで変換した際、バグなのか変換前のBSPブラシがそのまま残ってしまいます。ですが、別のBPSブラシを作成したタイミングで、残っていた変換前のBSPブラシは削除されます。
これでBSPブラシによる任意形状のボリュームの完成ですが、これだけだと高さが合っていないと思うので、最後にZ軸をスケーリングなり移動させるなりして微調整しましょう。
ちなみに通常のBSPブラシ同様、後から各頂点の座標を編集する事も可能です。

後はレベルブループリントなどでボリュームに侵入した場合や出た場合の処理を書けば完成です。
※ボリュームもブループリント化できればもっと色々と用途を増やすことができるんですけどね…

