Измените кривую системы частиц с помощью скрипта

Я хочу изменить свойство кривой

particleSystem.main.startLifetime

Если я напишу

particleSystem.main.startLifetime = new ParticleSystem.MinMaxCurve();

это говорит

Невозможно изменить возвращаемое значение ParticleSystem.main, потому что это не переменная

Если я попробую это

particleSystem.main.startLifetime.curve = minCurve;

это говорит

Невозможно изменить возвращаемое значение ParticleSystem.MainModule.startLifetime, потому что это не переменная

И если я попытаюсь изменить кривую напрямую

    foreach (var key in minCurve.keys)
    {
        Debug.Log("adding a key");
        particleSystem.main.startLifetime.curve.AddKey(key);
        Debug.Log("length: " + particleSystem.main.startLifetime.curve.keys.Length);
    }

Это никак не меняет кривую. Длина такая же, и в окне кривая тоже не меняется.

Так что же я делаю не так?


person user2686299    schedule 23.02.2017    source источник
comment
Вы смотрели эту ветку? forum.unity3d.com / thread /   -  person Hellium    schedule 23.02.2017
comment
Да, ParticleSystem.startLifetime возвращает только значение с плавающей запятой и помечено как устаревшее.   -  person user2686299    schedule 23.02.2017
comment
Отметьте дублированный вопрос. Дайте мне знать, если возникнут вопросы.   -  person Programmer    schedule 23.02.2017
comment
Хорошо, я могу изменить кривые свойств, которых нет в основном модуле ParticleSystem. Но ParticleSystem.main.startLifetime по-прежнему неизменен. Хотя я могу понять его ценность.   -  person user2686299    schedule 23.02.2017
comment
о, я вижу, сначала я должен главный модуль, спасибо   -  person user2686299    schedule 23.02.2017