获取粒子渐变色

Get particle gradient color

我知道如何设置粒子的颜色基于渐变(例如 & this)但我不能查找有关如何 获取 颜色的任何信息。

我有一个粒子系统,其起始颜色设置为随机渐变。我试过了...

Color myColor = myParticleSystem.main.startColor.color

...但它总是 returns 黑色,无论渐变颜色如何。

我在文档或论坛中没有看到任何关于如何实际获得随机选择的颜色的信息。

使用 Unity 2017.3。谢谢

目前,我们无法从脚本中读取 MinMaxCurve,如下所示:https://blogs.unity3d.com/2016/04/20/particle-system-modules-faq/(向下滚动至 Easing the Pain节)。

但是,您的代码 returns 不是 MinMaxCurve,而是 Color 类型的 Start Color,您可以通过检查器或脚本进行设置。

例如,如果您在场景中创建了一个 Particle System 游戏对象,并附加了这个简单的脚本:

using UnityEngine;

public class ParticlesTest : MonoBehaviour {

    ParticleSystem myParticleSystem;
    public Color myColor;

    private void Awake() {
        myParticleSystem = GetComponent<ParticleSystem>();      
    }

    private void Update() {
        myColor = myParticleSystem.main.startColor.color;
    }
}

您可以看到,当您在播放模式下更改 Particle SystemStart Color 值时,myColor 会发生变化。