「Unity/Prefab」の版間の差分
提供: 初心者エンジニアの簡易メモ
(ページの作成:「==UIPrefab== Prefabを選択した際に、Sceneに画面が出ない(Canvas(Environment)がでないときは、 CanvasRendererとか、RectTransformを追加すれば...」) |
|||
行1: | 行1: | ||
+ | |||
+ | ==Prefabを編集== | ||
+ | *プレハブ側ファイルを編集すると、設置しているScene内のプレハブが自動更新される。 | ||
+ | *Scene内のプレハブを編集すると、Scene内のObjectが編集されるが、プレハブ側ファイルは変更されない。 | ||
+ | *Scene内に同じオブジェクトがある場合は、プレハブ化して、おくと良い。gitで管理してる場合も楽かも。 | ||
+ | |||
+ | ===Prefabの内、一部オブジェクトだけ変更したい場合=== | ||
+ | *Scene内のプレハブは編集すると、オブジェクトのアイコンに+マークが付き文字が白くなる。これは他のPrefabには影響しないので、そのオブジェクトにだけ変更を加えたい場合はそのようにする。 | ||
+ | |||
+ | ===修正ファイル=== | ||
+ | *Prefabだけを、更新した場合は、Prefabファイルが更新される。 | ||
+ | *Prefabの一部オブジェクトを、変更した場合は、~Scene.unityが更新される。 | ||
+ | |||
+ | ===Sceneに配置されてるPrefabの修正を、Prefab側に反映=== | ||
+ | #Sceneに配置されてるPrefabのオブジェクトを修正 | ||
+ | #Sceneに配置されてるPrefabのオブジェクトのInspectorのOverridesを開き、差分が出てることを確認。 | ||
+ | #Sceneに配置されてるPrefabのオブジェクトのInspectorのOverridesの部分で、ApplyAllを選択すると、変更がPrefab側へ反映される。 | ||
+ | #Sceneに配置されてるPrefabのオブジェクト側の変更は、残ったままだが、破棄しても問題ない。 | ||
+ | |||
+ | 参考:https://docs.unity3d.com/ja/2022.3/Manual/EditingPrefabViaInstance.html | ||
+ | |||
==UIPrefab== | ==UIPrefab== | ||
Prefabを選択した際に、Sceneに画面が出ない(Canvas(Environment)がでないときは、 | Prefabを選択した際に、Sceneに画面が出ない(Canvas(Environment)がでないときは、 | ||
CanvasRendererとか、RectTransformを追加すれば良い。 | CanvasRendererとか、RectTransformを追加すれば良い。 | ||
簡単に追加する方法は、Imageとかを作り、そちらにComponentを移し替えれば、良い。 | 簡単に追加する方法は、Imageとかを作り、そちらにComponentを移し替えれば、良い。 |
2023年12月5日 (火) 11:15時点における版
目次
Prefabを編集
- プレハブ側ファイルを編集すると、設置しているScene内のプレハブが自動更新される。
- Scene内のプレハブを編集すると、Scene内のObjectが編集されるが、プレハブ側ファイルは変更されない。
- Scene内に同じオブジェクトがある場合は、プレハブ化して、おくと良い。gitで管理してる場合も楽かも。
Prefabの内、一部オブジェクトだけ変更したい場合
- Scene内のプレハブは編集すると、オブジェクトのアイコンに+マークが付き文字が白くなる。これは他のPrefabには影響しないので、そのオブジェクトにだけ変更を加えたい場合はそのようにする。
修正ファイル
- Prefabだけを、更新した場合は、Prefabファイルが更新される。
- Prefabの一部オブジェクトを、変更した場合は、~Scene.unityが更新される。
Sceneに配置されてるPrefabの修正を、Prefab側に反映
- Sceneに配置されてるPrefabのオブジェクトを修正
- Sceneに配置されてるPrefabのオブジェクトのInspectorのOverridesを開き、差分が出てることを確認。
- Sceneに配置されてるPrefabのオブジェクトのInspectorのOverridesの部分で、ApplyAllを選択すると、変更がPrefab側へ反映される。
- Sceneに配置されてるPrefabのオブジェクト側の変更は、残ったままだが、破棄しても問題ない。
参考:https://docs.unity3d.com/ja/2022.3/Manual/EditingPrefabViaInstance.html
UIPrefab
Prefabを選択した際に、Sceneに画面が出ない(Canvas(Environment)がでないときは、 CanvasRendererとか、RectTransformを追加すれば良い。 簡単に追加する方法は、Imageとかを作り、そちらにComponentを移し替えれば、良い。