如何在 Unity 中读取和保存粒子系统的起始颜色

How to read and save start color of a Particle System in Unity

假设我有一个粒子系统,其起始颜色在两种颜色之间随机选择,比如黑色和白色。现在我知道可以使用 MinMaxGradient 更改颜色。但是如何保存原始的起始颜色以便以后使用。

使用 ParticleSystem.MainModule.startColor.

这将 return 具有 colorMin 属性 的 MinMaxGradient。这是您应该保存在 class 字段中以供将来重用的内容。例如,如果您在 Start 方法中初始化您的 ParticleSystem:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class MyScript : MonoBehaviour
{
    //declare class fields for your particle system and start color
    private ParticleSystem myParticleSystem;
    private Color particleStartColor;

    void Start()
    {
        //...
        myParticleSystem = GetComponent<ParticleSystem>();
        ParticleSystem.MinMaxGradient myMinMaxGradient = myParticleSystem.main.startColor;
        particleStartColor = myMinMaxGradient.colorMin;
        //...  
    }
}