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

Описание

Используйте эту кривую, чтобы определить, на какое значение следует умножить начальное время жизни частицы в зависимости от скорости эмиттера при появлении частицы.

Обратите внимание, что вы должны установить для этой кривой значение ParticleSystemCurveMode.Curve или ParticleSystemCurveMode.TwoCurves, чтобы обеспечить любое значение, так как установка ParticleSystemCurveMode.Constant или ParticleSystemCurveMode.TwoConstants не делает ничего, что могло бы этого также нельзя сделать без использования этого модуля, просто используя ParticleSystem.MainModule.startLifetime отдельно.

Смотрите так же: MinMaxCurve.

using UnityEngine; using System.Collections; [RequireComponent(typeof(ParticleSystem))] public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public bool moduleEnabled = true; public float maxSpeed = 5.0f; public AnimationCurve curve = AnimationCurve.EaseInOut(0.0f, 1.0f, 1.0f, 0.2f); void Start() { ps = GetComponent<ParticleSystem>(); var mainModule = ps.main; mainModule.startLifetime = 1.0f; // сделать частицы менее случайными, чтобы более четко увидеть эффект времени жизни. var shapeModule = ps.shape; shapeModule.radius = 0.1f; shapeModule.angle = 1.0f; var main = ps.main; main.simulationSpace = ParticleSystemSimulationSpace.World; // добавить сферу, чтобы мы могли видеть нашу трансформируемую позицию, когда она движется var sphere = GameObject.CreatePrimitive(PrimitiveType.Sphere); sphere.transform.parent = ps.transform; } void Update() { var lifetimeByEmitterSpeed = ps.lifetimeByEmitterSpeed; lifetimeByEmitterSpeed.enabled = moduleEnabled; lifetimeByEmitterSpeed.range = new Vector2(0, maxSpeed); lifetimeByEmitterSpeed.curve = new ParticleSystem.MinMaxCurve(1f, curve); ps.transform.position = new Vector3(Mathf.Sin(Time.time * 2.0f) * 4.0f, 0.0f, 0.0f); } void OnGUI() { moduleEnabled = GUI.Toggle(new Rect(25, 45, 100, 30), moduleEnabled, "Enabled"); maxSpeed = GUI.HorizontalSlider(new Rect(25, 85, 100, 30), maxSpeed, 0.0f, 10.0f); } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3