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

Onoty3D

Unityに関するメモとか

プロ生ちゃんのTシャツに絵を重ねてみよう

Unity プロ生ちゃん

プロ生ちゃんの新モデルが公開されています。

pronama.azurewebsites.net

MMD版が先行しておりますが、Unity版も近日中に公開されることと思います。
この記事は、そのUnity版を対象とした内容になります。

さて、新モデルですが、Tシャツモデルが登場しています。

f:id:onoty3d:20160927190154p:plain

デフォルトでは無地の真っ白なTシャツを着ておりますが、マテリアルを調整して色を変えたり、テクスチャを編集したりして任意の柄を付けたりすることが可能です。

テクスチャに手をいれるのは少々手間ですが、デカールシェーダのようなシェーダを利用すれば、元のテクスチャはそのままに、その上に任意の絵を重ねる事ができます。

f:id:onoty3d:20160927185638p:plain

f:id:onoty3d:20160927185702p:plain

また、そのような機能のないシェーダでもかんたんに絵を重ねる方法を見つけたので、今回はその方法を紹介します。

絵を用意する

まずは重ねたい絵を用意し、それをUnityに取り込みます。

f:id:onoty3d:20160927185746p:plain

f:id:onoty3d:20160927185823p:plain
絵のタイプによって背景を透過にする設定を行ったりしてください。
また、WrapModeをClampにすると、絵がリピートすることが無くなります。

マテリアルを作る

絵が用意できたら、それを表示させるマテリアルを作ります。f:id:onoty3d:20160927185846p:plain
背景を透過にする場合は、透過が出来るシェーダーを選んでください。

SkinnedMeshRendererにセットする

マテリアルが出来たら、それをプロ生ちゃんのSkinnedMeshRendererのMaterialsの29番目のマテリアルとしてセットしてください。f:id:onoty3d:20160927185919p:plain
※MaterialsのSizeを29に変更すると、マテリアルの枠が1枠増える(デフォルトで28番目のマテリアルと同じマテリアルがセットされる)ので、そこに作成したマテリアルをセットしてください。

これでTシャツの上に絵が重ねられます。

f:id:onoty3d:20160927190032p:plain

そのままだと位置やサイズがおかしかったりするので、マテリアルのTilingやOffsetを調整して、いい具合にしてみてください。