見出し画像

VRMでUnity/Blenderを使わないノーマル(法線)マッピング

古くから3D CG界隈では面の凸凹や材質を定義するのにバンプマッピングと言う手法が用いられてきましたが、VRoidの出力データを見るとおへその陥没とかもよくみるとこれが使われています。Unity/Blender使ってあれこれやるのは大掛かりなので、そこまでやらなくてもできるバンプマッピングの方法について紹介します。

cluster用と謳いつつも多用途に使えるテクスチャ差し替え・リサイズ用ツール

clusterはテクスチャのサイズ制限が特に厳しくて、細かい模様が破綻しがちなので、それ専用にデフォルメしたテクスチャに差し替えとかできると便利だなと思ったのでテクスチャのインポート・エクスポート機能を実装したら、普通にcluster以外でも使えて我ながら意外と便利でした。

WindowsにはVRMのテクスチャ差し替えができるツールは複数あるみたいですがMacではこれが唯一の選択肢かと思います(他に知らない)。

基本、VRMファイルのテクスチャの取り出し・差し替えはこれを使う前提で説明していきます。

スクリーンショット 2021-01-03 13.39.09

ノーマルマッピングとは?

ノーマル(法線)マッピングがどういうものかについては私が語るより専門的な情報を当たった方が良いかと思いますので、このあたりを参照してください。

要するに面に凹凸の表現を与え、もしくはパターンによって素材の材質を表現するのがノーマルマップになります。肌(体・顔)テクスチャは標準でノーマルマップが生成されるので、色々試しやすいと思われます。

衣装テクスチャからノーマルマップを秒速で作る方法

いや、本当に秒速です。Unity?要りません。GIMPを使います。メニューから[フィルタ(R)]→[汎用(G)]→[Normal Map...]を選ぶだけです。

スクリーンショット 2021-01-03 14.17.29

まあこれだと、凹凸になってほしくないところまでなってしまったり、部分的に凹凸を逆にしたいみたいなこともあるので、レイヤーを分割して処理するわけです。

エッジの部分にだけ凹凸表現したい場合は黒一色や白一色に塗ってからノーマルマップフィルタを適用することになるかと思います。
色々試してみてください。

布地効果を適用する

肌テクスチャに重ねた水着とか下着の部分に、布地の質感を与えるのにもノーマルマップが役に立ちます。どこかしらからレイヤーマスク、もしくはクリッピングレイヤーを適用しつつ適用部分に「オーバーレイ」で合成します。

CLIPSTUDIO PAINT PRO/EXですとこの辺りにあります。これをGIMPなどのノーマルマップフィルターをかけてから合成です。

スクリーンショット 2021-01-03 12.05.51

肌テクスチャに着込むタイプの水着はリムライトを適用すると肌部分と同様にテカテカになりがちなのですが、水着部分に布地のバンプマッピングを施してやることでリムライトが乱反射し、質感を変えることができています。

更に紐やリボンの部分には厚みを加えています。だいぶのっぺり感が解消されているのがわかるでしょうか?

画像5

今回はもち様の「マリンな水着」を使わせていただきました。

豪華版に付属のPSDファイルはパーツごとにレイヤー分けされていてノーマルマップが作りやすいと思います(オリジナルのテクスチャには布目パターンは焼き込まれていません)。

上衣や靴・アクセサリにノーマルマップを適用するには?

そんなわけで肌テクスチャに着用した水着などの衣装に厚みや布地の材質を与える方法について紹介したわけですが、見ればわかるように、肌テクスチャにはノーマルマップが用意されていますが、一方でワンピースやズボンには対応するノーマルマップテクスチャが見当たりません。

じゃあ、バンプ効果適用するには結局Unityとかでマテリアルを追加する必要があるじゃん!って話になるのですが、実はVRoid Studioだけでできます。

アトラス化すると全ての衣装テクスチャにノーマルマップが適用できる

これはマテリアル数12のアトラス化テクスチャ解像度4096x4096pxの設定でVRMを出力し、ダークネス渋(リニューアル版)のノーマルマップのテクスチャを表示したところです。体と髪は標準でノーマルマップが用意されていますが、靴とトップス(ついでにいうとズボン/スカートやネクタイもそうなのですが)は紫一色になっています。

実はアトラス化するだけで、全てのパーツにノーマルマップが適用されます。オレンジ色で示した部分が、それぞれの衣装の凹凸情報を示しています。

画像1

何を頼りにそんなことがわかるかって?これはまあ、対応するベースカラーのテクスチャを見ればわかりますね。

画像2

便宜的にベースカラーと色違いの、暗色で塗ってある方をシャドウカラーと呼びます。
シャドウカラーは衣装の影部分の色を定義しますが、VRoidでいう「かげ色」が乗算された状態となっています。影のかかり方もカスタマイズしてやるといっそう表現の幅が広がりますね。こちらも合わせて編集すると良いでしょう。

各自お試しあれ。

この記事が気に入ったらサポートをしてみませんか?