Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門
by Jon Manning, Paris Buttfield-Addison, 鈴木 久貴, あんどうやすし, 江川 崇, 安藤 幸央, 高橋 憲一
14章ライティングとシェーダー
本章では、ライティングとマテリアルを見ていきます。ゲームの外観はどのようなテクスチャーを使用するかによって決まりますが、それに加えて、ライティングとマテリアルも外観を決定する主要な要素となります。特に標準シェーダーについて詳しく見ていくことにします。標準シェーダーとは、見た目の良いマテリアルを簡単に作成できるよう設計されたシェーダーです。次に、独自のシェーダーを作成する方法についても言及します。独自にシェーダーを作成すると、ゲーム内のオブジェクトの見え方をきめ細かく制御することができるようになります。最後に、グローバルイルミネーションとライトマッピングの使い方を説明します。これを使って、シーンの中で光がどのように反射するかを実際にモデリングすることで、見た目の良い環境を作り出すことができます。
14.1 マテリアルとシェーダー
Unityでは、オブジェクトの見た目はアタッチされたマテリアルで決まります。マテリアルは、シェーダーとそのシェーダーが使用するデータの2つの要素から構成されます。
シェーダーはグラフィックボード上で動作するとても小さなプログラムです。スクリーン上に表示されるすべてのものは、それぞれのピクセルに描画する色をシェーダーが計算した結果です。
Unityには、主に2種類のシェーダーがあります。サーフェースシェーダーとバーテックスフラグメントシェーダーです。
サーフェースシェーダーは、オブジェクトのサーフェースの色を計算するものです。「14.1 マテリアルとシェーダー」ですでに触れたように、アルベドや滑らかさなどの複数のコンポーネントがサーフェースの色を定義します。サーフェースシェーダーの役割は、これらのプロパティーからオブジェクトの各ピクセルの値を計算することです。このサーフェースに関する情報はUnityに戻され、シーン中の各ライトの情報と組み合わせて各ピクセルの最終的な色が決まります。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access