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

Описание

Определяет текстуру для окрашивания начальных цветов частицы.

Чтобы подкрасить начальный цвет частиц, модуль Shape считывает пиксели из этой Текстуры на ЦП. Это означает, что вы должны включить параметр чтения/записи в назначенных настройках импорта текстуры.

Чтобы подкрасить частицы, модуль Shape сначала растягивает текстуру по заданной вами форме. Затем, когда система испускает частицу из точки на фигуре, модуль Shape использует цвет текстуры в этом месте в качестве цвета частицы.

Чтобы увидеть, как текстура растягивается по фигуре, выберите систему частиц в представлении «Иерархия» и разверните модуль «Форма». Визуализация формы в представлении «Сцена» включает в себя предварительный просмотр текстуры.

using UnityEditor; using UnityEngine; [RequireComponent(typeof(ParticleSystem))] public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public float alphaThreshold = 0.0f; public bool colorAffectsParticles = true; public bool alphaAffectsParticles = true; public bool bilinearFiltering = false; void Start() { ps = GetComponent<ParticleSystem>(); var main = ps.main; main.startSpeed = 0.0f; main.startSize = 0.5f; main.startLifetime = 1.0f; var emission = ps.emission; emission.rateOverTime = 500.0f; var shape = ps.shape; shape.shapeType = ParticleSystemShapeType.Circle; shape.radius = 6.0f; shape.texture = AssetDatabase.GetBuiltinExtraResource<Texture2D>("Default-Particle.psd"); } void Update() { var shape = ps.shape; shape.textureClipThreshold = alphaThreshold; shape.textureColorAffectsParticles = colorAffectsParticles; shape.textureAlphaAffectsParticles = alphaAffectsParticles; shape.textureBilinearFiltering = bilinearFiltering; } void OnGUI() { float y = 120.0f; float spacing = 40.0f; GUI.Label(new Rect(25, y, 140, 30), "Alpha Threshold"); alphaThreshold = GUI.HorizontalSlider(new Rect(165, y + 5, 100, 30), alphaThreshold, 0.0f, 1.0f); y += spacing; colorAffectsParticles = GUI.Toggle(new Rect(25, y + 5, 200, 30), colorAffectsParticles, "Color Affects Particles"); y += spacing; alphaAffectsParticles = GUI.Toggle(new Rect(25, y + 5, 200, 30), alphaAffectsParticles, "Alpha Affects Particles"); y += spacing; bilinearFiltering = GUI.Toggle(new Rect(25, y + 5, 200, 30), bilinearFiltering, "Bilinear Filtering"); y += spacing; } }
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3