版本: Unity 6 (6000.0)
语言英语
  • C#

ParticleSystem.Particle.axisOfRotation

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实会阅读用户提出的每个更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的更改建议无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

切换到手册
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; } } }