なぜ必要なのか
ゲームには小さな部品から成る物体が繰り返し登場します。一つずつ別に作ると、共通動作を直しにくくなります。
どう解決するのか
図にはプレイヤー・床・カメラ・収集アイテムのインスタンス1つがあります。アイテムへ移動で独自の接触処理が動き、得点は0から1になりアイテムが消えます。再接触しても加点されません。移動前に接触を無効にすると収集に失敗し、得点は0のままです。リセット・再読み込みで元に戻ります。実際のエンジンではなく概念シミュレーションです。
概念シミュレーション
Godot
プレイヤーをアイテムへ移動します。独自の接触処理が1点を与えて削除します。
得点: 0 · 収集アイテム: 存在
初期メインシーン · ノードツリー
- プレイヤー · CharacterBody3D
- 床 · StaticBody3D
- カメラ · Camera3D
- 収集アイテム · シーンのインスタンス
- Area3D → CollisionShape3D
- 再利用シーン → 独自の得点シグナル
本文内の架空のデモです。リセット・再読み込みで初期状態に戻ります。
どんな考え方なのか
Godotはノードをシーンにまとめ、別のシーン内にインスタンスとして置けます。シーンは再利用する収集アイテムにもゲームの開始点にもなります。
ゲーム処理と書き出し結果は別に検証します。
この選択を話し合う
コメントは全言語で共有。投稿にはGitHubログインが必要です。