現在、マインクラフトの世界をレンダリングするプログラムを書いています。それは素敵にレンダリングされています!問題は、次のビットに関連する数学です。関数に平均の高さと現在の高さを与えたいと考えています。
高さが平均よりも低い場合は、このセクションを黒でオーバーレイします。この透明度は量に依存しますが、真っ黒にならないようにクランプされます。
これが私が現在持っているものです:
public Color getHeightColor(float averageHeight, float height) {
if (averageHeight > height) {
return new Color(0, 0, 0, clamp(height / averageHeight, 0f, 0.8f));
} else {
return new Color(1, 1, 1, clamp(averageHeight / height, 0f, 0.8f));
}
}
残念ながら、これは私がやりたいことではありません。数学が非常に苦手なので、これを行う良い方法がわかりません。
編集:少し考えた後、私は明るくするのをやめて、代わりに暗くして奥行き感を与えるつもりです.
誰かが私を正しい方向に向けることができますか?