
シェーダー勉強内容(2022年2月)
はじめに
2022年2月に勉強した内容です。
過去の記事はこちら
Unity
現在チーム制作中のゲームでちょっとシェーダーを使いました。
今作ってるゲームで使ってるシェーダー
— あやは401【シェーダー開発中】 (@ayaha__401) March 9, 2022
ダメージ表現に使用 pic.twitter.com/EYwe9dniT4
ダメージを受けると画面が赤くなるシェーダーです。
画面の赤色になる部分の大きさをHPの割合に応じて変える必要性があるのでシェーダーで実装しました。
透明の場所の色が反転するミスをしてしまいました。ミスを通してまた一つ賢くなった気がします。
透明の場所の色が反転するミス
— あやは401【シェーダー開発中】 (@ayaha__401) March 7, 2022
sdだからマイナスもある
その値を調整なしに突っ込むとおかしくなる
マイナスを消せばOK pic.twitter.com/46GWs2u46g
ミスの内容はシンプルで透過した部分が反転した色になってしまう
といったもの。
原因はアルファ値にマイナスが入ってるからでした。
距離関数(以後SDF)でBOXを作ってそこをアルファ値に代入してるのですがSDFにはマイナス値も出るのでちゃんと処理をしないとアルファにマイナスが入ってしまうことになります。
クリエイティブコーディング
ライブコーディングやつぶやきGLSLをするためにUnityでのシェーダーの割合を少なくしてこちらの勉強量を増やしています。
基本的にはレイマーチングを中心に手法を勉強中。
参考にしているサイトはこちら
レイマーチングのスキルがたくさん載ってるのでかなりオススメです。
前に紹介したスキルを使って応用するように文章が構成されているのでどうやってスキルや手法を組み合わせてコーディングしていくのかがわかって参考になります。
2月で文章全体の約4分の1、pmodをの紹介まで行きました。だいたい何も見ないでコーディングできるようになるまで文章を繰り返し読んでるので勉強速度はかなり遅いです。
この記事を読むまでトーラスなどの作り方は分からなかったのですが割と簡単に作れることがわかりました
なんとか覚えてたわ pic.twitter.com/49Em40qK4A
— あやは401【シェーダー開発中】 (@ayaha__401) February 6, 2022