enableGPUInstancing
Enables GPU Instancing on platforms that support it.
Read time 1 minuteLast updated 4 days ago
Definition
- Type: Property
- Namespace: UnityEngine
- Assembly: UnityEngine.ParticleSystemModule
public bool enableGPUInstancing { get; set; }
Remarks
To use GPU Instancing to render a Particle System, the particle must use a Shader that contains a Procedural Instancing pass (that is, it contains the directive).
#pragma instancing_options proceduralExamples
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"); }}