Table of Contents

ライト シャフト

初級 デザイナー アーティスト

ライトシャフト(light shafts; 光の軸) は目に見える光の線のことであり、ゴッドレイ(god rays; 神の光) とも呼ばれます。

Stride のライトシャフトはシャドウマップに基づいており、ポストエフェクトではなくレイマーチングを使用しているため、ライトが見えていなくても表示できます。影を落とすライト(ポイント ライトディレクショナル ライトスポット ライトなど)であれば、ライトシャフトを落とすことができます。

ライトシャフトを作成するには、3つのコンポーネントを併用します。ライトライトシャフトライトシャフトバウンディングボリュームです。

1. グラフィックスコンポジターでライトシャフトを有効化する

既定では、Stride の新規プロジェクトではライトシャフトは無効です。有効にする手順は次の通りです。

  1. アセットビューで、グラフィックスコンポジターアセットをダブルクリックします。

    Graphics Compositor asset

    すると、グラフィックスコンポジターエディターが開きます。

  2. フォワードレンダラーノードを選択します。

    Select forward renderer

  3. プロパティグリッドで、Light shafts の横にある Blue arrow button置換)をクリックし、LightShafts を選択します。

    Select light shafts

  4. LightShafts チェックボックスがオンであることを確認します。

    Enable light shafts

    グラフィックスコンポジターにの詳細については、グラフィックス コンポジターを参照してください。

2. ライトシャフトコンポーネントを追加する

  1. シーンから、ライトシャフトを作成したいライトを持つエンティティを選択します。ライトは、影を落とせるものでなければなりません(ポイント ライトディレクショナル ライトスポット ライトなど)。

  2. プロパティグリッドで、Light > Shadow プロパティのチェックがオンになっていることを確認します。

    Enable light shafts

  3. [Add component] をクリックし、Light shaft を選択します。

    Add light shaft component

    Game Studioは、エンティティにライトシャフトを追加します。

3. バウンディングボリュームを追加する

ライトシャフトバウンディングボリュームは、ライトシャフトが作られる領域を定義します。バウンディングボリュームは、ディレクショナルライトを持っているエンティティに追加することもできますが、通常は他のエンティティに追加した方が簡単です。

  1. アセットビューで、[Add asset] をクリックします。

  2. Models 配下で、ボリュームにしたい形状を持つモデルを選択します。例えば、キューブを選択すると、ライトシャフトはキューブの領域の内部に作成されます。

    Cube model

    マテリアルアセットを選択するために、Select an asset ウィンドウが開きます。

    Select an asset

  3. モデルにマテリアルは必要ありませんので、ここでは [Cancel] をクリックし、マテリアルのないモデルを作成します。

  4. シーンに空のエンティティを追加します。後で位置を変えることができるので、最初はどこに置いても構いません。

  5. エンティティを選択した状態で、プロパティグリッドで [Add component] をクリックし、Light Shaft Bounding Volume を選択します。

    Add light shaft bounding volume component

  6. ライトシャフトバウンディングボリュームコンポーネントの light shaft プロパティの横にある Hand iconアセットの選択)をクリックします。

  7. エンティティピッカーで、ライトシャフトを作成するディレクショナルライトを選択し、[OK] をクリックします。

  8. ライトシャフトバウンディングボリュームコンポーネントの Model プロパティの横にある Hand iconアセットの選択)をクリックします。

  9. Select an asset ウィンドウで、先ほど作成したモデルを選択し、[OK] をクリックします。

    Select model

    このモデルが、ライトシャフトバウンディングボリュームの形状を定義します。

  10. トランスフォームコンポーネントを使って、ライトシャフトを作りたい領域をカバーするエンティティの位置とスケールを設定します。

    Tip

    シーンエディターでライトシャフトバウンディングボリュームのナビゲーションの表示/非表示を切り替えるには、シーンエディターツールバーギズモオプションメニューを開き、ライトシャフトバウンディングボリューム チェックボックスを変更します。

    Show light shaft bounding volumes

ライトシャフトのプロパティ

Light shaft properties

プロパティ 説明
Density 密度。値が大きいほど明るい光軸になります。
Sample count サンプル数。値が大きいほどきれいになりますが、GPU の負荷が大きくなります。
Process bounding volumes separately オンにすると、複数のバウンディングボリュームを個別に処理します。これによりライトシャフトが重なった際の品質が保たれますが、GPU の負荷が大きくなります。

グラフィックスコンポジターにおけるライトシャフトプロパティ

これらのプロパティにアクセスするには、グラフィックスコンポジターエディターフォワードレンダラーノードを選択し、Light Shafts を展開します。

これらのプロパティは、シーン内のすべてのライトシャフトにグローバルに適用されます。

Light shaft graphics compositor properties

プロパティ 説明
Bounding volume buffer downsample level 値が小さいほど正確なボリュームバッファ領域を生成しますが、GPU の負荷がより大きくなります。
Light buffer downsample level 値が小さいほど光軸がシャープになりますが、GPU の負荷がより大きくなります。

ライトシャフトの最適化

ライトシャフトは、暗い環境で最も効果を発揮します。ライトとライトシャフトのコンポーネントプロパティを調整することで、さまざまな結果を得ることができます。たとえば、ライトの色(ライトコンポーネントプロパティ)やライトシャフトの密度(ライトシャフトコンポーネントプロパティ)を変更することができます。

複数のライトシャフトが重なると、次のスクリーンショットのように、視覚的にうるさくなってしまいます。

Noisy light shafts

この問題を軽減するには、ライトシャフトコンポーネントプロパティで、密度(density) を減らし、サンプル数(Sample count) を増やします。

Density factor

また、別のバウンディングボリュームを追加した際に、個別に処理するという方法もあります。

  1. 追加のバウンディングボリュームを作成し、ライトシャフトを作成したい領域を覆うように配置します。バウンディングボリュームが重なるとライトシャフトが眩しくなるので、注意してください。

  2. ライトシャフトコンポーネントのプロパティで、Process bounding volumes separately(バウンディングボリュームを個別に処理する) が選択されていることを確認します。

Separate bounding volume

Note

バウンディングボリュームを個別に処理するには、より多くの GPU パワーが必要です。

関連項目