ねこさんなのです
本日は法線マップについて学んでみましたのですよ
|`ヮ´)<法線演習は砲戦演習のシャレなのでスルーで
↑うわーなんか髪の毛固そうな白雪たちですにゃー
髪の毛固そうといきなりいわれても困るので、比較画像も
みてみましょうです
↑(左)ノーマルの髪の毛 (右)陰影を強調した髪の毛
今週はリアルっぽい表現を検討するため「ray-cast」という
物理ベースレンダリングをMMD上でテスト開始しています
左は「ray-cast」に標準で入ってた「material_hair_sss.fx」
であり、太陽があたってる感じが強いですが多少髪がのっぺり
している感じなのですよ
今回、髪の毛に陰影をつけることにより、髪が固そうに
みせたりするにはどうするかを説明しようという方向で
進めます
MMDモデルの改造は必ずバックアップをとってから
MMDモデルの改造は必ずバックアップをとってから
d(`ヮ´)<だいじなことなので
ノーマルマップに関する改造をすると、対応したシェーダー
を使わないような通常の使用には適さないモデルに
なってしまう可能性があるので別名で保存せざるを
得ないとあらかじめ断っておきます
(1)ためした ray-cast のばーじょん
https://github.com/ray-cast/ray-mmd/releases
↑(ray-cast)物理ベースレンダリング
現在4種類のリリース版が公開されていますが
本記事の内容については 1.3.1 と 1.3.0 で動作を確認して
おきました
なお 1.2.x では書式が違いますのでご注意くださいです
基本的には、ねこぽんぽんはだいたいどんなソフトでも
開発中バージョンは使わずリリース版を使っています
ただし 1.2.x にしか含まれてないブツもありますので
リリース版はすべて落として展開しておくのがセオリーです
(2)gimp で gimp-normalmap を導入
画像処理ソフトの gimp のプラグインが公開されていますので
それを導入しておきましょうです
https://code.google.com/archive/p/gimp-normalmap/
↑ 「gimp-normalmap」
Downloads から「gimp-normalmap-win64-1.2.3.zip」を
もってくる(いちおう zip ファイルを右クリして
ブロックの解除をするのがセオリーです)
展開すると exe が1こと dll が3こできますが、
標準では
exe → C:Program Files\GIMP 2\lib\gimp\2.0\plug-ins
dll → C:Program Files\GIMP 2\bin
にそれぞれコピーまたは移動すれば完了です
余談ですが「Notepad++」という、ノートパッドの
えらいソフトを(入れてなければ)入れることを推奨です
https://notepad-plus-plus.org/
↑(Notepad++)
今回は npp.7.4.2.Installer.x64.exe を導入しています
(3)テクスチャの読み込みとノーマルマップ化
改造したいMMDモデルの髪の毛のテクスチャを読んでください
(例:吹雪 hair_49F.png みたいなアレ)
正常にコピーできてれば「フィルター」「マップ」
「Normalmap」でノーマルマップ化の変換ができます
(水色とピンクのサイケな画像省略)
パラメータがいくつかありますが「Scale」は「10」~「100」
ていどで調整するといいです(これが陰影の深さに相当します)
また「InvertY」というチェックもありますが「これは凹凸が
逆だろう」というケースではチェックして反転してください
他の(ray-cast 以外)で使いたいとかいうケースもあるでしょう
からここでは何らかの設定の推奨は行わいません
ここでは tnormal/ というフォルダ以下に元テクスチャと同名で
各ノーマルマップを作成・保存したということで以下進めます
(4)材質のスフィアの「サブTex」にノーマルマップを指定
↑上記は磯波の髪だけのモデルですが・・
材質名「hair_rear」に対してデフォではスフィアが
「s_hair_79.png」が「加算スフィア」と設定されてますが
ここを今回作ったノーマルマップに置き換えてみることに
してみました
↑「スフィア」及びその右の設定を「サブTex」に変更しています
このようにしてすべての髪材質でテクスチャ変換と
スフィアの設定変更を行いました
(吹雪型セットの吹雪白雪初雪深雪磯波浦波の
hair_xxX.png がテクスチャとなってる全材質を対象に作業)
実行後になんか髪の毛が半透明っぽくなると思いますが省略
(5)マテリアルの加筆修正
ray-cast の「\Materials\Hair」フォルダの下の
「material_hair_sss.fx」を下記のように書き替えて
「material_hair_sss_NM.fx」という別名で保存しました
(`ヮ´)<だいじなことしょうりゃく
(※)他の fx ファイルを使ってる場合はファイル名を
置き換えて以下作業するようにお願いします
書き換える部分は同じです
↑ごごごご・・
あとは ray-cast を入れて髪の毛の材質で「Material」に
「material_hair_sss.fx」でなく「material_hair_sss_NM.fx」
にしてやれば、記事冒頭などのスクショのようにわりと
強烈な違いが出るかと思います
・・・
○動作例
↑(左)見慣れた白雪 (右)法線マップで髪固そう白雪
↑回れ右させて後頭部やおさげも確認しておきましょうです
(左が通常、右が法線マップ対応版)
・・・
○前髪の透明材質が白くなる件について
吹雪型、特に吹雪白雪初雪深雪については髪テクスチャに
透明部分が含まれており、この種のシェーダーを使うと
髪に白いものが含まれる現象が散見されることがあります
↑妹達の世話による気苦労で前髪に白いものが混じった吹雪
スカイドーム(怪獣対若大将P)
グリッドフロア(Kizck)
↑いっぽうロシアは眼球に放射光材質を当てて目を光らせた
白いのを目立たせなくするという点については、
目を光らせると実は問題の一部は解決します
(`ヮ´)<誰も要求してないような解決法きたにゃー
さらに「MME」のタブで「PSSM」というのが影を
つけてるところなのでそこで前髪の材質を「解除」を
すると、前髪から影が消えて白く濁る部分もわりと
目立ちにくくなります
上記のスクショは前髪の材質の「PSSM」を解除したものです
あくまでもここで述べたいのは髪影が消えて眼球が光ってると
前髪の白い部分が目立ちにくくなるという意見であって、
透過部分の白い部分を本当に消す手法については識者に
委ねたいと思います
なお「PSSM」というのは「Pretty Soldier Sailor Moon」
即ち「美少女戦士セーラームーン」のことであるのは
極めて良く世間で知られていますので、ここのブログに
書くまでもありませんから省略します
ヽ(`ヮ´)ノ
・・・
○問題は長髪の末端部分の透過部分
前髪は影がなくても実際それほど不自然ではありませんが
後髪の影を消してしまうと、地面影がハゲになり特に長髪の
女モデルの動画としては致命的といわざるを得ません
↑初雪(中央の水着)の後ろ髪を直線にカット
今回は5秒間の熟慮の結果、半透明材質問題を解決するのは
時期尚早と判断して髪の末端のUVを縦に縮め、
透明部分のテクスチャを使わない(外見的には後ろ髪の
末端の透明部分を削除する)ということにしておきました
髪の末端の部分が直線になってしまいましたが、これにより
髪の透明材質の白いものがまじることはなくなります
・・・
○さいごに動画など
髪の毛の陰影をつけるために、法線マップをテクスチャから
作成する一手法について今回説明させていただきました
服に(特に水着などに)身体の凹凸を浮かべたいとか、
あるいは肌に汗などを載せたいとかもあるかもです
今回は髪の毛の例でしたが、ぐぐってみますと世間では
各種ノーマルマップを公開配布している方もいるので
それらに今回の手法を応用することが可能だと思われます
↑モーション:一騎当千(moka)
↑別の fx ファイルからこぴぺしてしまったので修正しました
↑大自然の中で法線・・いえ法線演習する吹雪型
法線マップは ray-cast 以外でも比較的重要な技術と
思われますが、実はいままで法線マップを自前で用意した
ことがなく ray-cast がわりと高速に動作することを今週
ようやく知って初めて着手してみた事案でした
○モデル
・とらはぜ式153A
髪のみ:吹雪型V3.1より
○アクセ・背景
本日は法線マップについて学んでみましたのですよ
|`ヮ´)<法線演習は砲戦演習のシャレなのでスルーで
↑うわーなんか髪の毛固そうな白雪たちですにゃー
髪の毛固そうといきなりいわれても困るので、比較画像も
みてみましょうです
↑(左)ノーマルの髪の毛 (右)陰影を強調した髪の毛
今週はリアルっぽい表現を検討するため「ray-cast」という
物理ベースレンダリングをMMD上でテスト開始しています
左は「ray-cast」に標準で入ってた「material_hair_sss.fx」
であり、太陽があたってる感じが強いですが多少髪がのっぺり
している感じなのですよ
今回、髪の毛に陰影をつけることにより、髪が固そうに
みせたりするにはどうするかを説明しようという方向で
進めます
MMDモデルの改造は必ずバックアップをとってから
MMDモデルの改造は必ずバックアップをとってから
d(`ヮ´)<だいじなことなので
ノーマルマップに関する改造をすると、対応したシェーダー
を使わないような通常の使用には適さないモデルに
なってしまう可能性があるので別名で保存せざるを
得ないとあらかじめ断っておきます
(1)ためした ray-cast のばーじょん
https://github.com/ray-cast/ray-mmd/releases
↑(ray-cast)物理ベースレンダリング
現在4種類のリリース版が公開されていますが
本記事の内容については 1.3.1 と 1.3.0 で動作を確認して
おきました
なお 1.2.x では書式が違いますのでご注意くださいです
基本的には、ねこぽんぽんはだいたいどんなソフトでも
開発中バージョンは使わずリリース版を使っています
ただし 1.2.x にしか含まれてないブツもありますので
リリース版はすべて落として展開しておくのがセオリーです
(2)gimp で gimp-normalmap を導入
画像処理ソフトの gimp のプラグインが公開されていますので
それを導入しておきましょうです
https://code.google.com/archive/p/gimp-normalmap/
↑ 「gimp-normalmap」
Downloads から「gimp-normalmap-win64-1.2.3.zip」を
もってくる(いちおう zip ファイルを右クリして
ブロックの解除をするのがセオリーです)
展開すると exe が1こと dll が3こできますが、
標準では
exe → C:Program Files\GIMP 2\lib\gimp\2.0\plug-ins
dll → C:Program Files\GIMP 2\bin
にそれぞれコピーまたは移動すれば完了です
余談ですが「Notepad++」という、ノートパッドの
えらいソフトを(入れてなければ)入れることを推奨です
https://notepad-plus-plus.org/
↑(Notepad++)
今回は npp.7.4.2.Installer.x64.exe を導入しています
(3)テクスチャの読み込みとノーマルマップ化
改造したいMMDモデルの髪の毛のテクスチャを読んでください
(例:吹雪 hair_49F.png みたいなアレ)
正常にコピーできてれば「フィルター」「マップ」
「Normalmap」でノーマルマップ化の変換ができます
(水色とピンクのサイケな画像省略)
パラメータがいくつかありますが「Scale」は「10」~「100」
ていどで調整するといいです(これが陰影の深さに相当します)
また「InvertY」というチェックもありますが「これは凹凸が
逆だろう」というケースではチェックして反転してください
他の(ray-cast 以外)で使いたいとかいうケースもあるでしょう
からここでは何らかの設定の推奨は行わいません
ここでは tnormal/ というフォルダ以下に元テクスチャと同名で
各ノーマルマップを作成・保存したということで以下進めます
(4)材質のスフィアの「サブTex」にノーマルマップを指定
↑上記は磯波の髪だけのモデルですが・・
材質名「hair_rear」に対してデフォではスフィアが
「s_hair_79.png」が「加算スフィア」と設定されてますが
ここを今回作ったノーマルマップに置き換えてみることに
してみました
↑「スフィア」及びその右の設定を「サブTex」に変更しています
このようにしてすべての髪材質でテクスチャ変換と
スフィアの設定変更を行いました
(吹雪型セットの吹雪白雪初雪深雪磯波浦波の
hair_xxX.png がテクスチャとなってる全材質を対象に作業)
実行後になんか髪の毛が半透明っぽくなると思いますが省略
(5)マテリアルの加筆修正
ray-cast の「\Materials\Hair」フォルダの下の
「material_hair_sss.fx」を下記のように書き替えて
「material_hair_sss_NM.fx」という別名で保存しました
(`ヮ´)<だいじなことしょうりゃく
(※)他の fx ファイルを使ってる場合はファイル名を
置き換えて以下作業するようにお願いします
書き換える部分は同じです
(修正前)
#define NORMAL_MAP_FROM 0
(修正後)
#define NORMAL_MAP_FROM 4
↑ごごごご・・
あとは ray-cast を入れて髪の毛の材質で「Material」に
「material_hair_sss.fx」でなく「material_hair_sss_NM.fx」
にしてやれば、記事冒頭などのスクショのようにわりと
強烈な違いが出るかと思います
・・・
○動作例
↑(左)見慣れた白雪 (右)法線マップで髪固そう白雪
↑回れ右させて後頭部やおさげも確認しておきましょうです
(左が通常、右が法線マップ対応版)
・・・
○前髪の透明材質が白くなる件について
吹雪型、特に吹雪白雪初雪深雪については髪テクスチャに
透明部分が含まれており、この種のシェーダーを使うと
髪に白いものが含まれる現象が散見されることがあります
↑妹達の世話による気苦労で前髪に白いものが混じった吹雪
スカイドーム(怪獣対若大将P)
グリッドフロア(Kizck)
↑いっぽうロシアは眼球に放射光材質を当てて目を光らせた
白いのを目立たせなくするという点については、
目を光らせると実は問題の一部は解決します
(`ヮ´)<誰も要求してないような解決法きたにゃー
さらに「MME」のタブで「PSSM」というのが影を
つけてるところなのでそこで前髪の材質を「解除」を
すると、前髪から影が消えて白く濁る部分もわりと
目立ちにくくなります
上記のスクショは前髪の材質の「PSSM」を解除したものです
あくまでもここで述べたいのは髪影が消えて眼球が光ってると
前髪の白い部分が目立ちにくくなるという意見であって、
透過部分の白い部分を本当に消す手法については識者に
委ねたいと思います
なお「PSSM」というのは「Pretty Soldier Sailor Moon」
即ち「美少女戦士セーラームーン」のことであるのは
極めて良く世間で知られていますので、ここのブログに
書くまでもありませんから省略します
ヽ(`ヮ´)ノ
・・・
○問題は長髪の末端部分の透過部分
前髪は影がなくても実際それほど不自然ではありませんが
後髪の影を消してしまうと、地面影がハゲになり特に長髪の
女モデルの動画としては致命的といわざるを得ません
↑初雪(中央の水着)の後ろ髪を直線にカット
今回は5秒間の熟慮の結果、半透明材質問題を解決するのは
時期尚早と判断して髪の末端のUVを縦に縮め、
透明部分のテクスチャを使わない(外見的には後ろ髪の
末端の透明部分を削除する)ということにしておきました
髪の末端の部分が直線になってしまいましたが、これにより
髪の透明材質の白いものがまじることはなくなります
・・・
○さいごに動画など
髪の毛の陰影をつけるために、法線マップをテクスチャから
作成する一手法について今回説明させていただきました
服に(特に水着などに)身体の凹凸を浮かべたいとか、
あるいは肌に汗などを載せたいとかもあるかもです
今回は髪の毛の例でしたが、ぐぐってみますと世間では
各種ノーマルマップを公開配布している方もいるので
それらに今回の手法を応用することが可能だと思われます
ねこさんなのです@neko3nano┌(┌ ヮ`)┐<法線マップで髪の凹凸感に挑戦
2017/06/29 21:00:52
各髪材質のテクスチャを「gimp-normalmap」で変換し
サブTex に設定
#define NORMAL_MAP_FROM 3
浦波たち、初雪のみ後ろ髪末端の透過は削除 https://t.co/inIBn7C6VS
↑モーション:一騎当千(moka)
ねこさんなのです@neko3nano┌(┌ ヮ`)┐<NORMAL_MAP_FROM 4 でした
2017/06/29 21:09:23
↑別の fx ファイルからこぴぺしてしまったので修正しました
↑大自然の中で法線・・いえ法線演習する吹雪型
法線マップは ray-cast 以外でも比較的重要な技術と
思われますが、実はいままで法線マップを自前で用意した
ことがなく ray-cast がわりと高速に動作することを今週
ようやく知って初めて着手してみた事案でした
○モデル
・とらはぜ式153A
髪のみ:吹雪型V3.1より
○アクセ・背景
・ray-cast 1.3.1 https://github.com/ray-cast/ray-mmd/releases
・実写背景 http://www.hdrlabs.com/sibl/archive.html
ArboretumInBloom
ずさーc(っ`ヮ´)っー!
ずさーc(っ`ヮ´)っー!