Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты
к Руководству

MinMaxGradient

структура в UnityEngine / Реализовано в: UnityEngine.ParticleSystemModule

Описание

Интерфейс скрипта для градиента Min-Max.

Это содержит два Gradient и возвращает Color на основе ParticleSystem.MinMaxGradient.mode. В зависимости от режима это может возвращать рандомизированное значение. Градиенты редактируются с помощью ParticleSystem Inspector после выбора ParticleSystemGradientMode, требующего их. Некоторые режимы не требуют градиентов, только цвета. Смотрите также: ParticleSystem.

using UnityEngine;

// This example shows setting a constant color value. public class ConstantColorExample : MonoBehaviour { ParticleSystem myParticleSystem; ParticleSystem.ColorOverLifetimeModule colorModule;

void Start() { // Get the system and the color module. myParticleSystem = GetComponent<ParticleSystem>(); colorModule = myParticleSystem.colorOverLifetime;

GetValue(); SetValue(); }

void GetValue() { print("The constant color is " + colorModule.color.color); }

void SetValue() { colorModule.color = Color.red; } }


using UnityEngine;

// This example shows using 2 colors to drive the color over lifetime. public class TwoConstantColorsExample : MonoBehaviour { ParticleSystem myParticleSystem; ParticleSystem.ColorOverLifetimeModule colorModule;

void Start() { // Get the system and the color module. myParticleSystem = GetComponent<ParticleSystem>(); colorModule = myParticleSystem.colorOverLifetime;

GetValue(); SetValue(); }

void GetValue() { print(string.Format("The constant values are: min {0} max {1}.", colorModule.color.colorMin, colorModule.color.colorMax)); }

void SetValue() { colorModule.color = new ParticleSystem.MinMaxGradient(Color.green, Color.red); } }

using UnityEngine;

// This example shows using a gradient to drive the color over lifetime. public class GradientColorExample : MonoBehaviour { ParticleSystem myParticleSystem; ParticleSystem.ColorOverLifetimeModule colorModule; Gradient ourGradient;

void Start() { // Get the system and the color module. myParticleSystem = GetComponent<ParticleSystem>(); colorModule = myParticleSystem.colorOverLifetime;

// A simple 2 color gradient with a fixed alpha of 1.0f. float alpha = 1.0f; ourGradient = new Gradient(); ourGradient.SetKeys( new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) } );

// Apply the gradient. colorModule.color = ourGradient;

// In 5 seconds we will modify the gradient. Invoke("ModifyGradient", 5.0f); }

void ModifyGradient() { // Reduce the alpha float alpha = 0.5f; ourGradient.SetKeys( new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) } );

// Apply the changed gradient. colorModule.color = ourGradient; } }

using UnityEngine;

// This example shows using 2 gradients to drive the color over lifetime. public class TwoGradientColorExample : MonoBehaviour { ParticleSystem myParticleSystem; ParticleSystem.ColorOverLifetimeModule colorModule;

Gradient ourGradientMin; Gradient ourGradientMax;

void Start() { // Get the system and the emission module. myParticleSystem = GetComponent<ParticleSystem>(); colorModule = myParticleSystem.colorOverLifetime;

// A simple 2 color gradient with a fixed alpha of 1.0f. float alpha1 = 1.0f; ourGradientMin = new Gradient(); ourGradientMin.SetKeys( new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(alpha1, 0.0f), new GradientAlphaKey(alpha1, 1.0f) } );

// A simple 2 color gradient with a fixed alpha of 0.0f. float alpha2 = 0.0f; ourGradientMax = new Gradient(); ourGradientMax.SetKeys( new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(alpha2, 0.0f), new GradientAlphaKey(alpha2, 1.0f) } );

// Apply the gradients. colorModule.color = new ParticleSystem.MinMaxGradient(ourGradientMin, ourGradientMax);

// In 5 seconds we will modify the gradient. Invoke("ModifyGradient", 5.0f); }

void ModifyGradient() { // Reduce the alpha float alpha = 0.5f; ourGradientMin.SetKeys( new GradientColorKey[] { new GradientColorKey(Color.green, 0.0f), new GradientColorKey(Color.red, 1.0f) }, new GradientAlphaKey[] { new GradientAlphaKey(alpha, 0.0f), new GradientAlphaKey(alpha, 1.0f) } );

// Apply the changed gradients. colorModule.color = new ParticleSystem.MinMaxGradient(ourGradientMin, ourGradientMax); } }

using UnityEngine;

// This example shows how to retrieve existing color and alpha keys from a MinMaxGradient public class ReadGradientExample : MonoBehaviour { void Start() { // Get the system and the color module. var myParticleSystem = GetComponent<ParticleSystem>(); var colorModule = myParticleSystem.colorOverLifetime;

// Get the gradient (assuming the MinMaxGradient is in Gradient mode) Gradient gradient = colorModule.color.gradient;

// Get the keys GradientColorKey[] colorKeys = gradient.colorKeys; GradientAlphaKey[] alphaKeys = gradient.alphaKeys; } }

Свойства

color Устанавливает постоянный цвет.
colorMax Устанавливает постоянный цвет для верхней границы.
colorMin Устанавливает постоянный цвет для нижней границы.
gradient Устанавливает градиент.
gradientMax Устанавливает градиент для верхней границы.
gradientMin Устанавливает градиент для нижней границы.
mode Устанавливает режим, который Min-Max Gradient использует для оценки цветов.

Конструкторы

ParticleSystem.MinMaxGradient Один постоянный цвет для всего градиента.

Публичные Методы

Evaluate Вручную запросите градиент для расчета цветов в зависимости от того, в каком режиме он находится.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3