【问题标题】:Change range of particle system start colours in unity统一更改粒子系统开始颜色的范围
【发布时间】:2019-02-20 01:09:50
【问题描述】:

希望是一个简单的问题。我想在粒子系统组件中更改“两种颜色之间的随机”开始颜色的两种开始颜色,统一使用 C#,但是,似乎无法弄清楚如何。

这是我认为可以做到的代码,但它没有:

void Start () {
     Color particleMax = gameObject.GetComponent<ParticleSystem> ().main.startColor.colorMax;
     particleMax = Color.red;
     Color particleMin = gameObject.GetComponent<ParticleSystem> ().main.startColor.colorMin;
     particleMin = Color.white;
 }

【问题讨论】:

    标签: c# unity3d


    【解决方案1】:

    Unity3D 中的颜色是值类型(结构)而不是引用类型。如果你想设置渐变试试这个:

    void Start () {
        ParticleSystem.MainModule psMain = GetComponent<ParticleSystem>().main;
        psMain.startColor = new ParticleSystem.MinMaxGradient(Color.white, Color.red);
    }
    

    【讨论】:

    • 已经试过了,给出一个错误说'无法修改'unityengine.particlesystem.mainmodule.startcolor'的值类型返回值'考虑将值存储在临时变量中。这是我在上面尝试的^。谢谢
    • 对不起@Mattattack,我已经测试了代码并更改了答案。它现在应该可以工作了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-09
    相关资源
    最近更新 更多