プレハブアセットを編集するには、プレハブモード でプレハブアセットを開きます。プレハブモードでは、シーン内の他のゲームオブジェクトとは別に、プレハブアセットのコンテンツを個別に表示し編集することができます。プレハブモードで加えた変更は、そのプレハブのすべてのインスタンスに影響します。
プレハブアセットは 単独 で、またはコンテキスト 付きで編集することができます。
単独: プレハブを独立で編集すると、Unity は現在の作業シーンの残りの部分を隠し、プレハブ自体 (さらに、任意で、後述の、事前に設定した 編集環境) に関連するゲームオブジェクトのみを表示します。
コンテキスト付き: コンテキスト付きでプレハブを編集する場合、現在の作業シーンの残りの部分は表示されたままですが、編集のためにロックされています。
プレハブモードでプレハブの編集を開始するには、いくつかの方法があります。プレハブアセットを開いて 単独 で編集するには、以下の方法があります。
単独編集の状態でプレハブモードに入ると、Unity はそのプレハブの内容を シーンビュー と Hierarchy ウィンドウにのみ表示します。以下の画像では、プレハブのルートは通常の ゲームオブジェクト であり、青いプレハブインスタンスアイコンはありません。
プレハブモードでは、シーン ビューの上部にパンくずリストが表示されます。一番右側に表示されているのが、現在開いているプレハブです。パンくずリストを使用して、開いた主要なシーンや他のプレハブアセットに戻ることができます。
Hierarchy ウィンドウでは、現在開いているプレハブを示すプレハブヘッダーバーが上部に表示されます。ヘッダーバーの戻る矢印を使用して、1 つ前の手順に戻ることができます。これは、シーンビューのパンくずリストで、1 つ前のパンくずをクリックするのと同様です。
プレハブのインスタンスを経由して、コンテキスト付き でプレハブアセットを開くこともできます。その方法は以下の通りです。
デフォルトでは、Unity はコンテキストの外観をグレースケールで表示し、編集するプレハブコンテンツと外観で区別します。ただし、プレハブバーの Context:** コントロールを使って、以下のいずれかの状態に設定することができます。
コンテキストの一部であるゲームオブジェクトを選択することはできません。また、それらは Hierarchy にも表示されません。これにより、関係のないゲームオブジェクトを誤って選択したり、Hierarchy ウィンドウが混み合うことなく、プレハブの編集に集中できます。ただし、プレハブのコンテンツの一部であるゲームオブジェクトを移動させる場合は、Unity のスナップ機能を使って、コンテキスト内のゲームオブジェクトにスナップさせることができます。ただし、コンテキストが Hidden に設定されていない場合に限ります。
コンテキストを使ったプレハブモードでは、プレハブコンテンツは、それを開いたプレハブインスタンスの位置と一致するように表示されます。つまり、プレハブコンテンツのルートの Transform を、プレハブアセットが実際に持っているものとは異なる位置と回転値でプレビューする場合があります。
コンテキスト付きのプレハブモードでは、これらの値を編集することはできません。これらの値を編集する必要がある場合は、プレハブを単独で開くか、Project ウィンドウでプレハブアセットを選択し、Inspector で値を編集します。
ルートの Transform プロパティ以外にも、プレハブインスタンスの他のプロパティをオーバーライドすることができます。そのため、そのインスタンスのプレハブアセットと比べて外観が大きく変わることがあります。オーバーライドされた値をプレハブインスタンスからプレビューするには、コンテキストのプレハブモードで、プレハブバーの Show Overrides を有効にします。この設定を有効にすると、プレハブインスタンスでオーバーライドしたプロパティは、プレハブコンテキストでも同じようにプレビューされ、編集することはできません。これらのプロパティを編集するには、 Show Overrides のトグルを再度無効にしてください。
プレハブモードでは、シーンビューの右上に Auto Save という設定があります。この設定を有効にすると、プレハブに加えた変更は自動的にプレハブアセットに保存されます。Auto Save はデフォルトでオンになっています。
既存のアセットに自動的に変更を保存することなく変更を行う場合は、Auto Save をオフにします。この場合、Unity は、現在のプレハブのプレハブモードを終了するときに、保存されていない変更を保存するかどうか尋ねます。プレハブモードでプレハブを編集するのが遅く感じる場合は、Auto Save をオフにすると改善される場合があります。
プレハブアセットを経由してプレハブモードを開くと、Unity はプレハブのコンテンツを単独で表示します。ただし、Hierarchy ウィンドウのプレハブインスタンスを経由してプレハブモードを開くと、コンテキスト付きプレハブモード が開きます。
この方法でプレハブモードを開くと、プレハブインスタンスを編集しているのではなく、プレハブアセット自体を編集しているにもかかわらず、プレハブインスタンスのコンテキストがシーンビューで表示されます。例えば、シーン内のプレハブインスタンスからコンテキスト付きでプレハブモードを開くと、プレハブを編集しながら、そのシーンの周囲環境を見ることができます。また、シーンと同じライティング条件でプレハブが表示されます。
コンテキスト付きではなく、単独で開きたいプレハブインスタンスがある場合は、Alt キーを押しながら Open ボタンまたは矢印ボタンをクリックしてプレハブモードを開きます。また、 Shortcuts ウインドウで、コマンド Stage > Edit Prefab in Isolation のカスタムショートカットを設定することもできます。
プレハブモード中にプレハブアセットに変更を加えると、その変更を取り消すことができるのは、プレハブモード中のみです。プレハブアセットのプレハブモードを一旦終了すると、そのプレハブアセットに関連する編集内容は取り消し履歴に残りません。
You can assign a Scene as an editing environment to be used with Prefab Mode in Isolation. This allows you to edit your Prefab against a backdrop of your choosing rather than an empty Scene. This can be useful fto see how your Prefab looks against a specific scenery of your choice. Unity only uses this editing environment when you open Prefab Mode in Isolation.
プレハブモードでは、編集環境として設定したシーン内のゲームオブジェクトは選択できず、Hierarchy にも表示されません。これにより、関係のないゲームオブジェクトを誤って選択してしまったり、Hierarchy ウィンドウを煩雑にすることなく、プレハブの編集に集中できます。
編集環境としてシーンを設定するには、Editor (Edit > Project Settings を開き、Editor を選択) を開き、Prefab Mode の Prefab Editing Environment セクションに移動します。“UI 以外” のプレハブには Regular Environment 設定、UI プレハブには UI Environment 設定を使用します。UI プレハブは、通常の Transform コンポーネントではなく、ルート上に Rect Transform コンポーネントを持つプレハブです。 “UI 以外” のプレハブは、通常の Transform コンポーネントを持つプレハブです。
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.