Version: 2018.2
public bool enableGPUInstancing ;

説明

Enables GPU Instancing on platforms where it is supported.

To be able to render a Particle System using GPU Instancing, it must also use a shader that contains a Procedural Instancing pass (that is, it contains the #pragma instancing_options procedural directive).

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"); } }
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961