public void SetGradientKey(Color[] _colors, float[] _alpha) { GradientColorKey[] newColorKeys = new GradientColorKey[_colors.Length]; GradientAlphaKey[] newAlphaKeys = new GradientAlphaKey[_colors.Length]; for (int i = 0; i < _colors.Length; ++i) { float time = i / (_colors.Length - 1); newColorKeys[i].color = _colors[i]; newColorKeys[i].time = time; newAlphaKeys[i].alpha = _alpha[i]; newAlphaKeys[i].time = time; } EffectGradient.SetKeys(newColorKeys, newAlphaKeys); }
public void SetGradientAlphaKey(params float[] _alpha) { GradientColorKey[] newColorKeys = new GradientColorKey[_alpha.Length]; GradientAlphaKey[] newAlphaKeys = new GradientAlphaKey[_alpha.Length]; for (int i = 0; i < _alpha.Length; ++i) { float time = i / (_alpha.Length - 1); newColorKeys[i].color = i < EffectGradient.colorKeys.Length ? EffectGradient.colorKeys[i].color : Color.white; newColorKeys[i].time = time; newAlphaKeys[i].alpha = _alpha[i]; newAlphaKeys[i].time = time; } EffectGradient.SetKeys(newColorKeys, newAlphaKeys); }