読者です 読者をやめる 読者になる 読者になる

SuiTechLog

Unity,Arduino,RaspberryPiなど、モノづくり系を気ままに書き残すブログ。

Unity テクスチャのちょっとだけ便利話

今日はテクスチャのちょっとだけ便利話です。

 

 Unityでは読み込むFBXファイルと同階層にTexturesというフォルダを作ってテクスチャをいれておくと、FBXインポート時にそこを見に行って自動的にAlbedoにテクスチャを繋いでくれるという機能があったりします。(新規に読み込む場合のみ)

 

f:id:sui332015:20170209014140p:plain

 ただ、これを使う場合はモデルを作るDCCツール側で、標準のマテリアルの「テクスチャカラー」や「ディフューズ」やにテクスチャを貼っておく必要があります。(Mayaでいうと、標準Lambertマテリアルのdiffuse color)

 

そして、上記からわかるように、Albedoしか自動では貼ってくれません。NormalMapやMetalicなどは出来ません。

(もしほかのテクスチャパスも自動でできる方法があるよーという場合は、指摘していただけると幸いです。)

 

 たったこれだけですが、テクスチャパスを貼る手間が省けるのでUnityオペレーターとしてはだいぶラクになります。そんなこともあって、私はUnity作業者にモデル渡すときは必ず上記のような構造にして、渡しています。

 

 ちなみに、年始に作りましたこのゲームでは標準のテクスチャしか使っていないので、上記構造にしておくことで、マテリアルを最初のStandardから、Unlit>Textureに切り替えるだけでマテリアル作業は終了でした。(StandardマテリアルのAlbedoにつながってるテクスチャはほかのマテリアルに切り替えても、一番上のスロットにつながりますので、テクスチャを繋ぎなおすこともありませんでした。)

 

 もしインポートしたときに自動ですべてのテクスチャを繋いだり、果てはマテリアル設定できれば・・・という場合には前回の記事でかいた、インポート時に処理を走らせる方法とテクスチャの命名規則でうまいこと出来ると思います。