おーみんブログ

C#, ASP.NET Core, Unityが大好きです。

「7日間でマスターするUnityシェーダ入門」やってみた感想。

f:id:bookreadkun:20190331083037p:plain

おはようございます。おーみんです。

 

 

 

 

先日「【Unity】シェーダーの勉強を開始!」という記事にて、シェーダーの勉強を始めたという内容を書きましたが、参考サイトとして活用させていただいた北村愛実さんの「7日間でマスターするUnityシェーダ入門」を全て終えたのでシェーダーに関する感想等を書こうかなと思います。

 

nn-hokuson.hatenablog.com

 

シェーダーをやってみた感想

シェーダーをやってみて思ったのは以下の2点。

 

  • とにかく数学的な知識は必須
  • プログラミングも今までUnityで書いてきたC#とは全く異なるためにスクリプトを最初から学び直す必要がある

 

特に一つ目の数学的な知識として、ベクトルと三角関数はよく使いますね。

 

例えば上ツイートの赤い球(雪が積もるように見せているもの)は、物体の各位置の法線ベクトルと雪の降ってくる方向(上方向)の内積の値によって、どれだけ白くしていくかを考えています。

 

旗のように揺れているオブジェクトや、画像にノイズが入っているように歪ませているものは三角関数sin関数の式を用いていたり。

 

「えーー数学かよーー」とも思うかもしれませんが、これはあくまで入門レベルなために詳しく理解していなくとも一応出来るっちゃ出来ます(笑)

 

ただ個人的には、さらに踏み込んだプログラムを書く際にはやはりより詳しく知っていないと書けないだろうな~とも思うので、理解しておいた方が良いでしょうね...。

 

Unityテクノロジーズに勤める安原祐二さんなんかは、上記のベクトルや三角関数はもちろん、大学数学・物理の波動方程式偏微分なども用いてグラフィック表現をしていらっしゃいます。

 

www.youtube.com

 

ひえ~。。。

極めるにはここまでやらないといけないのか。。。(;^_^A

 

まあ、幸い僕の場合は大学が物理学科だったので少しはチャンスがありそうですw

 

ということで繰り返しますが、「7日間でマスターするUnityシェーダ入門」をやってみた感想としては

 

  • とにかく数学的な知識は必須
  • プログラミングも今までUnityで書いてきたC#とは全く異なるためにスクリプトを最初から学び直す必要がある

 

ということです。

2つ目は慣れれば大丈夫でしょう。とにかく1つ目の数学的な知識をしっかり学んでいこうと思います。