Onoty3D

Unityに関するメモとか

Kuler Islandsでテクスチャ編集用マスクを作る

プロ生ちゃんAdvent Calender 2015 13日目の記事です。

qiita.com

先日、Kuler Islandsというソフトウェアの紹介記事を目にしました。

Kuler Islands - OBJファイルからUVアイランド毎に塗り分けたUVマップを生成出来るツールがGithubにて公開!

3dnchu.com

記事にある通り、「OBJファイルから、UVアイランドで塗り分けたテクスチャ画像を生成する事が出来」るソフトウェアです。

これを見た時「テクスチャ編集時のマスクとして使うのに便利だな」と思いました。
アニメ風テクスチャを作る際など、モデルに同梱されている元のテクスチャに手を加えることが多々あるのですが、テクスチャだけ見るとどこからどこまでがどの部分なのかはっきりとはわかりません。
3Dモデリングツールとか使えば分かるのかもしれませんが、使い慣れていないので…。

というわけでプロ生ちゃんで試してみました。
なおプロ生ちゃんのモデルデータはFBX形式なので、OBJ形式に事前に変換しておく必要があります。
(Kuler IslandsはGitHubで公開されているので、頑張ってFBX形式にも対応させる、という手もある)

FBX→OBJ変換は
Autodesk FBX Converterや、Unity上でやるならObjExporterなどが使えるとおもいます(自分は後者のソースを多少いじって利用)。

ObjExporter - Unify Community Wiki

結果がコレ。

f:id:onoty3d:20151213135455p:plain…。

なるほど。とりあえずFBXをそのままOBJに変換したのですが、SubMeshが複数のテクスチャを参照している場合でも、Kuler Islandsが出力するファイルはひとつになってしまうようです
ならば同一テクスチャを参照しているSubMesh単位でOBJファイルを出力させればうまくいくだろうと思い、ObjExporterのソースを多少いじってやり直し。

結果。うまくいきました。

f:id:onoty3d:20151213131239p:plain

(ちなみにpaddingを1にしています。)

幾つかサンプル。

f:id:onoty3d:20151213135559p:plain

f:id:onoty3d:20151213135624p:plain

全部は以下よりダウンロードできます。
プロ生ちゃんテクスチャ用マスク

ちなみにプロ生ちゃんのSubMeshは22個ありますが、同一テクスチャを参照しているグループでまとめると以下の様な感じになります。
0:skin
1-5,15:dress
6:eyes
7:eyelight
8-11,13,14,18:face
12:eyewhite
16,17,19,20:hair
21:tokei

作成したマスクをプロ生ちゃんのテクスチャとして適用させてみるとこんな感じになりました。

f:id:onoty3d:20151213135735p:plain