光源のプロパティは、Property Editor、Story ツール、フロー、または Lua で変更できます。
「光源のプロパティ」も参照してください。
ビューポートまたは Explorer パネル で 1 つまたは複数の光源が選択されている場合、Property Editor で設定を行うことができます。変更はエディタ内で即座に適用され、レベルを保存するときに保存されます。
ライトのプロパティをアニメートするストーリーを作成するには、Story Editor を使用することができます。明るさの段階的な変更など、さまざまな効果をシミュレートするために、時間の経過に伴ってさまざまなプロパティにキーを設定できます。ストーリーをフローまたは Lua ゲームプレイ コード内でトリガしてランタイムで再生するときに、レベル内のライティングが適宜、自動的に調整されるのが分かります。
「Story Editor」を参照してください。
ランタイム Lua コードでは、ライトを表すオブジェクトを取得し、そのプロパティをその場で変更できます。Stingray Editor のユニットに設定された名前を使用して、変更するライトが含まれているユニット インスタンスからライト オブジェクトを取得します。これは Stingray でライトを作成した場合は「ライト ヘルパー」ユニットとなり、.fbx ファイルを介して Stingray にライトを読み込んだ場合はユーザのカスタム ユニットとなる場合があります。
たとえば、次のコードは、ライトの強度とカラーのプロパティに新しい値を設定する方法を示します。
local new_intensity = 5 local new_color = stingray.Vector3(0, 1, 0) -- green local light_unit = stingray.World.unit_by_name(SimpleProject.world, "light_source1") local light_object = stingray.Unit.light(light_unit, "light") stingray.Light.set_intensity(light_object, new_intensity) stingray.Light.set_color(light_object, new_color)
Lua API リファレンスの stingray.Light オブジェクトの関数を参照してください。
フローは、光源のプロパティを取得および設定するための組み込みノード セットを提供します。Stingray Editor のユニットに設定された名前を使用して、変更するライトが含まれているユニット インスタンスからライトを取得できます。これは Stingray でライトを作成した場合は「ライト ヘルパー」ユニットとなり、.fbx ファイルを介して Stingray にライトを読み込んだ場合はユーザのカスタム ユニットとなる場合があります。
フロー API リファレンス内の Light カテゴリを参照してください。たとえば、Light > Get Light Color / Light > Set Light Color などです。
たとえば、次のようになります。