14章ライティングとシェーダー

本章では、ライティングとマテリアルを見ていきます。ゲームの外観はどのようなテクスチャーを使用するかによって決まりますが、それに加えて、ライティングとマテリアルも外観を決定する主要な要素となります。特に標準シェーダーについて詳しく見ていくことにします。標準シェーダーとは、見た目の良いマテリアルを簡単に作成できるよう設計されたシェーダーです。次に、独自のシェーダーを作成する方法についても言及します。独自にシェーダーを作成すると、ゲーム内のオブジェクトの見え方をきめ細かく制御することができるようになります。最後に、グローバルイルミネーションとライトマッピングの使い方を説明します。これを使って、シーンの中で光がどのように反射するかを実際にモデリングすることで、見た目の良い環境を作り出すことができます。

14.1 マテリアルとシェーダー

Unityでは、オブジェクトの見た目はアタッチされたマテリアルで決まります。マテリアルは、シェーダーとそのシェーダーが使用するデータの2つの要素から構成されます。

シェーダーはグラフィックボード上で動作するとても小さなプログラムです。スクリーン上に表示されるすべてのものは、それぞれのピクセルに描画する色をシェーダーが計算した結果です。

Unityには、主に2種類のシェーダーがあります。サーフェースシェーダーバーテックスフラグメントシェーダーです。

サーフェースシェーダーは、オブジェクトのサーフェースの色を計算するものです。「14.1 マテリアルとシェーダー」ですでに触れたように、アルベドや滑らかさなどの複数のコンポーネントがサーフェースの色を定義します。サーフェースシェーダーの役割は、これらのプロパティーからオブジェクトの各ピクセルの値を計算することです。このサーフェースに関する情報はUnityに戻され、シーン中の各ライトの情報と組み合わせて各ピクセルの最終的な色が決まります。 ...

Get Unityによるモバイルゲーム開発 ―作りながら学ぶ2D/3Dゲームプログラミング入門 now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.