重要なお知らせ:誠に勝手ながら当サイト(unityroom質問掲示板)は2021年10月31日をもちまして閉鎖させていただきます。ご利用誠にありがとうございました。

unityroom.com については引き続きご利用いただけます。

0 支持
141 閲覧

はじめまして。
Unity初心者です。

BlenderからFBXでインポートしたオブジェクトについて、以下がわからず困っています。
書籍なども読みましたがご教示頂けるとありがたいです。

1.FBXやobjでunityにインポートすると、プレハブ状態になって読み込まれますが、マテリアルをエディットできません。(すべてグレーアウトしています)
プレハブ状態を完全解凍しても同じですが、マテリアルを編集する為に必要な手順などありましたら教えて下さい。

2.プレハブはインスタンスのような複製によく使われると勉強しましたが、なぜFBXでインポートするとブレハブになって読み込まれるのでしょうか?

以上、よろしくお願いします。

初心者 (120 ポイント) | 141 閲覧

ログインまたはユーザー登録してから回答してください。

回答 2

0 支持

2について

modelとprefab
※画像はProjectビューを切り取ったものです。

質問の順番と前後しますが、FBXをUnityにインポートしたものと、prefabは別のものです。
アイコンが似ていますが、上がmodelで下がprefabです。
modelをシーンに配置し、そのまま組み込んでしまう時もありますが、シーンに配置したmodelに対しInspectorで行った設定や、コンポーネントの追加などは、あくまでシーンに配置したものに対してで、modelには保存されてません。
なので、上の画像の1個目のmodelをProjectビューから、再びシーンに配置しても、先に行った設定やコンポーネント追加がないものが配置されます。
なので、modelをシーンに配置したら、position, rotation, scaleをいじってどこに配置するかという事をする前に、必要な設定やコンポーネント追加を行って、それをprefabとして置くと、同じのを複数個配置する時に設定済みになって便利です。

1について


※画像は、シーンに配置したmodelを選択した時のInspectorです。

modelに最初からついているマテリアルは基本的に調整できないと思います。
最近はFBXに埋め込まれたマテリアルを使ったり、埋め込まれたマテリアルを抽出したりという事が、modelのimport settingsで指定出来たりするので、その指定によっては調整できる場合もあるかもしれませんが、自分はFBXに埋め込まれたマテリアルを基本的に使ってないので詳しく知りません。

自分の場合は、マテリアルはUnityで改めて用意してmodelに割り当てる作り方をしていて、画像の矢印の所に、自分で用意したマテリアルを放り込んでいます。
そうすると、画像下部のマテリアルの所がグレーアウトではなくなるし、Projectビューのマテリアルを選択してマテリアル自体を調整すれば、そのマテリアルを使ってるmodelにも反映される様になります。

1個目の回答で説明した、modelに必要な設定やコンポーネント追加してからprefabにするのは、このマテリアルの設定も行ってからprefabにすると良いと思います。

そして、この作り方をすると、基本的に画像の様にmodelに対しprefabも1個作る事になります。
自分はこの時は同じフォルダに入れてしまいましたが、数が多い場合はModelsフォルダとPrefabsフォルダにぞれぞれ入れたりもします。
prefabを作った後、シーンに色々と配置などをする作業では、modelの方を使う事はほとんどないので、数が多い場合にはごっちゃになってる方が間違えやすく、prefabだけが入ってるフォルダになってる方がやりやすいためです。

一人前回答者 (1.5k ポイント)
0
返信が遅くなり申し訳ありません。
大変丁寧なアドバイスをいただき、とても参考になりました。
モデリングは、基本的に外部の3Dモデルでモデリングした物をunityに持って行く形が多いと思いますが、読み込まれると何故か自動でprefab化されてしまい、マテリアルの編集ができない仕様の用です。なので、アドバイス頂いたように、自分でマテリアルを作成してから同じマテリアル名に変えて作り直すという方法を取ろうと思いますが、なにせ建物とかでは数百に及ぶマテリアルがありますので、それをすべて作り直すのは非効率だと思い、何か方法があるのではと質問しました。
0 支持

私は通常、3DモデルをOBJやMTL形式でUnityにインポートしていますが、マテリアルに関する問題は発生していません。しかし、Artec StudioソフトウェアからFBXファイルをインポートしなければならないことが何度かあり、一部のモデルがグレーアウトしてしまいました。インターネットで見つけた解決策は、モデルインポーターウィンドウからマテリアルをインポートする必要があるというものでした。その後、unityでテクスチャを手動でインポートし、自動割り当てされていない場合はマテリアルに割り当てる必要がありました。その後、そのマテリアルをメッシュレンダラーで使用しました。

初心者 (140 ポイント)
0
アドバイスありがとうございます。
モデルインポーターウィンドウからマテリアルをインポートすれば、確かに作成したマテリアルをロードできますが、prefabではその編集ができないので困っていました。

関連する質問

0 支持
1 回答
takec_unity 初心者 (150 ポイント) 2/3 質問 | 106 閲覧
2021-02-08 質問・回答をMarkdownで入力できるようにしました。
2020-09-03 新たなスパム対策を導入しました。

181 質問

161 回答

165 コメント

221 ユーザー