Изменить случайное значение системы частиц между двумя значениями констант (начальная скорость) ⇐ C#
Изменить случайное значение системы частиц между двумя значениями констант (начальная скорость)
Tl;DR: Как изменить систему частиц Случайным образом между двумя константами и значениями Константы с помощью сценария C#?
Здравствуйте!
У меня есть префаб системы частиц со сценарием, я хочу, чтобы сценарий менял многие характеристики системы частиц при его создании (Awake)
У меня есть следующий код (я удалил некоторые ненужные элементы):
// Поля частиц Частица системы частиц; ParticleSystem.MinMaxCurve startSpeed; ParticleSystem.MinMaxCurve startSize; ParticleSystem.MinMaxCurve скоростьOverTime; частная пустота Пробуждение() { Инициализация(); startSpeed.constantMin *= 1.2f; startSpeed.constantMax *= 1.2f; startSpeed.mode = ParticleSystemCurveMode.TwoConstants; startSize.constant *= 1.2f; startSize.mode = ParticleSystemCurveMode.Constant; скоростьOverTime.constant *= 1.2f; скоростьOverTime.mode = ParticleSystemCurveMode.Constant; } частная недействительная инициализация() { частица = /*Получить компонент системы частиц*/; startSpeed = частица.main.startSpeed; startSize = частица.main.startSize; нормаOverTime = частица.эмиссия.rateOverTime; } После тестирования функция Awake правильно вызывается, когда создается экземпляр частицы, но начальная скорость, начальный размер и скорость со временем на экземпляре объекта остаются такими же, как и на префабе.
Я пробовал:
[*]Установка значения для определенного числа с плавающей запятой с помощью = (согласно документации это должно работать) [*]Измените режим с помощью startSpeed.mode = ParticleSystemCurveMode.TwoConstants; [*]Создание полей CurveMin и CurveMax, которым я присваиваю constantMin и constantMax, и редактирование их напрямую с помощью curveMin = 200; Применяем изменения с помощью particle.main.startSpeed = startSpeed, но возвращается ошибка Невозможно изменить возвращаемое значение «ParticleSystem.main», поскольку оно не является переменной >
Ничего из этого не помогло...
Кто-нибудь может мне помочь с этим, пожалуйста?
Tl;DR: Как изменить систему частиц Случайным образом между двумя константами и значениями Константы с помощью сценария C#?
Здравствуйте!
У меня есть префаб системы частиц со сценарием, я хочу, чтобы сценарий менял многие характеристики системы частиц при его создании (Awake)
У меня есть следующий код (я удалил некоторые ненужные элементы):
// Поля частиц Частица системы частиц; ParticleSystem.MinMaxCurve startSpeed; ParticleSystem.MinMaxCurve startSize; ParticleSystem.MinMaxCurve скоростьOverTime; частная пустота Пробуждение() { Инициализация(); startSpeed.constantMin *= 1.2f; startSpeed.constantMax *= 1.2f; startSpeed.mode = ParticleSystemCurveMode.TwoConstants; startSize.constant *= 1.2f; startSize.mode = ParticleSystemCurveMode.Constant; скоростьOverTime.constant *= 1.2f; скоростьOverTime.mode = ParticleSystemCurveMode.Constant; } частная недействительная инициализация() { частица = /*Получить компонент системы частиц*/; startSpeed = частица.main.startSpeed; startSize = частица.main.startSize; нормаOverTime = частица.эмиссия.rateOverTime; } После тестирования функция Awake правильно вызывается, когда создается экземпляр частицы, но начальная скорость, начальный размер и скорость со временем на экземпляре объекта остаются такими же, как и на префабе.
Я пробовал:
[*]Установка значения для определенного числа с плавающей запятой с помощью = (согласно документации это должно работать) [*]Измените режим с помощью startSpeed.mode = ParticleSystemCurveMode.TwoConstants; [*]Создание полей CurveMin и CurveMax, которым я присваиваю constantMin и constantMax, и редактирование их напрямую с помощью curveMin = 200; Применяем изменения с помощью particle.main.startSpeed = startSpeed, но возвращается ошибка Невозможно изменить возвращаемое значение «ParticleSystem.main», поскольку оно не является переменной >
Ничего из этого не помогло...
Кто-нибудь может мне помочь с этим, пожалуйста?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение