【PlayCanvas】物理演算の3種類の使い分け!

【PlayCanvas】物理演算の3種類の使い分け!

福田です!
今回はPlayCanvasでのコリジョンとリジッドボディについて、特にStatic、Kinematic、Dynamicの違いと使い分けに焦点を当てて解説します!よろしくお願いします!

コリジョンとリジットボディの基本

コリジョンは、ゲーム内のオブジェクト同士の衝突を検出し、それに応じた動作を行うためのシステムです。PlayCanvasでは、リジッドボディにコリジョンメッシュを設定することで、コリジョンを有効にできます!

コリジョンメッシュには以下の種類があります:

  • Box: 直方体形状のコリジョンメッシュ
  • Sphere: 球形状のコリジョンメッシュ
  • Capsule: カプセル形状のコリジョンメッシュ
  • Cylinder: 円柱形状のコリジョンメッシュ
  • Mesh: 任意の形状のコリジョンメッシュ(高負荷)

赤い囲いの中が物理演算につかうコンポーネントですね!
コリジョン(当たり判定)を付けることで領域内に入ったり出たりするたびに処理を動かすことが出来るのですが、これだけだと物体同士の衝突などは機能してくれません!
そこで下のRigidBodyというコンポーネントを追加で付けます!
リジッドボディは物理シミュレーションを適用できるコンポーネントで、コリジョンメッシュと組み合わせることでオブジェクトの物理的な振る舞いを実現します。
特に重要なのが物理タイプです!

物理タイプにはStatic,Kinematic,Dynamicの3種類があります!

  • Static: 移動しない静的なオブジェクトに使用します。地面、壁、固定された障害物などがこれに当たります。他のオブジェクトとは衝突しますが、自身は動きません。
  • Kinematic: スクリプトで動かすことができますが、物理の影響は受けないオブジェクトに使用します。ドア、エレベーター、移動するプラットフォームなどがこれに当たります。他のDynamicオブジェクトを動かすことができます。
  • Dynamic: 物理シミュレーションによって動き、他のオブジェクトと相互作用するオブジェクトに使用します。プレイヤーキャラクター、箱、ボールなどの動的なオブジェクトがこれに当たります。

    これらの性質をよく理解して使い分けることで柔軟な動きのあるシーンを作成することが出来ます!
    特に下記の公式ページは非常に詳しく書かれているのでぜひご一読ください!
    (https://developer.playcanvas.com/ja/tutorials/collision-and-triggers/)

これらは他のゲームエンジンを使用している際でも応用できる知識なので学んでおいて損はないですよ!
以上福田でした!


現在シェルパグループでは、一緒に働く仲間を募集中!
建築パース、3DCG、UnrealEngine、Unity、プログラミングに興味のある方は
是非リクルートサイトをご覧ください!

■リアルな3DCG制作の仕事をしたい方必見!
https://sherpa-recruit.jp/