ParticleSystemRenderer.enableGPUInstancing
Declaration
public bool enableGPUInstancing;Описание
Включает GPU Инстансирование на платформах, которые его поддерживают.
Чтобы использовать GPU Instancing для отображения Particle System, частица должна использовать Shader, который содержит проход Процедурного Инстансинга (то есть, он содержит директиву #pragma instancing_options procedural).
using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { private ParticleSystem ps; private ParticleSystemRenderer psr; private bool enableGPUInstancing = true;
void Start() { ps = GetComponent<ParticleSystem>(); psr = GetComponent<ParticleSystemRenderer>();
psr.renderMode = ParticleSystemRenderMode.Mesh; psr.SetMeshes(new Mesh[] { Resources.GetBuiltinResource<Mesh>("Capsule.fbx"), Resources.GetBuiltinResource<Mesh>("Cube.fbx"), Resources.GetBuiltinResource<Mesh>("Sphere.fbx") });
psr.sharedMaterial = new Material(Shader.Find("Particles/Standard Surface")); }
void Update() { psr.enableGPUInstancing = enableGPUInstancing; }
void OnGUI() { enableGPUInstancing = GUI.Toggle(new Rect(25, 45, 200, 30), enableGPUInstancing, "Enabled"); } }