【2年生】プログラミング初心者がシェーダー作ってみた
2024年12月9日 | ゲーム・アニメ3DCG学科
こんにちは!今週のブログ担当2年の大田です!
今月は12月。もうAMGでの学生生活も残りわずかとなりました。
4月からゲーム会社でキャラモデラーとして働くことは決定しているのですが、面接で
「リグやシェーダーは内定を頂いてから勉強します!」なんて言っちゃったので、
4月までにある程度は勉強しないと…
ということで今回のブログはプログラミング初心者がシェーダー作ってみた!
プログラミングなんて大学生の時にちょこっと触ってすっかり忘れてるキャラモデラーが、どうやってシェーダーを作ったか解説したいと思います。
まずは理想とするシェーダーに近いものをネットで探します。
0からシェーダーを作るのは難しすぎるのでもっと理解が深まってから!
理想とするシェーダーはインターン先で感動したトゥーンシェーダーです。(目指せ100%再現)
かなり近そうなシェーダーが配布されていました。
MayaToonOutlineShader
https://github.com/kamone416/MayaToonOutlineShader/blob/main/README_ja.md
なんと無料!しかも日本語での説明アリ!
一旦こちらのシェーダーを適用してネットの情報を見ながら理想に近づけてみます。
改変前でもかなりいい感じです。
ここから理想のものに足りない要素は
①Shadow1 Stepをテクスチャで制御したい
②Speclar Stepをテクスチャで制御したい
③インライン用のDetail Color MapがRGB制御ではなく1つのチャンネルだけで制御したい
④Rim Lightのオンオフをテクスチャで制御したい
⑤カメラからの距離に応じて輪郭線をどの程度膨張させるかの係数を頂点カラーで制御したい
このうち⑤は難しかったので諦めます。(TーT)
①と②は現状スライダーで制御できていますが、これをテクスチャで制御したいです。
ではテクスチャで制御できているSpeclar Mapの真似をしましょう。
ソースコードを開いて「Speclar」で検索をかけて関連してそうなところを探します。
コードの意味が分からなければChatGPTにざっくりでいいので解説してもらいます。
まずはここ
テクスチャを入れる部分を作ってるコードっぽいですね。
UIOrderが300から始まって301,302の3番目だとわかるのでわかりやすいです。
次はここ
テクスチャのどのチャンネルを使うかのUIを作ってるっぽいですね。
Noneが0として9項目を選べるようにしています。
ではこのコードをコピペして変数名、UIName、UIOrderをそれっぽく変えます。
これを適用してMaya上で見てみると
見事UIが追加されてテクスチャも入れれるようになりました!
ただこれだけではビューポートに反映されていません。
先ほどの_SpeclarMapや_SpeclarMapUVの変数はどこで使用しているか調べてみると
ここで使用されていました。
なんとなくですが、テクスチャから持ってきた情報をspeclarMap変数に格納している気がします。
今回はShadow1Stepを変えたくて、すでに_Shadow1Step変数は定義されています。
なので定義されている場所と使用されている場所の間にコピペして名前をいい感じに変えます。
・定義されている場所
・使用されている場所
・間のいい感じの場所にコピペ
そのままコピペすると一番上にfloat _Shadow1Step= 1.0;ができると思うのですが、
すでに上で定義されているので消しておきます。
こんな感じのテクスチャを書いてMayaで反映させてみます。
※右が改変後
テクスチャは反映されてそうですが、黒いとこがより陰りやすくなっててほしいのに逆の挙動です。
そんなときは[ x = 1 – x ]を追加して反転してあげます。
つまりは白と黒の反転です!
白いところは黒く、0.2は0.8になります。
Mayaに反映してみると
意図した通りの挙動になりました!
これで①は達成できたので同じ要領で②③④もやっていきます。
というわけでほとんどコピペで理想のシェーダーに改変することができました!
ここまでやってみて思ったことが、
「意外とコピペでなんとかなる」
「0からシェーダー作ってる人すごすぎる」ですね。
ぜひこのブログを見たグラフィッカーもコピペを活かしてシェーダーを作ってみてください!
。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.
■アニメ・ゲーム3DCG学科のX/Instagramはじめました!
⇩AMG在校生の日常などを発信しています✨ぜひぜひチェック&フォローお願いします!
★X(Twitter)はコチラから!★ ★Instagramはコチラから!★
■入学相談・進路相談受付中!ゲームアニメ3DCG学科LINE@での友達募集中!
↓コチラから✨メッセージの際はフルネームと年齢、職業を教えてくださいね↓
。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.☆≡。゚.
来校型オープンキャンパス、オンライン夜間説明会、毎週開催中
★オープンキャンパスへのご予約はコチラから!★
★オンライン夜間説明会へのご予約はコチラから!★
○来校型個別相談会、オンライン個別相談会、平日毎日受付
「週末の説明会に参加できない」という方へ
・平日開催(月~金)
⇒【オンライン開催】のご予約はコチラから!
⇒【来校型】のご予約はコチラから!