部屋の3Dモデルを購入しました。モデルは.obj
形式です。今、私はこのモデルをUnity3Dにインポートしようとしています。
モデルに付属:
5
x .obj
ファイル5
x .mtl
ファイルn
x .jpg
ファイルn
x .tga
ファイル.mtl
ファイルには、PCに存在しないパスが含まれていました。パスを削除しました。画像ファイル(.jpg
&.mtl
)は、.obj
ファイルと同じディレクトリにあります。 .obj
ファイルをインポートしようとしたとき、部屋には素材がありません。次に、FBXコンバーター([埋め込みメディア]をオンにした状態)を使用して.obj
を.fbx
に変換しようとしましたが、インポートしても3Dルームにマテリアルがありません(非表示です)。また、すべての.jpg
および.tga
ファイルをUnityのルートAssetsフォルダーの下のフォルダーにインポートしてから、.obj
および.mtl
ファイルをインポートしようとしました。
何が悪いのですか? Unity3Dは.mtl
を使用して、必要な画像ファイルの場所を特定しますか?いくつかの光を放つ可能性のあるインポートログはありますか?
私はすべての.mtl
ファイルを編集し、パスを削除して、イメージのファイル名(つまりmap_Ka Arch 53-wood 14.jpg
)だけを削除しました。
すべての.jpg
ファイルと.tga
ファイルを同じディレクトリの "Textures"フォルダにコピーしました。
FBXコンバーターを使用して.obj
ファイルを.fbx
に変換しました。
.fbx
をUnity3Dにインポートしました。
それでもマテリアル(非表示)のないモデルが作成されますが、インポート時に自動的に作成されるマテリアルフォルダー内のファイルははるかに少なく、それらのファイルはAssetsフォルダーの下にインポートした画像にマップされます-これは進捗ですか?わからない...
おそらく私のモデルは正しくインポートされていますが、正しく設定されていませんか?インポートした.fbx
モデルの下に、多数のメッシュフィルターがあります。各MeshフィルターのAlbedoは、Assetsフォルダー(スクリーンショットを参照)の下にインポートした画像にマップしますが、ルートモデルをシーンにドラッグしても透明です-なぜですか?
.obj
/.mtl
コンボを機能させることができませんでした。著者にfbxへの変換を依頼できたので、これも機能させようとしています(変換されたfbxファイルで同じ問題が発生しています)。この時点で新しいSO質問を作成します( インポートされた.fbxモデルは透明 )
これを行う最も簡単な(そして正しい)方法は、.mtlファイルを使用しないことです。むしろ、テクスチャとモデルを取り込んで、Unity内にマテリアルを作成します。開始点として、おそらく標準シェーダーを使用するのが最善でしょう。そして、テクスチャをマテリアルの適切なプロパティにドラッグします。
メッシュ内でUVが正しくない場合、上記が機能しない可能性はわずかですが、willが機能する可能性は非常に高くなります。
テクスチャの名前については触れませんでしたが、おそらくプロパティ名とほぼ一致するでしょう。たとえば、_d
_はDiffuse
/Albedo
の場合があります。
編集:上記がオプションではない場合(複雑なオブジェクトのように)、インポート設定でImport Materials
、Material Naming
、Material Search
オプションを使用することで成功する可能性がありますモデル。ただし、これは、少なくともテクスチャ参照が.objを使用していないことを前提としています。