[3dsMax]スクリプトを使用し、テクスチャパスを絶対パスから相対パスへと書き換える。

例・マテリアルエディタ1番スロットの、拡散反射光マップのテクスチャパスを編集する。

meditMaterials[1].diffusemap.filename = “ngroku.png”
マテリアルスロット一番目の、拡散反射光マップの、ファイル名を”ngroku.png”にする。

※ファイル名を入れるとき、ダブルクォーテーションで囲まないとエラーになる。
※meditMaterialではなく、meditMaterials。複数形。“s”の付け忘れに注意。

※書き換えると、ビューポートに表示していたテクスチャが消えるけど、 指定したテクスチャのあるフォルダか、そのテクスチャがある上の階層のフォルダへ保存すれば、 maxファイルを開いたときに読み込んでくれる。

※マテリアルスロット番号の並び順
マテリアルエディタスロットの番号の並び順は、
左上が1番で、右に向かって数える。端まで行ったら、
下の段の一番左から右に向かって数える。
順番は初期状態のマテリアルの名前を見れば分かりやすい。“01 – Default”が一番目。

※今回は“meditMaterials[1]~”と、マテリアルスロット番号で指定したけど、
マテリアルの名前で指定することもできる。
マテリアルの名前がngrokuならば、“meditMaterials["ngroku"]~”にすればいい。

※標準マテリアル シェーダのマップ チャンネル一覧は、
スクリプトリファレンスStandardMaterial: Materialページの一番下。
リファレンスを“マテリアルのタイプ”で検索→standard

※スクリプトを使わなくても、アセットトラッキングから相対パスにする事が出来る。

▼なぜ相対パスにする必要があったのか?
ゲーム用に使うモデルをxfile形式でエクスポートして、相手に送ったら、エラーが出てしまうと言われた。
書き出したxfileをメモ帳で開いてみると、テクスチャパスがフルパスになっていた。これがエラーの原因だった。

コメントを残す

メールアドレスが公開されることはありません。


四 + 8 =


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>