mesh by name 用のエクスポーター
- pochi
- 2019年12月10日
- 読了時間: 2分
更新日:2019年12月24日
utility > meshByNameExporter
highモデルはZBから、lowモデルはmayaから持ってきて、marmoset toolbag かsubstancePainterでテクスチャベイクを行うっていうとき、
mayaにlowモデル

ZBにhighモデル

marmosetToolbag (substancePainter)で、meshByNameによるベイク

この一連において、オブジェクト名の管理がとにかくめんどくさいです。
mayaからZBやmarmosetにもってく際には、_high / _lowを末尾につけつつ、先頭の文字を大文字 にしたり、mayaでは基本的に_high / _lowとかをつけておきたくなかったり、頭は小文字に戻しておきたかったり。
先頭の大文字/小文字については、ZBが強制的にサブツール名の先頭を大文字にしちゃうので、それに対応するためです。
ZB、、キミってやつは・・・。
ということで、mayaでのネーミングはそのままで、自動でリネームしつつエクスポートするツールです。
例えば、mayaで"body"だったら、ZBへは”Body_high”、marmosetには"Body_low"としてエクスポートし、mayaでの"body"はそのままです。
こんなUIのツールです。

使いかた
・ZBにもってくためにエクスポート編
ツールUI上半分のオレンジ色の文字の部分がそれにあたります。
書き出したいオブジェクトを選択したら、書き出し先を決めて、「export」をぽちっです。

「projectSetPath」は、そのシーンのプロジェクト設定先のフォルダ以下に書きだします。
プロジェクト設定先のフォルダに"workData"というフォルダが自動生成され、

さらにその下に、"toZB"というフォルダも自動生成されます。

そこに書き出されます。

プロジェクト設定先のフォルダ以下ではなく、任意の場所に書き出したいときはボックスに入力します
とりあえず3つボックスを用意しました、3か所のパスが登録できます。
で、ZBでインポートしてみるとリネームされてるのがわかります。mayaではそのままです。やったね。

sdivLV1でインポートして、sdivLVはキープしたまま入れ替えるってときにも便利です
個人的にはよくやるんですが、この時にいちいちサブツール名が変わるのが面倒でした。
・bakerにもってくためにエクスポート編
baker、ここではmarmosetToolbag、substancePainterを想定しています。
ツールUI下半分の青色の文字の部分がそれにあたります。
上記のZBの時と操作は同じです。違うのは2点です。
「projectSetPath」で書き出したとき、ZBではプロジェクト設定先のフォルダ以下、"toZB"というフォルダでしたが、"toBake"というフォルダ以下に書き出されます。

またtoZBでは、選択した個数だけobjとして書きだされましたが、1つのfbxとして書き出されます。
"lowModels+シーン名.fbx"

marmosetに読み込んでみるとリネームされているのがわかります。

ツールの使いかた、以上です。
ZBからのhighモデルについてはその後、fbxエクスポーターでエクスポートすればOKですね
note
marmosetでAOやくとき、オプションのここをOFFにしないとmeshByNameでやってても意味がありません、オブジェクト同士で干渉しまくりになりますので、ご注意を。

Comments