Version: 2018.2
public Vector3 axisOfRotation ;

説明

Mesh particles will rotate around this axis.

Mesh particles will travel around an axis set up for each particle.

using UnityEngine;

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; } } }