【Unity入門】Shaderってなんだ?誰でもわかるシェーダー解説!

50種類以上のIT教材を無料で使える!
0円から学習できるオンラインITスクール「侍テラコヤ」
→さっそく登録する

今回はShader(シェーダー)について見ていきたいと思います。

Unityで自在に描画を行うためにはShader(シェーダー)について学ぶ必要があります。

今回は内容ごとに何記事かに分けて、その手段を見ていきましょう。

すべて見終わっている頃には以下の疑問が解消しているはずですよ!

・Shaderとは一体なんなのか?
・Shaderの仕組み
・Shaderの自作方法

ぜひ一通り学び、Unityで素敵な描画演出を行えるようになってみてください!

それでは今回のアジェンダです。

・Shaderとは?
・Shaderで何ができるの?
・Shaderの仕組みを知ろう!
・UnityでShaderを使おう!

前半で仕組みを学び、後半でUnity上での具体的な使い方について学びましょう!

それではよろしくお願いいたします。

Shaderとは?

Shader(シェーダー)を一言で表すと「描画方法を記述したプログラム」と言えるでしょう。

このプログラムがあるからこそ、画面にオブジェクトが表示されるんです。

逆になければ画面には何も表示されません。

「でもそんなの書いた記憶ないよ!」と思う人も多いでしょう。

しかしそれは、デフォルトで選択されている「スタンダートシェーダー」が一般的な描画処理を行ってくれているからなんです。

以下の画像は、いつもの四角いCubeオブジェクトです。

上記画像をよく見てください。

スタンダードシェーダーを選択しているのが確認できると思います。

普段意識していなかったかもしれませんが、確かにいつも使用していた機能なんですね!


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

Shaderで何ができるの?

ここで一つ考えてみてください。

その「描画方法を記述したプログラム」を自分で記述できるとしたら…

何か楽しいことができそうですね!

例えば有名どころと言ったら「トゥーンシェーダー」でしょうか?

通常のシェーダーではこんな表示の丸いオブジェクトも…

「トゥンーンシェーダー」を反映させれば、ちょっとアニメチックな表現に早変わりです!

こんな風に描画の表現を変えられるわけです。

Shaderの仕組みを知ろう!

実際に使っていく前に、その仕組みを学ぶ必要があります。

以下の記事では、Shaderの基礎の基礎を説明していますので、まずはこちらを学んでみてください。

【Unity入門】シェーダーを触るなら必須!まずは仕組みを知ろう!
更新日:2023年3月21日

【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

UnityでShaderを使おう!

先ほどの記事を読んだ方は「シェーダーとは何か?」がなんとなく、掴めてもらえたかと思います。

ではここからは、Unity上でシェーダーを実践していきましょう!

シェーダーはどこにあるの?

シェーダーはマテリアルが保持しています。

最初に見たこの画像でも「デフォルトのマテリアル」の内部に「スタンダードジェーダー」が保持されているのがわかりますね!

マテリアルを作ろう!

というわけで、シェーダーをいじる前に、以下の記事を参考にマテリアルを一つ作りましょう。

【Unity】色や画像で見栄えを変えよう!materialの簡単な使い方!
更新日:2023年3月21日

作れたら、以下の場所からシェーダーを変更できます。

現時点で選択できるものは、Unityが準備してくれているシェーダーたちです。

意外にたくさんありますね!

それぞれ選択して理解を深めてみることをお勧めします。

この辺りのシェーダーも一通り見ていきたいところですが…

今回は仕組みや自作方法について着目していくため割愛します。

※今後需要があればまた追記したいと思います。

自分でシェーダーを自作しよう!

ではここからは、シェーダーを自作してみることにしましょう!

Shaderファイルを作ってみよう!

作り方は簡単です。

「Projectウィンドウ上で右クリック」→「Shader」→「Unlit Shader」を選択しましょう。

また生成時は、今回は「MyShader」という名称にしておきます。

ちゃんと作れましたね!

Shaderファイルをマテリアルに設定しよう!

あとはそれをマテリアルに設定する必要があります。

Custumの項目に、先ほど作ったシェーダーが自動的に追加されているはずなので、そこから選びましょう。

もしくは、いつものようにアイコンを投げ入れる方法でも反映できます。

Shaderスクリプトを開こう!

ここまでうまくいっていれば、マテリアルのinspectorウィンドウの表記は画像のようなに変わっているはずです。

それが確認できたら、スクリプトを一度開いてみましょうか。

先ほど作ったシェーダーファイルをダブルクリックしてエディタ開きましょう!

Shaderスクリプトを書いてみよう!

ここまででシェーダーのスクリプトファイルが開けましたね!

ではここからは、スクリプトの内容と学んでいきましょう!

ただ内容が少し長くなるため、別記事としてまとめました。

以下のリンクから、内容を学んでください。

【Unity入門】シェーダーを書いてみよう!ShaderLabの簡単な書き方!
更新日:2023年3月21日

まとめ

いかがでしたでしょうか?

シェーダーと置いて、なんとなく尻込みしていた人も多いと思います。

しかし蓋を開ければ意外に簡単な理屈であることが、理解できたのではないでしょうか?

シェーダーのオブジェクトへの反映を、流れとして復習すると以下の通りです。

① Shaderファイルを作る(記述)
② Shaderファイルをマテリアルに反映
③ マテリアルをオブジェクトへ反映

非常に簡単な流れですね!

ぜひシェーダーを使いこなして、素敵な表現を追求してみてください!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

Writer

sato

学生時代を含めると、かれこれ10年以上プログラマーとして過ごしています。
様々な言語や環境、プロジェクトに関わってきましたので、より実践的な記事をみなさんにお届きるよう情報発信していきます!

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close