UDN
Search public documentation:

DevelopmentKitGemsUsingLightFunctionsJP
English Translation
中国翻译
한국어

Interested in the Unreal Engine?
Visit the Unreal Technology site.

Looking for jobs and company info?
Check out the Epic games site.

Questions about support via UDN?
Contact the UDN Staff

UE3 ホーム > Unreal Development Kit Gems > ライト関数の使用

ライト関数の使用


2011年 6月に UDK に即して最終テスト実施済み
PC 対応

概要


ライト関数を使用することによって、点滅する光源やテクスチャ光源などのような魅力的な光源設定が可能になります。「Unreal Engine 2」を使用された方ならば、ライト関数はプロジェクターと同様のものです。ライト関数は、「Unreal Engine 3」のマテリアルシステムを使用することによって、簡単に作成することができるようになります。

この開発キット文書では、さまざまなライト関数を使用することによってゲームの魅力をより高める方法について説明します。技術的な詳細はすべて ライト関数 に掲載されていますので、そちらを参照してください。

テクスチャ ストロボ ライト


テクスチャ ストロボ ライトは、ライトベクターから投影されるテクスチャを使用して、シーンを定期的に点滅させます。このメソッドによって、簡単にテクスチャを壁に投影させることができるようになります。また、水の中の光によるコースティック (caustic 曲面による光の屈折および反射によって生じる模様) が必要となる場合には便利です。

(動画プレビューは、マウスポインターを画像上にかざしてください)

TexturedStrobeLightFunction_Thumbnail.jpg

マテリアルのレイアウト

このマテリアルを機能させるには、2 つのスケーリングされたテクスチャをパンおよび回転させ、その結果を足します。これによって、コースティックが得られます。ストロボを得るには、正弦を利用することによって全体的な輝度を調整します。ここで ConstantBiasScale (コンスタント バイアス スケール) を使用して、正弦を -1.f - 1.f から 0.f - 1.f に変化させて、エミッシブに渡します。

TexturedStrobeLightMaterialLayout_Thumbnail.jpg

ネオン ストロボ ライト


ネオン ストロボ ライトは、テクスチャ ストロボ ライトと同様のものですが、テクスチャが投影されてライトのカラーが変更される点が異なります。この形式のライトは、ネオンサインやプロジェクターなどを作成する場合に便利です。この例では、テクスチャをクランプすることによってタイリングを防ぐとともに、ポイントライトではなくスポットライトを使用することによって、プロジェクターのような動作を作り出しています。

(動画プレビューは、マウスポインターを画像上にかざしてください)

NeonStrobeLightFunction_Thumbnail.jpg

マテリアルのレイアウト

このマテリアルを機能させる方法は、テクスチャ ストロボ ライトと同様ですが、「ネオン」のように見えるようにするために、2 つの異なるカラー間を補間する方法を明示しています。これは、バイアスされた正弦 (-1.f - 1.f から 0.f に、さらに 1.f に変化する) を使用することによって処理され、2 つのカラー間で線形補間されます。これは、さらにテクスチャによって乗じられます。テクスチャがクランプされ、サンプルが一定のパン (0.5f, 0.5f) をもつ理由は、スポットライトによって適切にテクスチャが投影されるようにするためです。

TexturedStrobeLightMaterialLayout_Thumbnail.jpg

単純なストロボ ライト


単純なストロボ ライトは、一定の間隔で部屋を明るくしたり暗くしたりします。一定の速度でライトの輝度を変更するだけなので、非常に単純なライト関数です。

(動画プレビューは、マウスポインターを画像上にかざしてください)

StrobeLightFunction_Thumbnail.jpg

マテリアルのレイアウト

このマテリアルを機能させるために、バイアスされた正弦を直接エミッシブに出力しています。

SimpleStrobeLightMaterialLayout

テクスチャ 明滅ライト


テクスチャ 明滅ライトは、部屋を明滅させながらもシャドウをランダムにキャストしたいときに便利なエフェクトです。これによって、単純な明滅ライトでは出せない雰囲気とダイナミックスが得られます。

(動画プレビューは、マウスポインターを画像上にかざしてください)

TexturedFlickeringLightFunction_Thumbnail.jpg

マテリアルのレイアウト

このマテリアルを機能させるために、回転およびパンする 2 つのスケーリングされたテクスチャ サンプラーを加えています。さらに、結果が 0.f から 1.f の間に収めるようにするとともに、それをエミッシブの入力のために出力しています。

TexturedFlickeringLightMaterialLayout_Thumbnail.jpg

インターバル明滅ライト


インターバル明滅ライトによって、明滅するライトを簡単に調整することができます。これを用いれば、ライト関数を使用する際に、マテリアルのインスタンス化を利用して明滅の速度を変更することが可能になります。

(動画プレビューは、マウスポインターを画像上にかざしてください)

IntervalFlickeringLightFunction_Thumbnail.jpg

マテリアルのレイアウト

このマテリアルを機能させるために、2 つの正弦と余弦を使用して結果を加えています。インターバルの速度を変更するには、FlickerInterval というスカラーパラメータを使用して Time 値を調整します。さらに、正弦と余弦が加えられてからフロアされ (最大の整数が返される)、結果がクランプされて、エミッシブに出力されます。

IntervaledFlickeringLightMaterialLayout_Thumbnail.jpg

単純な明滅ライト


このマテリアルは、インターバル明滅ライトと同様に機能します。ただし、変更できるパラメータは一切ありません。

(動画プレビューは、マウスポインターを画像上にかざしてください)

FlickeringLightFunction_Thumbnail.jpg

マテリアルのレイアウト

FlickeringLightMaterialLayout_Thumbnail.jpg

キューブマップ ライト


テクスチャを使用する場合、通常の 2D テクスチャかキューブマップのいずれかを使うことができます。キューブマップは、ポイントライトのように光源が複数の方向をもつ場合に役立ちます。平行光源やスポットライトのような単一の方向を定義する光源について使用します。ポイントライト (または複数の方向をもつ他の光源) のために 2D テクスチャを使用すると、テクスチャに伸張や縞が生じる場合があります。キューブマップによって、特にこのような問題を解決することができます。

CubeMappedLightFunction.jpg

マテリアルのレイアウト

このマテリアルは、単に、キューブマップをエミッシブに出力します。キューブマップのルックアップ座標は、ライトベクターにセットされています。

CubeMappedLightMaterialLayout.jpg

雲ライト


このライト関数は、単に、ラップされてパンするテクスチャを出力することによって、雲が通過する様子をシミュレートします。簡単に追加できて、シーンに大きな効果を与えます。

CloudLightFunction.jpg

マテリアルのレイアウト

CloudLightMaterialLayout.jpg

低コストのシャドウ化ライト


このテクニックは、低コストの動的シャドウを実現するために使用されます。テクスチャを使用することができるため、シャドウの部分を作成するためにマスクを作成することができます。ただし、これが機能するためには、シャドウをキャストするオブジェクトと光源の間に何も入らないことが条件となります。

(動画プレビューは、マウスポインターを画像上にかざしてください)

CheapShadowedLightFunction.jpg

マテリアルのレイアウト

CheapShadowMaterialLayout_Thumbnail.jpg

ダウンロード


  • このドキュメントで使用されているコンテンツは、 ここから ダウンロードすることができます。(LightFunctionGems.zip)