【Unity】障害物の下から突き抜けて上がる
Unityでのプラットフォームエフェクター(Platform Effector 2D)の使い方について説明します。プラットフォームエフェクターは、主に2Dゲームで、キャラクターが上からは通過できるが下からは通過できない、一方通行のプラットフォームを作成するために使用されます。これにより、階段や傾斜路を上がるといった、リアルな物理挙動をシミュレートすることができます。
目次
プラットフォームエフェクター
基本的な設定方法
- プラットフォームの作成: まず、プラットフォームとなるオブジェクトに
SpriteRenderer
とCollider2D
(通常はBoxCollider2D
やEdgeCollider2D
)を追加します。このコライダーは、キャラクターとプラットフォームが接触するための物理的な境界を提供します。 - プラットフォームエフェクターの追加: 次に、プラットフォームのオブジェクトに
Platform Effector 2D
コンポーネントを追加します。このコンポーネントは、Collider2Dと一緒に使用され、プラットフォームの挙動を制御します。 - Rigidbody2Dの設定: エフェクターが正しく動作するためには、プラットフォームのオブジェクトに
Rigidbody2D
コンポーネントを追加し、そのBody Type
をStatic
に設定します。これにより、プラットフォームが動かない静的なオブジェクトとして扱われます。 - プラットフォームエフェクターの設定:
Platform Effector 2D
コンポーネントには、さまざまな設定があります。例えば、Surface Arc
はプラットフォームの上面の範囲を度数法で指定し、キャラクターがプラットフォームに乗ることができる角度を制御します。Use One Way
を有効にすると、キャラクターがプラットフォームの下から上に通過することを防ぎます。
応用設定
- One Way Platform:
Use One Way
オプションを有効にすることで、プラットフォームが一方通行になります。これは、キャラクターがプラットフォームを下から通過できないようにするために使用されます。 - Side Friction:
Use Side Friction
オプションを有効にすると、プラットフォームの側面に摩擦が適用され、キャラクターが側面に触れたときの滑りを制御できます。 - Side Bounce:
Use Side Bounce
オプションを有効にすると、プラットフォームの側面がバウンス効果を持つようになります。これは、キャラクターが側面に衝突したときに跳ね返るようにするために使用されます。
Unityのプラットフォームエフェクターを使用することで、プレイヤーにとって直感的で理解しやすいプラットフォームの挙動を実現できます。特にプラットフォームアクションゲームやパズルゲームなど、2Dゲーム開発において非常に便利な機能です。
具体的なサンプル
Boxコライダーをアタッチしただけの場合
プラットフォームエフェクターをアタッチし適切に設定した場合
手順
プラットフォームエフェクターをアタッチし、既存のBoxコライダーのUsed By Effectorを設定します
ディスカッション
コメント一覧
まだ、コメントがありません