質問: BlenderからFBXでインポートしたオブジェクトについて はじめまして。 Unity初心者です。 BlenderからFBXでインポートしたオブジェクトについて、以下がわからず困っています。 書籍なども読みましたがご教示頂けるとありがたいです。 1.FBXやobjでunityにインポートすると、プレハブ状態になって読み込まれますが、マテリアルをエディットできません。(すべてグレーアウトしています) プレハブ状態を完全解凍しても同じですが、マテリアルを編集する為に必要な手順などありましたら教えて下さい。 2.プレハブはインスタンスのような複製によく使われると勉強しましたが、なぜFBXでインポートするとブレハブになって読み込まれるのでしょうか? 以上、よろしくお願いします。
回答: ### 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だけが入ってるフォルダになってる方がやりやすいためです。