[Unity3D]通过SerializedObject访问ParticleSystem中的参数
2015-07-20 21:03
399 查看
摘要
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"); //第一次burst的时间 SerializedProperty time0 = emissionProperty.FindPropertyRelative("time0"); Debug.Log(time0.floatValue); Debug.Log(count0.intValue);
最后
SerializedObject应该是可以访问任何一种Unity3D的序列化文件,另一片文章《清理material中无用的的property》也是这个原理。相关文章推荐
- Unity退出后保存数据,PlayerPrefs 玩家偏好
- Unity3d中的属性(Attributes)整理
- Unity3D读取XML文档信息
- UNITY3D学习笔记2
- Unity运行时保存prefab的方法一则
- Unity使用C#的多线程
- Unity Web自适应浏览器
- Unity Web自适应浏览器
- Unity3d 扩展自定义类Inspector
- 记一下关于Instantiate时Awake Start的执行
- unity xml序列化与反序列化 多平台
- unity xml序列化与反序列化 多平台
- Unity与web交互
- Unity与web交互
- unity3D的update·函数
- Unity接入ShareSDK过程
- 【译】Unity3D Shader 新手教程(5/6) —— Bumped Diffuse Shader
- 【译】Unity3D Shader 新手教程(4/6) —— 卡通shader(入门版)
- 【译】Unity3D Shader 新手教程(3/6) —— 更加真实的积雪
- 【译】Unity3D Shader 新手教程(2/6) —— 积雪Shader