2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Unity】Prefab VariantのParentを差し替える、BasePrefabの継承を挿入する(親プレハブをXに置換し、A→Bの継承をA→X→Bにする)

Last updated at Posted at 2023-06-27

概要

たびたび話題に上がっているこの問題。
Change base of prefab variant.(Forum)

Unityは2022.2で神アプデが入りました。
Unity 2022.2 のプレハブ関連の新機能

でも、公式のドキュメントはわかりにくく、PrefabVariantのParentをインスペクターから差し替えようとすると一見グレーアウトされててParentを変更するのは無理に見えます。でもできます。
GrayOut.png

やり方

HogeA → HogeA Variant B

HogeA → HogeA Variant X → HogeA Variant B

に差し替えるとします。
HogeA Variant BはHogeにRigidBodyコンポーネントを追加したものとします。

以下の手順で差し替えが可能です。

①HogeA Variant Xを作成します。
image.png
image.png
image.png

②親を差し替えたいHogeA Variant Bをシーンに配置します。
image.png

③一度Unpackします
image.png

④継承元をHogeA Variant Xに差し替えます。このとき「Replace and Keep Overrides」を選択します。これにより、アタッチされているRigidBodyコンポーネントは残ります。
Switch.png
image.png

④(補足)
もしくは、Hierarchy上でゲームオブジェクトHogeA Variant Bを右クリックし、Prefab→ReconnectPrefabでもいけます。UnpackしてPrefabでなくなった対象にも使える手法であるため、こちらのほうが確実かもしれません。

⑤シーンビューのHogeA Variant XをProjectViewのHogeA Variant Bにドラッグアンドドロップで上書きします。警告が出ますがReplace Anyway→Prefab Variantを選びます。
image.png
image.png

⑥完了です。HogeA Variant Bの親がHogeA Variant Xになりました。
image.png

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?