シーンとシーンノード
このページは自動翻訳されており、誤りが含まれる場合があります。誤りを見つけた場合は「このページを編集」リンクからご協力ください。
シーン
シーンは、ゲーム内の何かを表現するノードのツリーです。レベル、メニュー、キャラクター、UI 画面などがあります。ゲーム内で表示されるすべてのものはシーンの中に存在します。
シーンはプロジェクトの assets/ フォルダー内に .prefab ファイルとして保存されます。フォーマットはバージョン管理用に設計された人間が読める JSON です:
assets/
scene-01.prefab ← 1 つのシーン
player-scene.prefab ← 別のシーン
enemies/
grunt.prefab
boss.prefab
ブートシーンはゲーム起動時に最初に読み込まれるシーンです。プロジェクト設定で設定します。
ノード(ゲームオブジェクト)
ノード(ゲームオブジェクトとも呼ばれます)はシーン内の単一の要素です。ノードはツリー状に編成されます。各ノードは 1 つの親と任意の数の子を持ちます。この親子階層は基本です。親を変換(位置、回転、スケール)すると、子も自動的に変換されます。
シーンルート
├── カメラ
│ └── 方向光(カメラの子——カメラに追従)
├── 地面
│ ├── 木(地面の子——地面とともに移動)
│ └── 岩
└── プレイヤー
└── 武器
すべてのノードには Transform コンポーネント(3D 空間での位置、回転、スケール)があります。Transform のみの空のノードでも有用です。マウントポイント、スポーン位置、またはグループ化の親として機能します。
エディターでのノード操作
シーンヒエラルキーパネルでは、次のことができます:
- ノードを選択して、そのコンポーネントを検査および編集します。
- シーン → 空のオブジェクトを追加から新しい空ノードを作成します。
- ヒエラルキー内でノードを別のノードにドラッグして親を変更します。
- 上下にドラッグして兄弟ノードを並べ替えます。
- 右クリックのコンテキストメニューから複製または削除します。
選択したノードにコンポーネントを追加するには、インスペクターのコンポーネントを追加 ▾ ボタンを使用します。
ディスク上のシーンファイル
.prefab ファイルはノードツリー全体を構造化 JSON として保存します。人間が読め、差分確認に適しています:
{
"name": "MyScene",
"nodes": [
{
"name": "Camera",
"transform": { "position": { "x": 0, "y": 5, "z": 10 } },
"components": [ /* ... component data ... */ ]
},
{
"name": "Ground",
"transform": { "scale": { "x": 10, "y": 1, "z": 10 } },
"children": [
{ "name": "Tree", "transform": { "position": { "x": 2, "y": 0, "z": -3 } } }
]
}
]
}
.prefab シーンファイルを手動で編集する必要はほとんどありません。エディターが処理します。しかし、このフォーマットにより、Git での変更の確認、マージ競合の解決、または一括編集スクリプトが容易になります。