feat: polish game HUD scoring and results
This commit is contained in:
@@ -98,8 +98,9 @@ namespace VRBeats
|
||||
TrimExpiredSamples(now);
|
||||
BuildRibbon(wideMesh, now, 0f, 1f, trailColor, 0.10f, 0.36f);
|
||||
|
||||
Color coreColor = Color.Lerp(Color.white, trailColor, 0.45f);
|
||||
BuildRibbon(coreMesh, now, 0.42f, 1f, coreColor, 0.14f, 0.48f);
|
||||
Color coreColor = Color.Lerp(Color.white, trailColor, CoreColorWeight(trailColor));
|
||||
float alphaMultiplier = VisibilityAlphaMultiplier(trailColor);
|
||||
BuildRibbon(coreMesh, now, 0.42f, 1f, coreColor, 0.14f * alphaMultiplier, 0.48f * alphaMultiplier);
|
||||
|
||||
lastBase = basePos;
|
||||
lastTip = tipPos;
|
||||
@@ -147,10 +148,11 @@ namespace VRBeats
|
||||
{
|
||||
trailColor = NormalizeColor(color);
|
||||
EnsureRenderers();
|
||||
ApplyMaterialColor(wideMaterial, trailColor, 0.34f);
|
||||
float alphaMultiplier = VisibilityAlphaMultiplier(trailColor);
|
||||
ApplyMaterialColor(wideMaterial, trailColor, 0.34f * alphaMultiplier);
|
||||
|
||||
Color coreColor = Color.Lerp(Color.white, trailColor, 0.45f);
|
||||
ApplyMaterialColor(coreMaterial, coreColor, 0.50f);
|
||||
Color coreColor = Color.Lerp(Color.white, trailColor, CoreColorWeight(trailColor));
|
||||
ApplyMaterialColor(coreMaterial, coreColor, 0.50f * alphaMultiplier);
|
||||
}
|
||||
|
||||
private void ResolveBladeAnchors()
|
||||
@@ -424,6 +426,21 @@ namespace VRBeats
|
||||
return color;
|
||||
}
|
||||
|
||||
private static float CoreColorWeight(Color color)
|
||||
{
|
||||
return IsBlueDominant(color) ? 0.78f : 0.45f;
|
||||
}
|
||||
|
||||
private static float VisibilityAlphaMultiplier(Color color)
|
||||
{
|
||||
return IsBlueDominant(color) ? 1.35f : 1f;
|
||||
}
|
||||
|
||||
private static bool IsBlueDominant(Color color)
|
||||
{
|
||||
return color.b > color.r && color.b >= color.g;
|
||||
}
|
||||
|
||||
private static Color WithAlpha(Color color, float alpha)
|
||||
{
|
||||
color.a = Mathf.Clamp01(alpha);
|
||||
|
||||
Reference in New Issue
Block a user