優れた金属シェーダーをどのように作成しますか?
さまざまな金属の場合、多かれ少なかれ侵食/さびなどを言います。
通常の素材との違いの1つは、金属が鏡面反射光を「着色」することですが、たとえば金でそれを行うと、金属ではなく「黄色」に見えることを知っています。
どんな助けも感謝します!
優れた金属シェーダーをどのように作成しますか?
さまざまな金属の場合、多かれ少なかれ侵食/さびなどを言います。
通常の素材との違いの1つは、金属が鏡面反射光を「着色」することですが、たとえば金でそれを行うと、金属ではなく「黄色」に見えることを知っています。
どんな助けも感謝します!
回答:
私は最近、進行中のゲーム用にクリーンメタルとブラッシュメタルの両方のシェーダーを作成しました。結果に非常に満足しています。
きれいな金属: 私の実験で最も重要な機能は、キューブマップを使用した環境反射です。リアルタイムのテクスチャへのレンダリング環境でそれらを実装しましたが、静的な画像はしばしば良い結果をもたらし、それらをぼかすのは簡単です。2番目に重要な機能はフレネル効果で、オブジェクトの影絵をより良くします。これにより、たとえばボールの外観が丸くなります。キューブマップはハイライトを直接提供できるため、鏡面照明は必ずしも必要ではありません。HDRレンダリングは、キューブマップの反射を美しく見せるためにも重要です。
ブラッシュドメタル: つや消しの金属についてあなたはブラシのテクスチャを使用することによって非常に簡単に良い結果を得る、のようなもの。この、異方性照明と一緒に。異方性照明については、Webからチュートリアルを見つけることができますが、blinn-phongをベースとして独自に実装しましたが、ハーフベクトルからは接線方向の80%を削除しました。これは、モデルの法線に加えて、接線または双接線が必要であることを意味します。環境の反射は、ブラシをかけられた金属には注意が必要です。接線/二方向の方向に基づいて、キューブマップから複数の方向からサンプリングできますが、良い結果を得るには多くのサンプルが必要になる場合があります。ただし、これは必ずしも必要ではありません。複数の光源を使用したテクスチャと異方性照明はすでにかなり見栄えが良いからです。私の場合の最終結果は次のようになります。
ニコルがコメントで述べたように、高品質のメタルシェーダーには多くのことがあります。最良の結果を得るには、レンダラーをガンマ補正する必要があります、物理ベースのシェーディングモデルを使用するあります(特に、リンクのNaty Hoffmanによる2つの論文を参照)。
これらのことを考えると、金属材料を作成する一般的な方法は、非常に低いまたは存在しない拡散色と、50%から100%(線形色空間)の範囲の高い鏡面反射率を持つことです。既に述べたように、一部の金属では鏡面が着色されます。
金属の外観は完全に鏡面であり、拡散はほとんどまたはまったくないため、反射は非常に重要です。ポイントライトのみを鏡面反射する場合、残りの環境が欠落しているため、黒いマテリアルの外観になります(非常に粗い金属でさえ、周囲のぼやけた画像を反映します)。より多くの反射を得る典型的な方法は、キューブマップを使用することです。ただし、リアルタイムグラフィックスの現実的な反映は大きなトピックであり、さまざまなアプローチがあります。