规范化整数以传递给另一个值

时间:2014-02-07 16:00:12

标签: c# math normalize

我有一个整数从0到599更新,我正在尝试规范化并传递给另一个变量。我的第一个整数值只是一个int。它不在列表或任何内容中。

我要做的是根据整数值的长度绑定颜色lerp时间长度。此整数值正在迭代要显示的网格列表。它看起来像这样:

int meshNum;
public void AnimateMesh()
{
        if(playAnim)
        {
            meshToChange.GetComponent<MeshFilter>().mesh = fluidMesh[meshNum];

            if(meshNum < 599)
                meshNum++;
            else
                meshNum = 0;
        }
        else
        {
            meshNum = 0;
        }
}

我的颜色代码是:

diffuse_Material.color = Color.Lerp(Color.blue, Color.red, speedCount);

我想在我的lerp方法中将speedCount更改为与动画长度匹配的变量。我的lerp并不总是在屏幕上,但动画是,当我想要出现lerp时,无论动画当前出现在哪里,我都希望它每次出现都是一样的。

2 个答案:

答案 0 :(得分:2)

Color.Lerp需要0 .. 1的参数。最简单的方法是简单地给它(float)meshNum / 599f

答案 1 :(得分:1)

float number = (float)randomizedNumber / 599.0f;

因为你的最大值是599,无论如何这个颜色差异都不会被注意到或者事件会被舍入,因为RGB只有256个eash基色值。