摘要
Unity3D中的ParticleSystem有很多在Editor面板上展现出来参数,但是通过程序访问起来比较麻烦,本文使用SerializedObject,来读取到ParticleSystem中的一些参数,该方法只在编辑器下有效,运行时无效。
正文
首先,把一个ParticleSystem做成Prefab,然后使用文本编辑器打开,可以看到下图所示,其中EmissionModule对应第二幅图中的Emission。
举个粒子,如果我想获得上图所示的Emission模块下的Bursts变量,则可以通过下面的代码完成:
SerializedObject psSource = new SerializedObject(ps);
SerializedProperty emissionProperty = psSource.FindProperty("EmissionModule");
//第一次burst的数量。
SerializedProperty count0 = emissionProperty.FindPropertyRelative("cnt0")