0

ライトの範囲内にあるかどうかに応じて、「照らされた」テクスチャまたは「照らされていない」テクスチャから適切な色をペイントする単純なfrag/vertシェーダを作成しようとしています。

したがって、ライト間の距離とライトの範囲を比較する必要があります。私はあらゆる種類のものをグーグルで調べてきましたが、ライトの範囲値にアクセスする方法を見つけることができないようです. そうする方法はありますか?そうでない場合、代わりに使用できる何らかの派生データはありますか?

アップデート

私はこの方法をここで見つけることができました. 人口が少ないという話があり_LightMatrix0ます。誰でも確認できますか?

更新 2

Unity シェーダー変数unity_LightAttenのドキュメントで変数を見つけました。ただし、これは Vertex Lit シェーディングにのみ使用されます。これは、特にコンソールのサポートがないことを考えると、理想的ではありません。この変数をフォワード レンダリングにパイプする方法はありますか?

4

1 に答える 1

1

Material.SetFloatを使用してLight.rangeをシェーダに渡すことができます。そのためには、スクリプトを添付する必要があります。

于 2016-09-12T15:45:19.363 に答える