9月シェーダーお絵かき勉強記録
9月からシェーダー(主にシェーダーお絵かき)の勉強を始めました。
自分にしてはかなりコンスタントに進捗を上げれたので、noteにまとめてみることにします。技術的なことは書いてなくて(最後に参考サイトまとめがあります)感想文&シェーダーは良いぞみたいな記事です。シェーダーに興味を持つきっかけになれば幸いです。
長期休み
— Saina(さいな)🌠 (@SainaKey) August 3, 2021
Unityとシェーダーをしっかりやろうの気持ち
きっかけです。せっかくの長期休みだったので目に見える成長がしたいなと思い。開発中のUnity製VJソフトのアップデートと余った時間でシェーダーをやるぞ!!という気持ちでした。
9/1
— Saina(さいな)🌠 (@SainaKey) August 31, 2021
色々落ち着いてきて、シェーダーを学び始めました。
過去に3回ほどシェーダーにチャレンジしてはちょっと色を出して挫折してをしてました。4度目の挑戦になります。
この時点では順番に学んでいこうと正規化について調べたりしてましたが、絵が出るわけではないので楽しさはあまりなく、このままだとまた挫折していたと思います。(時間をかけて正規化について考えたのは今に繋がってるので、大事なことだとは思います)
見えましぇん! pic.twitter.com/wAQ8gDyh41
— Saina(さいな)🌠 (@SainaKey) August 31, 2021
VRChatでシェーダーを学ぶ配信をしてたらMALO(上ツイート)さんにブタジエンさんを紹介して頂きました。シェーダーお絵かきについての記事やシェーダーで使う行列について教えて頂けたりととてもお世話になりました...ありがとうございます。
なんもわからんけど
— Saina(さいな)🌠 (@SainaKey) August 31, 2021
ちょっと予想した絵に近くて感動してる pic.twitter.com/Io5WMBRUJF
球が出ました。
まだコピペだったと思います。
— Saina(さいな)🌠 (@SainaKey) September 1, 2021
あとブタジエンさんに影響されてHHKB買いました。(超良いです。おすすめ、特殊配列最高)
— Saina(さいな)🌠 (@SainaKey) September 1, 2021
ライティングが出来ました。コピペしつつ、ちょっとシェーダーと仲良くなれた気がします。ライティングの計算を理解する時に微分、内積が出てきて、シェーダーの数学的楽しさもちょっと見えた気がしました。数学は得意ではないのでそれ以上の話はほぼ丸暗記でやってますが...
9/2
シェーダー楽しすぎ pic.twitter.com/X7MIdBU66B
— Saina(さいな)🌠 (@SainaKey) September 1, 2021
色ついた~ pic.twitter.com/0QnLDhz1c3
— Saina(さいな)🌠 (@SainaKey) September 1, 2021
ほとんどコピペですが、シェーダーお絵かきっぽいものが出来ました。
コードで絵を出す感覚がめちゃくちゃ楽しくて最高になってきました。
きのこ pic.twitter.com/1gVzdWJ4XK
— Saina(さいな)🌠 (@SainaKey) September 2, 2021
きのこが出ました。距離関数を組み合わせてモデリングをする方法を学んだ結果です。
9/5
真心を込めて生成した球 pic.twitter.com/gfmhDOCNmv
— Saina(さいな)🌠 (@SainaKey) September 5, 2021
カンニングなしで球を出せるようになりました。
9/7
色わからん pic.twitter.com/rBYcUICqi1
— Saina(さいな)🌠 (@SainaKey) September 6, 2021
この辺りから、「球は出せるけど...この先は?」と
僕には絵が出せないのでは、みたいな感じになってた気がします(pmod,IFSがまともに使えてないのでそれはそう)
9/9
それっぽい形になってテンション上がってきた pic.twitter.com/Pmy6FGLtFo
— Saina(さいな)🌠 (@SainaKey) September 8, 2021
ちょっと修正 pic.twitter.com/8feBgWba7P
— Saina(さいな)🌠 (@SainaKey) September 8, 2021
コピペをいじっただけですが、IFSをやりました。
今日のお絵かき pic.twitter.com/f3IXyT5nox
— Saina(さいな)🌠 (@SainaKey) September 9, 2021
VRChatでシェーダーを書く、「おさんぽ会」というのに参加させていただきました。集中して2時間近くシェーダーを書いて、かなり達成感があって楽しかったです。
9/19
日付がだいぶ飛びます。間も進捗は出てるんですが、あんまり目立ったことはしてなかったので
MEROOMライブコーディング部#glsl pic.twitter.com/SZ8j3GOIZR
— Saina(さいな)🌠 (@SainaKey) September 18, 2021
MEROOM(VRChat)でCUBEの距離関数を考える会が発生していて(怖すぎ)、その流れで配信しながらライブコーディングっぽいことをしました。
それっぽい絵が出て、シバヅケさんからアニメーションの作り方も教わったのでだいぶ楽しくなってきました。
9/20
今日のシェーダーお絵かき pic.twitter.com/mP2ScsB5j2
— Saina(さいな)🌠 (@SainaKey) September 19, 2021
展開作るの難しいhttps://t.co/Nx6xQKEWcY pic.twitter.com/o188Rgq4cE
— Saina(さいな)🌠 (@SainaKey) September 19, 2021
先日のMEROOM会で、感覚をつかんで絵を出せるようになってきました。楽しい。
9/21
— Saina(さいな)🌠 (@SainaKey) September 21, 2021
twistを学びました。だいぶそれっぽい絵になってきました。楽しい。
9/22
今日のシェーダーお絵かき#glsl pic.twitter.com/JyiI0c3t81
— Saina(さいな)🌠 (@SainaKey) September 21, 2021
今まで、画面全体を使うタイプの絵が多かったですが、たまたまオブジェクト感のある絵が出せました。かっこいい。これは距離関数以外のところも適当にいじっていて、「意外と適当に触っても良いのか~」と学びを得た気がします。
今日のシェーダーお絵かき#glsl pic.twitter.com/LoDTPfTJyK
— Saina(さいな)🌠 (@SainaKey) September 22, 2021
twistを使った絵を出そうと作りました。
アニメーション難しい...BPM同期をさせたのでだいぶVJ(というよりSJ?)感が出て楽しくなってます。
— Saina(さいな)🌠 (@SainaKey) September 22, 2021
あとタイムラプスみたいなのは見返すのが楽しくて良いです。
9/23
だるぐだ25分ライブコーディング pic.twitter.com/7U8uwfWnMt
— Saina(さいな)🌠 (@SainaKey) September 22, 2021
だるぐだ20分ライブコーディング pic.twitter.com/uJwuwOwSwU
— うにいれあ (@uni_vrc) September 22, 2021
だるぐだ(VRChat)で、うにさんとライブコーディングっぽいことをしました。30分もしないうちに3Dの絵が出て最高
今日のシェーダーお絵かき#glsl pic.twitter.com/yqco1MV3Ur
— Saina(さいな)🌠 (@SainaKey) September 23, 2021
初めてのShader芸#glsl pic.twitter.com/FnYI28c68e
— シェル🐚@PHAZE(Key.) (@shell_waywise) September 23, 2021
シェルさんと解説サイトを一緒に読んでいく会みたいなのをしました。
楽しい。
9/25
#VRCatClub
— Saina(さいな)🌠 (@SainaKey) September 25, 2021
ありがとうございました~ pic.twitter.com/Vu1Bt2A8H0
VRChatのクラブイベントでライブコーディングVJをしました。
楽しかったです。良い空間を作れてたら嬉しいです。
9/26
今日のシェーダーお絵かき#glsl pic.twitter.com/0kLGb3bxWM
— Saina(さいな)🌠 (@SainaKey) September 25, 2021
ぶいちゃ30分ライブコーディング pic.twitter.com/FZxfV4zCmP
— Saina(さいな)🌠 (@SainaKey) September 25, 2021
twistが好きで、twistを使うだけの会(個人開催)をしました。
VRChatでまたライブコーディングっぽいことをしました。レイマーチングを書く段階でバグを起こしてしまって、だいぶ時間をロスした気がします。前回と比べてそれっぽくはなったので良かったです。
HMD付けてコード書くのやめた方が良いらしい
— Saina(さいな)🌠 (@SainaKey) September 20, 2021
HMD付けてコード書くのやめた方が良いらしい
— Saina(さいな)🌠 (@SainaKey) September 24, 2021
HMD付けてコード書くのやめた方が良いらしい2
— Saina(さいな)🌠 (@SainaKey) September 24, 2021
?
9/27
今日のシェーダーお絵かき#glsl pic.twitter.com/0yiMxvMyQt
— Saina(さいな)🌠 (@SainaKey) September 26, 2021
カクカクした表現とは別に可愛い感じを作りたかったので、smoothMinを学びました。法線計算が間違ってて、色がたまに変です。
よく見ると、それぞれの球は周期的な動きをしてるだけですが、全体としては面白い動きをしててシェーダー楽しい。
9/28
今日のシェーダーお絵かき&音楽
— Saina(さいな)🌠 (@SainaKey) September 27, 2021
お絵かき:Saina
音楽:シェル(@shell_waywise)#glsl #glslsound pic.twitter.com/S3XfQDkIBj
シェルさんと「音のライブコーディングもやってみたいよね~」みたいな話になって、glslサウンドをやりました。本当はSonic Piをやる予定だったんですが、せっかくシェーダーを触っているのでお試しにシェーダーでやってみたら結構シェルさんがするすると作曲しちゃいました(凄い)、僕は200hzの音を出して満足したので途中からいつも通りシェーダーお絵かきをしてました。合作というか、セッションみたいなことが出来て超楽しかったです。ライブコーディングセッション(?)またやりたい。
距離関数ごとに色を変える方法を考える会が発生していて(怖すぎ)、それを見よう見まねで実装しました。ぶつかったときに色がmixするようになっていてめちゃくちゃ良い表現になりました(シバヅケさんありがとう~)
9/29
今日のシェーダーお絵かき&音楽
— Saina(さいな)🌠 (@SainaKey) September 28, 2021
お絵かき:Saina
音楽:シェル(@shell_waywise)#glsl #glslsound pic.twitter.com/JuhwFsnIpb
またシェルさんとシェーダーセッション(?)をしました。
前回はシェルさんの音楽に映像を寄せていきましたが、今回は僕の映像にシェルさんの音楽が寄ってくる感じで、お互いに影響し合う感じがセッションならではの楽しさでした。無限にやりたい。
9/30
— Saina(さいな)🌠 (@SainaKey) September 29, 2021
反射表現を調べました。結構色々あるみたいで、難しい。
今日のシェーダーお絵かき&音楽
— Saina(さいな)🌠 (@SainaKey) September 29, 2021
お絵かき:Saina
音楽:シェル(@shell_waywise)
※映像のループを編集で誤魔化してます#glsl #glslsound pic.twitter.com/Ao4ctgAgOc
またまたシェルさんとシェーダーセッション(?)をしました。
今回はシェルさんがレースゲームっぽい感じの音を作っていたので、レース感のある絵にしてみました。せっかくなので、対戦相手的な何か飛ばしたいなと思い飛行機っぽい物をモデリングしてみました。シェーダーモデリング楽しい。
飛行アニメーションが「私、sin,cosで出来てるんです。」みたいな感じになるのが、難しいです。アニメーション上手くなりたい。
まとめ
コードを書いて絵(音)を出す体験は、めちゃくちゃ楽しくて最高です。
昔ちょっとblenderでVJ素材を作ってみたこともあったのですが、楽しさより作業感が勝ってしまってあまりハマれなかったです。シェーダーは特に意味もなくエディタを開いてとりあえず書いて絵が出た!楽しい!みたいなことを毎日してた気がします。好みの問題ですが、シェーダーで書く場合はやりたい処理をコードにするだけで良くて、UIを覚えたり、ショートカットを調べたりみたいなコストが無いのが良いなと感じました。(その代わりに、処理について調べる必要はありますが)
シェーダーが楽しいというのもありますが、周りの人たちのおかげで続いている点も多いと思います。ほぼ同時期にシェーダーを始めた人がいたり、セッションしたり、教えて頂けたり、シェーダーに飽きを感じない理由が沢山ありました。ありがとうございます。シェーダーが楽しすぎてUnityが全然進まない病が怖いですが、10月もコンスタントにシェーダーを書いていきたいなと思います。熱しやすくて冷めやすいので急にやめてたらしばいてください。
一緒にシェーダーを書くお友達がいるの、とてもありがたい
— Saina(さいな)🌠 (@SainaKey) September 30, 2021
おまけ
シェーダーを学ぶにあたって、かなり参考にした(シャトルラン並みに往復してる)記事をまとめて貼っておきます。