Unity3D研究院编辑器之获取粒子准确数量(三十)

栏目: 后端 · 发布时间: 6年前

内容简介:最近在做一些辅助工具帮助特效师在开发特效的时候可以知道当前已经用了多少的粒子数,然而Unity也提供了这样的预览面板,但是看起来特别不方便。关键是很多特效都是粒子+mesh结合使用的。而且我又发现particleCount api提供获取粒子数量并不是很准,不能及时获取当前的粒子数量。通过如下代码获取当前粒子的数量,如果特效是粒子+mesh的形式还可以把贴图数量、模型参数等信息列出来,方便特效师及时查看自己做的特效的效率。注意此段代码只能执行在编辑模式下。

最近在做一些辅助 工具 帮助特效师在开发特效的时候可以知道当前已经用了多少的粒子数,然而Unity也提供了这样的预览面板,但是看起来特别不方便。关键是很多特效都是粒子+mesh结合使用的。而且我又发现particleCount api提供获取粒子数量并不是很准,不能及时获取当前的粒子数量。

Unity3D研究院编辑器之获取粒子准确数量(三十)

通过如下代码获取当前粒子的数量,如果特效是粒子+mesh的形式还可以把贴图数量、模型参数等信息列出来,方便特效师及时查看自己做的特效的效率。注意此段代码只能执行在编辑模式下。

using System.Reflection;
using UnityEngine;
 
public class Test : MonoBehaviour 
{
    private ParticleSystem [] m_ParticleSystems;
    private MethodInfo m_CalculateEffectUIDataMethod;
    private int m_ParticleCount = 0;
 
    void Start()
    {
        m_ParticleSystems = GetComponentsInChildren<ParticleSystem>();
        m_CalculateEffectUIDataMethod = typeof(ParticleSystem).GetMethod("CalculateEffectUIData", BindingFlags.Instance | BindingFlags.NonPublic);
    }
 
 
 
    private void Update()
    {
        m_ParticleCount = 0;
        foreach (var ps in m_ParticleSystems)
        {
            int count = 0;
            object[] invokeArgs = new object[] { count, 0.0f, Mathf.Infinity };
            m_CalculateEffectUIDataMethod.Invoke(ps, invokeArgs);
            count  = (int)invokeArgs[0];
            m_ParticleCount += count;
        }
    }
 
    private void OnGUI()
    {
        GUILayout.Label(string.Format("<size=50>m_ParticleCount : {0}</size>", m_ParticleCount));
    }
}

雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!

最后编辑:

作者:雨松MOMO

专注移动互联网,Unity3D游戏开发

站内专栏 QQ交谈 腾讯微博 新浪微博

捐 赠 如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

不止情感设计

不止情感设计

陈华 / 电子工业出版社 / 2015-5-21 / 59.00

本书着眼于“设计&心理”两个主要的维度,围绕“创新式思维2.0”(共情—移情—定义—构思—建模—测试)的模式,分析如何“理解一款好的产品设计”、“如何了解用户需求”、“如何从需求来定义产品”的几个步骤,由浅入深地介绍设计师通过洞察和理解用户内在需求来指导产品创新和设计的理念。一起来看看 《不止情感设计》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具