問題タブ [shaderlab]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2912 参照

arrays - Unityシェーディング言語で配列に初期値のセットを与えるにはどうすればよいですか?

Unityシェーダー内の配列に一連の初期値を与える方法を見つけようとしています。私は基本的にこれをやろうとしています:

これはかなり簡単に思えますが、団結はまだ不平を言っています。通常、私はこれをグーグルで検索しますが、配列を初期化するのではなく、シェーダーに渡す方法に興味のある人がグーグルに殺到しています。

シェーダー内で最終的な配列を作成する方法を知っている人はいますか?

0 投票する
0 に答える
432 参照

unity3d - 2 つの透明なオブジェクトを 1 つの連続したオブジェクトとしてレンダリングするにはどうすればよいですか?

現在、2 つのオブジェクトを重ねて 1 つのレイヤーとして機能させるために、透明度に苦労しています。理想的には、スカイボックスの上に 1 つの大きな赤いフィールドがあるだけですが、代わりに、透明度が加算される瞬間があります。これを回避する効果的な方法はありますか?

私が望むもの (あらゆる角度から): http://imgur.com/sN8SOtZ

どのように見えるか (交差する角度から): http://imgur.com/Q7an21V

現在のシェーダ コード:

編集:問題の解決に近づいただけですが、その方法を実際に理解することはできませんでした. Unity のビルトイン パーティクル/アディティブは、既にこの問題に対処しています。

0 投票する
1 に答える
710 参照

unity3d - シェーダーでライトの範囲値を取得するにはどうすればよいですか?

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

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

アップデート

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

更新 2

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

0 投票する
2 に答える
3514 参照

c# - Unity Shaderlab - スクリーン空間からワールド空間への変換

ワールド空間座標を必要とする後処理シェーダー (ユニティ) を作成しています。特定のピクセルの深度情報と、そのピクセルの画面上の位置にアクセスできます。関数 ViewportToWorldPos() のように、そのピクセルが対応するワールド位置を見つけるにはどうすればよいですか?

0 投票する
0 に答える
907 参照

unity3d - Grabpass を使用して誤ったオブジェクトをぼかすガウス (Unity ShaderLab 上)

ガウスぼかしを平面に適用しようとしています。平面の背後にあるオブジェクトはぼやけ、平面の前にあるオブジェクトはぼやけません。

私のシェーダーのコードは次のとおりです。

ただし、これは平面の背後にあるオブジェクトをうまくぼかしますが、平面の前にあるオブジェクトには奇妙なグロー効果があります: 奇妙なグロー効果

よく見えるように拡大: 球体のズームイン バージョン

私はしばらくこれに苦労してきました。どんな助けでも大歓迎です!