ワールドの壁や床をすり抜けてしまう時に見る記事(「コライダー」について簡単に解説!)

Blenderなどで制作したモデルをワールドに配置した際、「あれ、アバターがすり抜けてしまう…!」といった経験はありませんか?

このような現象は、「コライダー」を設定しないのが原因であることがほとんどです。コライダーは、基本的には目に見えない要素ですが、ワールドの物理的なインタラクションやギミックの実現には欠かせません。

この記事では、BlenderなどのDCCツールからUnityにインポートしたモデルが意図せずすり抜けてしまう問題に直面した際に役立つ、コライダーの基本的な知識と設定方法を解説します。

Unityにおいて、他のオブジェクトとの衝突やインタラクションを可能にするのが「コライダー(Collider)」です。

Blenderのようなモデリングツールで作成された3Dモデルは、Unityにインポートしただけでは、見た目はあってもコライダーが設定されていないので、すり抜けてしまいます。

基本的な設定方法

コライダーは、UnityのInspector上で簡単に追加・設定できます。
基本的な設定方法は以下の通りです。

  • 設定したいモデルをHierarchyウィンドウから選択します。
  • Add Componentを選択しコライダーを追加してください。
    • 検索バーに「Collider」と入力し、表示されるリストの中から適切なコライダーの種類を選択します。例えば、シンプルな箱型のオブジェクトであれば「Box Collider」を選ぶのが一般的です。
  • コライダーが追加できたら、Inspector上の設定したコライダーの「Edit Collider」をクリックしてください。
    • シーンビュー上にコライダーの形状を示す緑色の線が表示されます。この線がモデルの形状と一致するように、サイズや位置を調整してください。

これらのステップでコライダーを追加するだけで、モデルは物理的な存在として認識され、アバターがその上を歩いたり、オブジェクトにぶつかったりすることが可能になります。

アイテム同士がぶつかるようにしたり「オブジェクトの相互作用」を生み出す

コライダーは、基本的には見えないものですが、「アバターが地面の上を歩くようにする」「キューブ同士がぶつかるようにする」など「、Unityでのオブジェクト同士の物理的な相互作用を生み出すものです。

ギミックの「当たり判定」などに使う

コライダーは、clusterでのギミック制作においても重要な役割を持ちます。
それが「当たり判定」です。「ものを掴むギミックを実装したのに、掴むことができない……」という事態に直面した場合は、コライダーが適切に設定されているか確認しましょう。

Grabbable Item」や「Ridable Item」など、よく使われるclusterのギミックではコライダーが必要になります。先に解説したように、モデルの見た目だけがあっても、そのオブジェクトが選択されているかどうかが判定できないので「当たり判定」のためにコライダーが必要となります(Grabbable Itemの場合は、「インタラクトできる範囲」にも使用されます)。

すり抜けられるコライダーも設定可能

コライダーはすり抜けられるように設定することも可能です。ギミックの中には「あるエリアに入った時にギミックを動作させたい」というものもありますが、コライダーを普通に設定するとそのエリアに入ることができなくなり、当たり判定を取ることができなくなります。

その場合はコライダーの「Is Trigger」という設定をInspector上でオンにすることで、コライダーをすり抜けられるようにできます。

例えば、ワープゾーンやダメージエリア、自動ドア(ドアの前に人が来たかどうかを判定するコライダーを設置する)なども、コライダーの当たり判定を利用して実現することができます。

コライダーは目に見えないので、最初は理解しづらい機能です。ですが、バーチャル空間のさまざまな振る舞いを実現するために重要なので、その役割を理解しましょう。

Unityには、様々な形状に対応した複数のコライダーが用意されています。
それぞれのコライダーには特徴があり、適切に使い分けることで、パフォーマンスを最適化し、ワールドの快適さを向上させることができます。

基本的なコライダーの種類

  • Box Collider(ボックスコライダー)
    • 箱状のコライダーです。四角いオブジェクトに適しています。
  • Sphere Collider(スフィアコライダー)
    • 球状のコライダーです。丸いオブジェクトに適しています。
  • Capsule Collider(カプセルコライダー)
    • カプセル状のコライダーで、主にアバターの当たり判定によく使われます。高さと半径を設定でき、転がったり滑ったりする動作にも適しています。
  • Mesh Collider(メッシュコライダー)
    • モデルのメッシュデータそのものを使用してコライダーを生成します。複雑な形状のオブジェクトにぴったり一致するコライダーを作成できます。しかし、負荷が高いコライダーであるため、使用には注意が必要です。

Box ColliderやSphere Colliderをなるべく使うのがおすすめ

ワールド制作において重要なのは、コライダーの負荷を意識することです。コライダーは目に見えないため、その存在を忘れがちですが、コライダーによっては、ワールドが重くなることがあります。

特に、Mesh Colliderは負荷が高いため、多用することは避けるのがおすすめです。Mesh Colliderはモデルの複雑な形状をそのままコライダーとして使用するため、ポリゴン数が多いモデルに適用すると、その分だけ負荷が増大します。これにより、ワールドが重くなってしまいます。

最適化のヒント

また、コライダーの種類と合わせて、コライダーを使用する際には、まずは以下のポイントに注意してみましょう!

  • シンプルな形状で代用
    • 複雑な形状のモデルであっても、プレイヤーや他のオブジェクトとの衝突に必要な部分が単純な形状で表現できるのであれば、Box ColliderやSphere Collider、Capsule Colliderを複数組み合わせて代用することを検討するのがおすすめです!
      例えば、複雑な岩のモデルであっても、その周りをシンプルなBox Colliderで囲むだけで十分な場合があります。
  • Mesh Colliderは動かないオブジェクトへ設定する
    • 動かないオブジェクト(壁や床など)にMesh Colliderを使用する場合は、パフォーマンスへの影響が比較的小さいです。しかし、動くオブジェクト(プレイヤーが操作するアイテムなど)にMesh Colliderを適用すると、毎フレーム衝突判定の計算が必要になるため、より大きな負荷がかかります。
  • 不要なコライダーの削除
    • シーン内のすべてのオブジェクトにコライダーが必要なわけではありません。
      例えば、背景としてただ表示されているだけのオブジェクトや、アバターが絶対に触れないような高所に配置されたオブジェクトには、コライダーは不要です。不要なコライダーは削除し、負荷を軽減しましょう。

Blenderなどの外部ツールからインポートしたモデルがすり抜けてしまう問題は、コライダーの適切な設定で解決できます。
また、コライダーを適切に扱うことで、ギミックを制作できたり、ワールドの負荷を抑えることもできるので、ぜひ、その役割や機能について理解を深めてみてください!

記事をシェアしてワールド制作を盛り上げよう!

Cluster Creators Guide|バーチャル空間での創作を学ぶならをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む