今回は前回に引き続きAtlas化ツールの紹介です。
今回のツールは「モデルなどを作成していて、負荷軽減のために複数のメッシュ、マテリアル、テクスチャを統合してDrawCall数を抑える」といった際に使用するツールです。
このツールは今回紹介する3dsmax側のツールとテクスチャをAtlas化するPhotoshopのツールで分かれています。
テクスチャをAtlas化する際は以下の記事のツールを使用してください。
【Photoshop】2乗テクスチャのAtlas化ツール
スクリプト概要
3dsmax側では「メッシュの統合」「UV座標の変更」「Atlas化したテクスチャの割当」を行います。
具体的には以下のような感じでメッシュが統合されてUV座標が変更されます。
使い方
今までのスクリプトはGistなどに貼り付けていましたが、今回は汎用処理などを分け、複数のファイルがあるため、zipで落とす形にしました。
【スクリプトの準備】
- 上記の右上にある「ダウンロード」ボタンからスクリプトをダウンロード
- zipを解凍する
- スクリプト用のフォルダに「ArtAwA」のフォルダを格納
※フォルダの階層は変えない→念のため他のファイルと競合させないため
格納場所例:
「Win」:D:\Program Files\Autodesk\3ds Max 2017\scripts
【スクリプトの実行】
- 上部タブのスクリプトより「スクリプトを起動」で「MeshBaker.ms」を選択
- 「PSD – FilePath」「CSV – FilePath」に「TextureAtlasmMaker(Photoshop)」で作成したファイルを設定
- Atlas化したいオブジェクトを選択してApply
※応答なしの表示が出るかもしれませんが、アタッチなどの重い処理があるため遅くなっているだけです。
今後の追加予定
・同一座標頂点の連結処理(有無は任意)
背景などをタイリングしている場合はよくありますが、隣接した頂点は連結してしまった方が負荷が下がるので、その処理を追加しようと思います。ただ、連結したくない場合もあるため、チェックボックスで有無を判定しようかと。
・テクスチャの処理もまとめて3dsmax側から呼び出せるように
テクスチャをAtlas化するツールは別の利用用途があるため分離しておいてもいいのですが、出来れば3dsmax側からで完結したいため、3dsmax側からPhotoshopのツールを呼び出す方法を検討中。DOS経由でPhotoshopの起動はいけるみたいですが、インストール場所が一定ではないですし、パラメータを渡してPhotoshopのスクリプトを起動する方法が分からないため模索中です。
・処理の高速化
手作業でやるよりは圧倒的に早いですが、応答なしに見えたり、遅めなので調整。
現状100個くらいをまとめても動きが止まることはなさそうでした。
本当は今回GIFを取ろうと思いましたが、ScreenToGifやLICEcapなどで取ったら色がガビガビになっていたので、諦めました… お手軽に取れるなぁと一瞬思ったのに…
改修は一旦後回しで自主制作の開発に戻ろうかと思います。
それでは今回はこの辺で
(´・ω・`*)ノシ
コメント