概要
Godotでゲーム開発をしていると、「プレイヤーは壁を通り抜けられないようにしたい」「敵は敵同士で衝突させたくない」「コインはプレイヤーだけが取得できるようにしたい」といった、複雑な衝突のルールを決めたくなります。これらをif文だけで管理しようとすると、コードはあっという間に複雑怪奇になってしまいます。
この問題をエレガントに解決するのが、Godotの物理エンジンに組み込まれているCollision Layers(衝突レイヤー) とCollision Masks(衝突マスク) です。
この記事では、多くの初心者がつまずきがちなこの2つの概念を、図解と共に分かりやすく解説し、あなたのゲームの衝突判定を整理整頓します。
LayersとMasks:役割分担の概念
CollisionObject(Area2D, CharacterBody2D, RigidBody2D