Wait a moment...

3Dモデル作成番外編Shaderの巻

23536
mizinco
nem1.24xem (2)
307
3
2019-05-15 16:28:57
3Dモデル作成番外編Shaderの巻

こんちわー!mizincoでう!

 

今回は3Dモデルとは切っても切れないシェーダーのお話です。

 

 

シェーダーとは!

3Dモデルを画面という二次元にどう描画するかを決定する物なのです。

 

シェーダーがなければ3Dモデルは単色の粘土細工みたいなものです。

 

シェーダーでモデルをどのように表示するかを決定づけています。

例えば影の付き方1つとっても、ライト方向とモデル表面の角度を計算させ、その上で現実よりの影の付き方にするのか、アニメ調のぱきっと影の付き方にするのかなどなどを計算しています。

 

このシェーダー作るのもプログラムを組まないといけないのです。

 

みなさんにお配りしているVRMファイルも、アニメ寄りに設定値を調整したMtoonというシェーダーを使っています。

 

 

「じゃあMtoon使えばいいじゃん」と思ってしまうのですが、Mtoonは若干描画負荷が高いのです…

 

シェーダーには「パス」というものがあります。

1パス目 モデルのテクスチャを描画

2パス目 影を描画

こんな感じでパスの内容で役割が決まります。

 

もちろんパスが少ないほうが描画負荷は軽くなるのですが、Mtoonは3パス目のアウトラインの描画があります。

 

アニメ調の描画にアウトラインは欲しいところなんですが、この1パスの差がでかい!!

 

1体2パスと3パスだと1パスしか違いませんが、

50体表示すると50パス違ってくるのです。

 

その為、私の作ってるシェーダーではアウトラインは採用してません。

 

 

 

その代わりに今回シェーダーを開発し直しました!

 

今までのシェーダー

 

新開発シェーダー

え…どこが変わったって?

 

ここです!

 

若干ですが、リムシャドウを入れてみました。

テクスチャの色より若干濃い色を表示することで、アウトラインのような背景から浮き上がらせる効果を出しています。

 

この表現方法はDS版閃光カグラでも採用されているようです。

 

リムシャドウはカメラの向きと3Dモデル表面の角度で計算していますので、カメラが動けばリムシャドウの位置も変わります。

そのためテクスチャに直接描きこむよりも柔軟性が出てるかなぁと思います。

 

 

 

久しぶりにシェーダー触ったので、自分で組んだプログラムが解読できないなんてこともありましたw

 

今日はこのへんでおしまい!

ではまたっノシ

Comment
mizinco
mizinco
2019-05-15 22:03:58ID:117130

>>えっさん(囚われの身)🐾nemlogツアーコンダクター&コメンテーター🐾::さん
>>nito nei::さん
そうなんです!単色より奥行きが出るんですー
これをテクスチャに描き込んじゃうと横から見たときに違和感出ちゃうんですよー

nito nei
nito nei
2019-05-15 20:55:50ID:117111

お、おぉー!!
いい感じ(^^)奥行きが出ましたね!!

大魔王えっさん🐾🌎👣
大魔王えっさん🐾🌎👣
2019-05-15 19:23:39ID:117079

まったく違いが分かんなかったけど、たぶん大事なんだろう٩(๑❛ᴗ❛๑)۶

勉強になりましたうぇ〜い(● ˃̶͈̀ロ˂̶͈́)੭ꠥ⁾⁾

この記事を書いた人
blenderで3Dモデルを作ったりして遊んでます。 nem決済でオリジナル3Dアバターを作成します! 詳細はまだ決めていない… 気になる方は是非お声掛けくださいませ。