Version: 2020.2
public bool worldSpace ;

描述

将新轨迹点放置在世界空间中(与粒子系统模拟空间无关)。

如果设置为 true,轨迹始终处于世界空间中,不会相对于变换组件进行移动。 如果设置为 false,轨迹会随粒子系统变换而移动(如果也使用本地模拟空间)。 另请参阅:ParticleSystem.MainModule.simulationSpace

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { private ParticleSystem ps; public bool worldSpace = true;

void Start() { ps = GetComponent<ParticleSystem>();

var main = ps.main; main.startColor = new ParticleSystem.MinMaxGradient(Color.red, Color.yellow); main.startSize = 0.1f; main.startLifetime = 0.5f;

var trails = ps.trails; trails.enabled = true;

var psr = GetComponent<ParticleSystemRenderer>(); psr.trailMaterial = new Material(Shader.Find("Sprites/Default")); }

void Update() { ps.transform.position = new Vector3(Mathf.Sin(Time.time * 2.0f) * 2.0f, 0.0f, 0.0f);

var trails = ps.trails; trails.worldSpace = worldSpace; }

void OnGUI() { worldSpace = GUI.Toggle(new Rect(25, 25, 200, 30), worldSpace, "World Space"); } }