Version: 2023.2
public Vector3 axisOfRotation ;

描述

网格粒子围绕此轴旋转。

网格粒子围绕为每个粒子设置的轴移动。

using UnityEngine;

[RequireComponent(typeof(ParticleSystem))] public class ExampleClass : MonoBehaviour { public bool overrideAxisOfRotation; private ParticleSystem ps;

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

void Update() { if (overrideAxisOfRotation) { ParticleSystem.Particle[] particles = new ParticleSystem.Particle[ps.particleCount]; ps.GetParticles(particles);

for (int i = 0; i < particles.Length; i++) particles[i].axisOfRotation = Vector3.up;

ps.SetParticles(particles, ps.particleCount); } }

private void OnGUI() { bool newValue = GUI.Toggle(new Rect(10, 10, 200, 30), overrideAxisOfRotation, new GUIContent("Override Axis of Rotation")); if (newValue != overrideAxisOfRotation) { ps.Clear(); overrideAxisOfRotation = newValue; } } }