なぜ必要なのか

プレイヤーが複数の部屋で鍵を集める博物館迷路を作るとします。鍵ごとに得点は一度だけです。制作側は各鍵へ処理を複製せず、ゲームオブジェクトに再利用できる動作を付けたいと考えます。

どう解決するのか

図にはプレイヤー・床・カメラ・鍵1つがあります。アイテムへ移動で独自の接触処理が動き、得点は0から1になりアイテムが消えます。再接触しても加点されません。移動前に接触を無効にすると収集に失敗し、得点は0のままです。リセット・再読み込みで元に戻ります。実際のエンジンではなく概念シミュレーションです。

博物館の迷路のシーンを見る

概念シミュレーション

Unity

博物館の迷路でプレイヤーを鍵へ移動します。独自の接触処理が1点を与えて削除します。

PIC
P: プレイヤー · I: 鍵 · C: カメラ · ─: 床

得点: 0 · 鍵: 存在

初期シーン:GameObject 4個

プレイヤー · 床 · カメラ · 鍵

Transform
Renderer:表示
Collider:接触
Script:1回だけ加点
実行境界
模型:GameObjectのコンポーネントが表示・衝突・取得を担います。
状態と責任
得点と鍵の状態はこのページ内だけです。実際のライフサイクル・物理・出力はUnityで検査します。

本文内の架空のデモです。リセット・再読み込みで初期状態に戻ります。

どんな考え方なのか

UnityのGameObjectはコンポーネントを保持します。Transform・描画・衝突・独自スクリプトが役割を分担し、名前だけではゲーム動作は生まれません。

得点の管理責任を明確にし、参照を検証します。

出典