UE4衣類素材の色の変化



Ue4 Clothing Material Color Change



ゲームでは、色の変更は非常に一般的な要件です。テクスチャを直接置き換えることに加えて、プログラムパラメータを使用して色を制御する方法もあります。
原則は、灰色のマスクイメージを使用し、色を乗算し、元の拡散反射光マップの色を置き換えることです。
画像
画像
効果は次のとおりです。
画像
画像
画像
画像

この制作方法には2つの欠点があります。1つは、色変更領域が固定色しか変更できない、2つ目は明るさのみが異なる、プレーヤーに色をカスタマイズさせると、常に明るい色とブラインドの色のマッチングが行われ、ゲーム画面全体の美しさ。



複数の色を同時に変更し、カラーマッチングのコントラストが強すぎないようにする方法はありますか? Tianya Mingyueナイフで同様の実装を見たことがありますが、後でそれを理解し、色をHSV空間に変換しました。できる:
画像
上記のカラーサークルを見ると、各色の色相は実際には角度として定義できます。色相を変更したい場合は、カラーサークルを回転させるだけで済みます。これは、画像全体に相当します。調整ボード(またはカラールックアップテーブル)が定義されています。各色は、色相を調整するために角度オフセットによって調整されますが、同時に、色の明るさは変化せず、それに一致する色も右の色合いで1つに調整できます。
参照 RGBからHSVからRGB–シェーダー用 、RGBコンポーネントとHSVコンポーネント間の変換を実現できます。アイデアは、HSV空間に変換した後、Hにオフセット値を追加してから、RGB空間に変換し直すことです。 UE4では、カスタムシェーダーノードを使用して次のことを実現できます。
画像
マテリアル関数として定義された後、各マテリアルで再利用できます。
画像
最終的な効果は次のとおりです。
画像
画像
画像
画像

実際の使用では、マスクテクスチャを使用して色が変化する領域を制御できますが、グレースケール画像の生成とパレットの制御が不要になります。プレイヤーは自由に調整でき、大きなリスクはありません。カラーマッチングは、常に比較的調和のとれた範囲内で制御できます。