新 Unity 最新粒子系统如何用代码改变参数 您所在的位置:网站首页 虚幻代码获取粒子系统组件的方法 新 Unity 最新粒子系统如何用代码改变参数

新 Unity 最新粒子系统如何用代码改变参数

2024-07-05 07:56| 来源: 网络整理| 查看: 265

Unity 最新的用粒子系统用代码控制各项参数

          新的粒子系统api换了不少,采用了很多的结构,原先很多api已经过时,或者更早就没有,网上找了找发小也是少之又少,下面小白就展示一下如何用代码控制各个参数(这里只是一小部分,有兴趣可以自己试试,!!一会百会!!)

  之前无心随便写写,可能写的比较乱,现在重新整理下,我用的unity5.5

   

1.1代码

using System.Collections; using System.Collections.Generic; using UnityEngine; public class ParticleTest : MonoBehaviour { public ParticleSystem particleSys; ParticleSystem.EmissionModule parEmission; ParticleSystem.ShapeModule parShape; //---------------------- ParticleSystem.MinMaxCurve parMinMaxCurve; void Start() { parEmission = particleSys.emission; parShape = particleSys.shape; //----------------- parMinMaxCurve = new ParticleSystem.MinMaxCurve(20); parEmission.rateOverTime = parMinMaxCurve; } void Update() { if (Input.GetKeyDown(KeyCode.O)) { particleSys.Play(); } if (Input.GetKeyDown(KeyCode.S)) { particleSys.Stop(); } if (Input.GetKeyDown(KeyCode.E)) { SetParEmission(50, 1000); } if (Input.GetKeyDown(KeyCode.A)) { ChangeParEmission(10); } if (Input.GetKeyDown(KeyCode.H)) { SetParShape(); } } /// /// 设置emission /// private void SetParEmission(float min, float max) { //单独设置 //parEmission.rateOverTimeMultiplier = min; //or parEmission.rateOverDistanceMultiplier = min; //Curve设置 parEmission.rateOverDistance = new ParticleSystem.MinMaxCurve(min, max); //or parEmission.rateOverTime = new ParticleSystem.MinMaxCurve(min, max);//设置粒子数量,min10 max100; } private void ChangeParEmission(float addRate) { parMinMaxCurve.constant += 10; parEmission.rateOverTime = parMinMaxCurve; //另一种 //如果设置 //parMinMaxCurve = new ParticleSystem.MinMaxCurve(10,100); //parEmission.rateOverTime = parMinMaxCurve; //那么 //if (parMinMaxCurve.constantMin < parMinMaxCurve.constantMax) //{ // parMinMaxCurve.constantMin += addRate; // parEmission.rateOverTime = parMinMaxCurve; //} } private void SetParShape() { parShape.shapeType = ParticleSystemShapeType.Box;//设置为box形状 parShape.box = new Vector3(2, 2, 2); //设置长宽高 } }

2:另外新版的例子系统可以让粒子受到WindZone风的影响 ,只需要将External forces打勾勾



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有