前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity高级开发(二)-编辑器模式下的序列化对象类与序列化属性类

Unity高级开发(二)-编辑器模式下的序列化对象类与序列化属性类

作者头像
孙寅
发布2020-07-06 16:01:05
1.9K0
发布2020-07-06 16:01:05
举报
文章被收录于专栏:宜达数字宜达数字

正所谓:人靠衣装,佛靠金装。学会VR与游戏开发,成就大神人生。

  • 欢迎关注公众号:雷潮课堂

编辑器下的序列化对象类与序列化属性类

一、课程内容

1-1本课程目标 1-2他可以做什么

二、SerializedObject

2-1属性 2-2方法

三、SerializedProperty

3-1属性 3-2方法

四、练习

获取材质球中的属性

1、课程内容
  • 1-1 本课程目标 学会序列化对象类与序列化属性类,达到掌握策划高难度
  • 1-2可以做什么 通过SerializedObject访问ParticleSystem中的参数 (只在编辑器下有效, 运行无效) 清理material中无用的的property
2、SerializedObject

序列化对象类

  • 2-1 属性
代码语言:javascript
复制
targetObject / targetObjects:返回一个或一组Object;
  • 2-2方法

方法

代码语言:javascript
复制
根据名称查找对象中的序列化属性;如果不知道属性路径可以通过在属性面板上的相应变量上使用shift+右键可log路径名;(侧重于查找指定属性)
public SerializedProperty FindProperty(string propertyPath);

获取第一个序列化属性,然后可以通过SerializedProperty的Next()方法遍历对象中的序列化属性;(侧重于遍历功能)
public SerializedProperty GetIterator();
 
将对属性的修改应用到该序列化对象上;
public bool ApplyModifiedProperties();
public bool ApplyModifiedPropertiesWithoutUndo()
拷贝属性值;注意两者方法的区别,第二个如果进行拷贝操作则返回true;
public void CopyFromSerializedProperty(SerializedProperty prop);
public bool CopyFromSerializedPropertyIfDifferent(SerializedProperty prop);

Shift+鼠标右键即可显示序列化路径

3、SerializedObject
  • 3-1属性
代码语言:javascript
复制
boolValue
floatValue 
doubleValue 
intValue 
vector3Value
rectValue:为属性指定值;
name: 获取属性名
propertyPath:获取属性路径
  • 3-2方法

方法

代码语言:javascript
复制
方法都比较简单,测试一下即可
四、练习

利用记事本打开材质球属性如下

代码语言:javascript
复制
Material mat = AssetDatabase.LoadAssetAtPath(path, typeof(Material)) as Material;
SerializedObject so = new SerializedObject(mat);
SerializedProperty m_SavedProperties = so.FindProperty("m_SavedProperties");
SerializedProperty property = saveProperty.FindPropertyRelative("m_Scale");
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 编辑器下的序列化对象类与序列化属性类
    • 一、课程内容
      • 二、SerializedObject
        • 三、SerializedProperty
          • 四、练习
            • 1、课程内容
            • 2、SerializedObject
          • 3、SerializedObject
            • 四、练习
        相关产品与服务
        文件存储
        文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档