ねこさんなのです
↑白雪「表面下散乱と表面曲率、あの人が教えてくれた」
もちろんブログ主は教えてもらっていません>(`ヮ´)b
理解してからやるのではなく、理解しながらやります!
ヽ(`ヮ´)ノ
本日は肌の発汗について、材質の設定をモーフで
変更することにより踊っているうちに次第に汗を
かいていくような表現を検討してみましょうです
とりあえず例だけ先に、白雪です
↑(上)白雪の肌 (下)光沢感のある、汗をかいたような肌
上のデフォ値は「material_skin_beige_dark.fx」を元に
適当に決めたものですが光源などにより同一の結果が
得られるとは限りませんので参考程度でどうぞです
ray-cast の「Materials/Editor/Skin/」の下には、
専用PMXコント―ラ及び、そのモーフによるリアルタイム
操作が可能な材質が入っています
(`ヮ´)<最近のシェーダーでよくあるアレ
今回は適当な肌の材質を各キャラごとに設定、それらを
PMXコントローラーで制御可能とすることについて
実例を示してみましょうです
なお、今回使用したバージョンは ray-cast 1.3.1 です
・・・
(1)PMXコントローラの準備
キャラ名「白雪」に対して専用の肌の材質コントローラー
「SKshira.pmx」を作成することとします
・「material_skin_1.pmx」を「SKshira.pmx」にこぴー
ファイル名は「SKin shirayuki」 ということにしました
↑(これは深雪用のPMXの例)
モデル名などを変更して読み込んだときに誰のものか
すぐわかるようにしておきます
他のキャラ(吹雪初雪深雪磯波浦波)のコントローラも
白雪からコピーしてモデル名のところを変更して
それぞれ作りました
一般にモデルの表示順には注意する必要がありますので
ここで説明しておきます
・スカイボックス(スカイドーム)
・ステージ(か床)
・ダミーボーンとか
・ray_controller.pmx
・(SKshira.pmx などの)材質コントローラ系
・キャラ
・エフェクトなどの PMX
モーションなしの状態で各種設定を行ったらいったん
セーブして次の機会にそこから再調整しつつ進める
(毎回0からは進めない)というのを推奨いたします
・・・
(2)fxファイルの準備
上記と同じフォルダ内で「material_skin__1.fx」を
複製コピーを作り「SKhada01.fxsub」というファイル名に
して保存
次に「白雪」というキャラについて「SKshira01.fx」という
設定ファイルを作り肌を制御することにします
「SKshira01.fx」というファイルを新規作成し中身を
以下のようにしました
1行めはさきほどのコントローラを設定しており
これは別キャラの fx であれば別の設定(SKmiyu.pmxなど)
になります
2行めの SKhada01.fxsub に各キャラ共通設定をする
ことになります
3ぎょうめは上記で作成したファイル名と同じものを
書きましょうです
このじょうたいで、キャラ(白雪)に「SKshira.fx」を
読み込んでエラーが出なければおkです
(`ヮ´)<文字コードは Shift-JIS ちゅうい
読み込めないファイルがある、とかエラーが出たら
確認しつつ慎重に修正をお願いします
別キャラなどにも「SKmiyu.fx」などとこぴぺ&キャラ名の
ところを改変して同様に作成していきます
(3)SKhada01.fxsub の変更
今回は全設定をMMD上でやることはせず、いつも
やってる設定を固定値として入れてしまうことにしました
いつもやってる設定は(といっても先週から開始した
ばかりですが)「Materials/Skin/material_skin_beige_dark.fx」
ですので、それを参考にしてしまいます
NORMAL_MAP (法線マップ)関係もいじっていますが
今回特にその設定を使ってませんので省略します
http://neko3nano.blog.jp/archives/23256934.html
↑(07/01)肌や服や髪の法線マップを検討する
自作の法線マップを作成し、それを利用するための
fx ファイルを使用したい場合には上記の記事が参考に
なるかもです
↑いわゆる固定値です
肌の色が(日焼けとかあるとしても)毎回ベース色が
変わるのはどうかと思ったので今回は、元にした
「material_skin_beige_dark.fx」の値で固定とします
↑こちらは表面下散乱(A)と表面曲率(B)の設定のようです
のようです、と書きましたが専門的な分野につき設定に
関する解説が少なく、今回はここもきめうちとしました
d(`ヮ´)<どう設定したらいいか、あとでわかったら変える
初期値はやはり「material_skin_beige_dark.fx」から
こぴぺしたものです
あとは「SKshira.fx」を読み込んでテストします
・・・
(4)モーフのチェック
「モデル編集時カメラ・照明追従」にしておくのが
セオリーです
↑まずは発汗っぽいのをやってみましょうです
「その他」の表情操作のところで・・
Smoothness (滑らかさ) をそれなりに上げる
Metalness (金属っぽさ)をちょっと上げる
深雪とかなら Melanin (日焼け)も上げてやるとおk
↑白雪の鼻頭、首筋、腕などに汗っぽいのが見えますでしょうか
こういう感じで任意にモーション中で発汗状態を制御して
通常のダンスに効果をつけることが可能です
○動画も
↑モーション:一騎当千(moka)
こちらの動画では後半から徐々に発汗が目立つ・・
かもしれません
なお、髪や服などは今回は基本的に固定にしていますが
それらも制御することも可能です
髪や服については材質の fx ファイルをキャラ別にしないで
全キャラ共通にしてしまうのも一案でしょう
(コントローラーの数が増えすぎないようにするため)
○モデル
・とらはぜ式白雪
○アクセ・背景
・葱焼町(葱焼P)
・孤島 昼(mahiro)
・ray-cast 1.3.1 https://github.com/ray-cast/ray-mmd/releases
ずさーc(っ`ヮ´)っー!
↑白雪「表面下散乱と表面曲率、あの人が教えてくれた」
もちろんブログ主は教えてもらっていません>(`ヮ´)b
理解してからやるのではなく、理解しながらやります!
ヽ(`ヮ´)ノ
本日は肌の発汗について、材質の設定をモーフで
変更することにより踊っているうちに次第に汗を
かいていくような表現を検討してみましょうです
とりあえず例だけ先に、白雪です
↑(上)白雪の肌 (下)光沢感のある、汗をかいたような肌
上のデフォ値は「material_skin_beige_dark.fx」を元に
適当に決めたものですが光源などにより同一の結果が
得られるとは限りませんので参考程度でどうぞです
ray-cast の「Materials/Editor/Skin/」の下には、
専用PMXコント―ラ及び、そのモーフによるリアルタイム
操作が可能な材質が入っています
(`ヮ´)<最近のシェーダーでよくあるアレ
今回は適当な肌の材質を各キャラごとに設定、それらを
PMXコントローラーで制御可能とすることについて
実例を示してみましょうです
なお、今回使用したバージョンは ray-cast 1.3.1 です
・・・
(1)PMXコントローラの準備
キャラ名「白雪」に対して専用の肌の材質コントローラー
「SKshira.pmx」を作成することとします
「Materials\Editor\Skin」以下で次の作業をします
・「material_skin_1.pmx」を「SKshira.pmx」にこぴー
ファイル名は「SKin shirayuki」 ということにしました
↑(これは深雪用のPMXの例)
モデル名などを変更して読み込んだときに誰のものか
すぐわかるようにしておきます
他のキャラ(吹雪初雪深雪磯波浦波)のコントローラも
白雪からコピーしてモデル名のところを変更して
それぞれ作りました
一般にモデルの表示順には注意する必要がありますので
ここで説明しておきます
・スカイボックス(スカイドーム)
・ステージ(か床)
・ダミーボーンとか
・ray_controller.pmx
・(SKshira.pmx などの)材質コントローラ系
・キャラ
・エフェクトなどの PMX
モーションなしの状態で各種設定を行ったらいったん
セーブして次の機会にそこから再調整しつつ進める
(毎回0からは進めない)というのを推奨いたします
・・・
(2)fxファイルの準備
上記と同じフォルダ内で「material_skin__1.fx」を
複製コピーを作り「SKhada01.fxsub」というファイル名に
して保存
○「SKhada01.fxsub」↑先頭にこの2行があるはずなので削除
#define CONTROLLER_NAME "material_skin_1.pmx"
#include "material_editor.fxsub"
次に「白雪」というキャラについて「SKshira01.fx」という
設定ファイルを作り肌を制御することにします
「SKshira01.fx」というファイルを新規作成し中身を
以下のようにしました
↑こんな感じの3行です#define CONTROLLER_NAME "SKshira.pmx"
#include "material_editor.fxsub"
#include "SKhada01.fxsub"
1行めはさきほどのコントローラを設定しており
これは別キャラの fx であれば別の設定(SKmiyu.pmxなど)
になります
2行めの SKhada01.fxsub に各キャラ共通設定をする
ことになります
3ぎょうめは上記で作成したファイル名と同じものを
書きましょうです
このじょうたいで、キャラ(白雪)に「SKshira.fx」を
読み込んでエラーが出なければおkです
(`ヮ´)<文字コードは Shift-JIS ちゅうい
読み込めないファイルがある、とかエラーが出たら
確認しつつ慎重に修正をお願いします
別キャラなどにも「SKmiyu.fx」などとこぴぺ&キャラ名の
ところを改変して同様に作成していきます
(3)SKhada01.fxsub の変更
今回は全設定をMMD上でやることはせず、いつも
やってる設定を固定値として入れてしまうことにしました
いつもやってる設定は(といっても先週から開始した
ばかりですが)「Materials/Skin/material_skin_beige_dark.fx」
ですので、それを参考にしてしまいます
NORMAL_MAP (法線マップ)関係もいじっていますが
今回特にその設定を使ってませんので省略します
http://neko3nano.blog.jp/archives/23256934.html
↑(07/01)肌や服や髪の法線マップを検討する
自作の法線マップを作成し、それを利用するための
fx ファイルを使用したい場合には上記の記事が参考に
なるかもです
○修正前static const float3 albedo = mAlbedoColor;
static const float2 albedoMapLoopNum = mAlbedoLoops;
○修正後const float3 albedo = float3(247, 199, 149) / 255;const float2 albedoMapLoopNum = 1.0;
↑いわゆる固定値です
肌の色が(日焼けとかあるとしても)毎回ベース色が
変わるのはどうかと思ったので今回は、元にした
「material_skin_beige_dark.fx」の値で固定とします
○修正前(さいごのほう)
static const float customA = mCustomA;static const float customAMapLoopNum = mCustomALoops;static const float3 customB = mCustomBColor;static const float2 customBMapLoopNum = mCustomBLoops;
○修正後const float customA = 0.6;const float customAMapLoopNum = 1.0;
const float3 customB = pow(float3(238, 104, 94) / 255, 2.2);
↑こちらは表面下散乱(A)と表面曲率(B)の設定のようです
のようです、と書きましたが専門的な分野につき設定に
関する解説が少なく、今回はここもきめうちとしました
d(`ヮ´)<どう設定したらいいか、あとでわかったら変える
初期値はやはり「material_skin_beige_dark.fx」から
こぴぺしたものです
あとは「SKshira.fx」を読み込んでテストします
・・・
(4)モーフのチェック
「モデル編集時カメラ・照明追従」にしておくのが
セオリーです
↑まずは発汗っぽいのをやってみましょうです
「その他」の表情操作のところで・・
Smoothness (滑らかさ) をそれなりに上げる
Metalness (金属っぽさ)をちょっと上げる
深雪とかなら Melanin (日焼け)も上げてやるとおk
↑白雪の鼻頭、首筋、腕などに汗っぽいのが見えますでしょうか
こういう感じで任意にモーション中で発汗状態を制御して
通常のダンスに効果をつけることが可能です
○動画も
ねこさんなのです@neko3nano┌(┌ ヮ`)┐<コントローラーによるモーフのテスト
2017/07/02 00:24:36
CUSTOM_A が表面下散乱 CUSTOM_B が表面曲率関係(要出典)
後半から次第に発汗する浦波たち https://t.co/5Juu2vIklX
↑モーション:一騎当千(moka)
こちらの動画では後半から徐々に発汗が目立つ・・
かもしれません
なお、髪や服などは今回は基本的に固定にしていますが
それらも制御することも可能です
髪や服については材質の fx ファイルをキャラ別にしないで
全キャラ共通にしてしまうのも一案でしょう
(コントローラーの数が増えすぎないようにするため)
○モデル
・とらはぜ式白雪
○アクセ・背景
・葱焼町(葱焼P)
・孤島 昼(mahiro)
・ray-cast 1.3.1 https://github.com/ray-cast/ray-mmd/releases
ずさーc(っ`ヮ´)っー!