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

ParticleSystemRenderer.pivot

建议更改

成功!

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

关闭

提交失败

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

关闭

取消

public Vector3 pivot;

描述

修改用于旋转粒子的枢轴点。

单位表示为相对于粒子直径的粒子大小的倍数。例如,值为 0.5 会根据粒子半径调整枢轴,允许粒子绕其边缘旋转。

using UnityEngine;
using UnityEditor;
using System.Collections;

[RequireComponent(typeof(ParticleSystem))] public class ExampleClass : MonoBehaviour {

private ParticleSystem ps; private ParticleSystemRenderer psr; public Vector3 pivot;

void Start() {

ps = GetComponent<ParticleSystem>(); psr = GetComponent<ParticleSystemRenderer>();

psr.material = new Material(Shader.Find("Sprites/Default")); // square material so we can see the pivot more easily

var rotation = ps.rotationOverLifetime; rotation.enabled = true; rotation.zMultiplier = 180.0f; // spin so we can see the pivot more easily }

void Update() {

psr.pivot = pivot; }

void OnGUI() {

GUI.Label(new Rect(25, 40, 100, 30), "X"); GUI.Label(new Rect(25, 80, 100, 30), "Y"); GUI.Label(new Rect(25, 120, 100, 30), "Z");

pivot.x = GUI.HorizontalSlider(new Rect(65, 25, 100, 30), pivot.x, -2.0f, 2.0f); pivot.y = GUI.HorizontalSlider(new Rect(65, 65, 100, 30), pivot.y, -2.0f, 2.0f); pivot.z = GUI.HorizontalSlider(new Rect(65, 105, 100, 30), pivot.z, -2.0f, 2.0f); } }