質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

1回答

310閲覧

【Unity】プレハブバリアントでモデルの差し替え

kazuma_tachiban

総合スコア12

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2022/09/24 14:15

プレハブバリアントの使い方がよくわかりません。
プレハブバリアントはとても便利で使いたいのですが、モデルの差し替え方がわかりません。

例えば、空のオブジェクトを作成し"Chara"とかにして、その子に"Cube"オブジェクトを付けたとします。
プレハブバリアントを作成して子の"Cube"オブジェクトを削除して"Sphere"オブジェクトを付けようとすると削除しようとした時にエラーのウインドウメッセージが出ます。
子オブジェクトをいじるならプレハブモードでやれ!みたいなメッセージです。

この様な使い方は出来ないのでしょうか?
それとも元の"Chara"に最初から"Cube"オブジェクトと"Sphere"オブジェクトを付けておいてその都度チェックを外すみたいな使い方なのでしょうか?

わかりずらい説明ですみませんが、わかる方がいれば教えて下さい。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

そもそもプレハブという仕組みが作られた目的を考えればいいのではないでしょうか?
プレハブの目的は同じ性質を持った複数のオブジェクトをまとめて扱えるようにするものだと思います。

例えば、「"Chara"というプレハブを作ったとして、複数の"Chara"オブジェクトでパラメータやキャラの形を"Cube"から"Sphere"に変えたいと思って、プレハブモードで変更すると全てのオブジェクトに反映されていると便利だよね」という感じです。

ここで、普通のシーンビューに戻って1つの"Chara"の形だけを変えたいと思って、"Cube"オブジェクトを削除しようとするとエラーのウインドウメッセージが出ますが、仮に削除できたとしましょう。再度、プレハブモードに戻って今度はキャラの色を変えようとしてパラメータを変更すると、プレハブの仕組みとして、全ての"Chara"の"Cube"オブジェクトの色を変えようとしますが、1つだけ"Cube"が存在しないオブジェクトがあるので反映できず、プレハブの仕組みそのものが破綻してしまいます。

この時の、プレハブとオブジェクトの関係と、プレハブとプレハブバリアントの関係は同じような親子関係だと考えれば、プレハブバリアントの方も追加・変更はできても、削除はできないことが分かると思います。

投稿2022/09/25 02:19

KomoriGameDev

総合スコア433

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問