Quantcast
Channel: ポリめりMMD
Viewing all articles
Browse latest Browse all 1308

Color_Shader + 目のテクスチャを作った話

$
0
0

MMDで「アニメ風」画像を作って

みようという事で比較的簡単な

方法<<ステップ1>>からスタ

ートし3段階に分けて<<ステッ

プ2>>まで紹介してきました。








animerishellshockedahl2706.png





-・-MMDモデルを「アニメ風」に見せる


・材質や影は(原則)単一色

・影と輪郭線(エッジ)をつける


2つのポイントクリアでOK-・--・-




pinkbar.png
<_*MMD「アニメ風」画像の作り方*_>



<<ステップ1>>

・MMDエフェクト/シェーダーで作成




先ほど書いた


・材質や影は(原則)単一色

・影と輪郭線(エッジ)をつける



こういった事はMMDエフェクト

でだいたい出来るので以前

紹介した<<ステップ1>>で

使用するエフェクトについて

おさらいしておきましょう。



モデルの色を好きな色で塗

れる[[単色Color_Shader]]

の使い方の具体例を載せて

みました。




([単色Color_Shader]配布ページ)


製作者:mo様/そぼろ様

https://bowlroll.net/file/45044





([単色Color_Shader]FXファイル)





animerishellshockedahl2704-2.png





[単色Color_Shader]の使い

方はMMD画面右上MMEffect

エフェクト割当でMainタブの

モデルPMXファイル名をクリッ

クして編集のサブセット展開で

モデル材質名を表示させて

その材質名を選びWhite

ShadowOff.fxなどをファイル

選択で開くと材質が指定した

色で塗りつぶされます。

(M4LayerやExcludeとの

併用も可能です。)



[単色Color_Shader]では

すでに16色用意されてますが

それ以外の色を使いたい場合

モデルを画像出力しペイント

ソフトのスポイトツールで色数

値を出して電卓で計算します。




(スポイトツールで色計測)




animerishellshockedahl2704-3.png





R:G:B:に表示された数値は

[単色Color_Shader]でそ

のまま使えないので少し計

算が必要です。

([単色Color_Shader]の

Rを0.5にする時はペイント

ソフトで出した色数値のほう

はG÷R×0.5で出します。)







animerishellshockedahl2704.png





[単色Color_Shader]の

FXファイルはメモ帳など

で開いて書き換えれば

色が変えられます。

(例えば下記の記述コー

ドをコピーして拡張子.fx

で保存すれば使えます。 )



([単色Color_Shader]用

ヘタリア・アメリカモデルの

髪の毛の色数値)





////////////////////////////////////////////////////////////////////////////////////////////////
// パラメータ宣言

float4 DrawColor = float4(1, 0.746, 0.416, 1);



// 座法変換行列
float4x4 WorldViewProjMatrix : WORLDVIEWPROJECTION;

///////////////////////////////////////////////////////////////////////////////////////////////
// オブジェクト描画

struct VS_OUTPUT
{
float4 Pos : POSITION; // 射影変換座標
};

// 頂点シェーダ
VS_OUTPUT Basic_VS(float4 Pos : POSITION)
{
VS_OUTPUT Out;
Out.Pos = mul( Pos, WorldViewProjMatrix );

return Out;
}

// ピクセルシェーダ
float4 Basic_PS() : COLOR0
{
return DrawColor;
}

// オブジェクト描画用テクニック
technique MainTec < string MMDPass = "object"; > {
pass DrawObject {
VertexShader = compile vs_2_0 Basic_VS();
PixelShader = compile ps_2_0 Basic_PS();
}
}

// オブジェクト描画用テクニック
technique MainTecSS < string MMDPass = "object_ss"; > {
pass DrawObject {
VertexShader = compile vs_2_0 Basic_VS();
PixelShader = compile ps_2_0 Basic_PS();
}
}

////////////////////////////////////////////////////////////////////////////////////////////////
// 輪郭描画

// 頂点シェーダ
float4 ColorRender_VS(float4 Pos : POSITION) : POSITION
{
// カメラ視点のワールドビュー射影変換
return mul( Pos, WorldViewProjMatrix );
}

// ピクセルシェーダ
float4 ColorRender_PS() : COLOR
{
// 輪郭色で塗りつぶし
return DrawColor;
}

// 輪郭描画用テクニック
technique EdgeTec < string MMDPass = "edge"; > {
pass DrawEdge {
AlphaBlendEnable = FALSE;
AlphaTestEnable = FALSE;

VertexShader = compile vs_2_0 ColorRender_VS();
PixelShader = compile ps_2_0 ColorRender_PS();
}
}

///////////////////////////////////////////////////////////////////////////////////////////////
// 影(非セルフシャドウ)描画

// 影なし
technique ShadowTec < string MMDPass = "shadow"; > {

}








///////////////////////////////////////////////////////////////////////////////////////////////
// セルフシャドウ用Z値プロット

// セルフシャドウなし
technique ZplotTec < string MMDPass = "zplot"; > {

}

///////////////////////////////////////////////////////////////////////////////////////////////





animerishellshockedahl2704-4.png





[単色Color_Shader]で

好きに色が作れるとPMX

エディタのテクスチャ変更

でモデル改変する手間が

なくて時間短縮にもつな

がります。



<<ステップ1>>で[単色

Color_Shader]を使いこ

なせるようになったら今度

は<<ステップ3>>で画像

合成やモデル改変など

表現の幅を広げる方法に

ついて見ていきたいと思い

ます。






animerishellshockedahl2205.png













_1___2___3___4___5___



<おまけ>



3DCGモデリング用に目の

テクスチャを作りました。


前にmeri用に作ったのが

コチラです。



(モデリング用テクスチャ)




02meriHighlightR-ps200.png06meriAnimeEyeAndHighlightR-ps200.png





今回は目の虹彩をきちんと

描きたかったので前とは

異なる方法で描画しました。





(今回作ったテクスチャ)




eye200.pngeye1_200.png






少しリアル系よりですが

Photoshopのフィルター

機能で思い通りの虹彩

が出来たので自分とし

てはわりと気に入ってます。


実際に装着して似合うと

いいなあ。






Viewing all articles
Browse latest Browse all 1308

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>