libro
www.tuyano.com
初心者のためのUnreal Engine ブループリント入門

物理エンジンと衝突処理 (1/7)

作成:2015-03-14 10:29
更新:2015-03-14 10:29

■物理エンジンとコリジョン

3Dゲームエンジンは、現実世界と同じようなリアルな世界を構築できるところに大きな魅力があります。それは、ただ3Dモデルの表示についてだけではありません。その性質・働きについてもリアルさを追求したくなることもあります。

例えば、いくつものキャラクタが動いているゲームを想像しましょう。これらのキャラクタは、例えば「Add Actor Local Offset」ノードのようなものを使って、アクタの位置データを書き換えながら動いているでしょう。つまり、Tickイベントごとに「瞬間移動」しながら動いていることになります。これ、現実世界ではありえませんよね? また、アクタどうしはぶつかってもそのまま通り抜けてしまいます。これも現実世界ではありえません。

より現実世界に近い動きを実現したい。アクタがぶつかれば跳ね返るし、上にあるものは下に落ちるし、重いものと軽いもので動きも違う。それらは、アクタを「物質」として扱えるようにする、ということです。これを実現するのが「物理エンジン」という機能です。

この物理エンジンを利用するために不可欠なのが「コリジョン」です。コリジョンは、アクタに「物質として扱える皮」をかぶせるものです。つまり、コリジョンを組み込むことで、そのアクタは「触れる」ようになるのです(もちろん、Unreal Engineの世界で、ですよ)。

このコリジョンは、スタティックメッシュごとに設定します。コンテンツブラウザから、物理エンジンを適用したいと思うスタティックメッシュをダブルクリックして開いて下さい。スタティックメッシュエディタが現れます。ここにある「コリジョン」というメニューに、コリジョン作成の機能がまとめられています。このメニューから、追加したいコリジョンを選ぶと、それがスタティックメッシュに組み込まれます。

なぜいくつもコリジョンがあるのかというと、さまざまな形のコリジョンを用意するためです。コリジョンは、アクタの形にそって組み込まないといけません。一般に、球形のスタティックメッシュなら「球体単純化コリジョン」を、立方体なら「ボックス単純化コリジョン」を追加すればいいでしょう。

また、詳細パネルのところに「コリジョンを有効にする」というチェックボックスがあります。これをONにしておくのも忘れないようにしましょう。


※下図はスタティックメッシュエディタ。「コリジョン」メニューが用意されている。

※プログラムリストが表示されない場合

AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。


※関連コンテンツ

「初心者のためのUnreal Engine ブループリント入門」に戻る