【问题标题】:Get particle gradient color获取粒子渐变颜色
【发布时间】:2018-02-17 03:27:24
【问题描述】:

我知道如何设置基于渐变的粒子颜色(例如thisthis),但我找不到任何关于如何获取颜色。

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

Color myColor = myParticleSystem.main.startColor.color

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

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

使用 Unity 2017.3。谢谢。

【问题讨论】:

  • 我认为您可以使用返回GradientParticleSystem.MinMaxGradient.gradient 属性获取渐变颜色。你试过吗?
  • 我从来没有找到从代码中从ParticleSystem.MinMaxGradient 获取(或其他)属性的方法,AFAIK 该类仍然没有可用的获取器。

标签: unity3d unity5


【解决方案1】:

目前,我们无法从脚本中读取MinMaxCurve,如下所示:https://blogs.unity3d.com/2016/04/20/particle-system-modules-faq/(向下滚动到缓解痛苦部分)。

但是,您的代码返回的不是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 发生了变化。

【讨论】:

  • “我们知道你真的应该能够从脚本中读取粒子系统曲线,不管它们处于什么模式”。哇!
猜你喜欢
  • 1970-01-01
  • 2012-12-07
  • 1970-01-01
  • 2014-08-12
  • 2011-03-19
  • 2017-09-13
  • 1970-01-01
  • 2021-04-15
  • 1970-01-01
相关资源
最近更新 更多