内容简介:最近在做一些辅助工具帮助特效师在开发特效的时候可以知道当前已经用了多少的粒子数,然而Unity也提供了这样的预览面板,但是看起来特别不方便。关键是很多特效都是粒子+mesh结合使用的。而且我又发现particleCount api提供获取粒子数量并不是很准,不能及时获取当前的粒子数量。通过如下代码获取当前粒子的数量,如果特效是粒子+mesh的形式还可以把贴图数量、模型参数等信息列出来,方便特效师及时查看自己做的特效的效率。注意此段代码只能执行在编辑模式下。
最近在做一些辅助 工具 帮助特效师在开发特效的时候可以知道当前已经用了多少的粒子数,然而Unity也提供了这样的预览面板,但是看起来特别不方便。关键是很多特效都是粒子+mesh结合使用的。而且我又发现particleCount api提供获取粒子数量并不是很准,不能及时获取当前的粒子数量。
通过如下代码获取当前粒子的数量,如果特效是粒子+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));
}
}
- 本文固定链接: https://www.xuanyusong.com/archives/4496
- 转载请注明:雨松MOMO 于雨松MOMO程序研究院 发表
雨松MOMO提醒您:亲,如果您觉得本文不错,快快将这篇文章分享出去吧 。另外请点击网站顶部彩色广告或者捐赠支持本站发展,谢谢!
捐 赠 如果您愿意花10块钱请我喝一杯咖啡的话,请用手机扫描二维码即可通过支付宝直接向我捐款哦。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 深度高能粒子对撞追踪:Kaggle TrackML粒子追踪挑战赛亚军访谈
- 粒子滤波Matlab示例
- 粒子滤波Matlab示例
- 粒子系统的设计
- CAEmitterLayer 粒子动画
- 学习 PixiJS — 粒子效果
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
打造有吸引力的学习型社群
苏平、田士杰、吕守玉 / 机械工业出版社 / 45.00元
本书首先对社群的定位、准备和吸引粉丝方面等做了饶有趣味的介绍,从社群黏度的提升、社群知识的迭代与转化和社群的持续发展等多个角度入手,对学习型社群的运营手段、运营模式、运营规律和运营经验等进行了全方位剖析。从中国培训师沙龙这个公益社群近十年成功运营的经验中,为如何经营好学习型社群总结出了一套系统性的、具有实操价值的方法。并以此为基础,扩展到知识管理、团队管理、内容IP等领域,为有致于社团建设以及优质......一起来看看 《打造有吸引力的学习型社群》 这本书的介绍吧!
XML 在线格式化
在线 XML 格式化压缩工具
HEX HSV 转换工具
HEX HSV 互换工具