Asset文件格式描述

2017-09-14  本文已影响473人  晓龙酱

Unity中asset的序列化有两种方式:Binary,Text。
一般项目里会使用Text的方式,主要原因是可以使用版本控制,Merge这些文件。

在Text模式下,所有在Unity中创建的asset资源都可以通过文件编辑器打开,阅读其中的内容。例如Main.unity, building.prefab, building.material, role.controller等等。

Unity使用YAML标记语言来组织说明这些asset。

制作一个GameObject的Prefab,打开asset文件内容如下:

%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &100100000
Prefab:
  m_ObjectHideFlags: 1
  serializedVersion: 2
  m_Modification:
    m_TransformParent: {fileID: 0}
    m_Modifications: []
    m_RemovedComponents: []
  m_ParentPrefab: {fileID: 0}
  m_RootGameObject: {fileID: 1428368473011942}
  m_IsPrefabParent: 1
--- !u!1 &1428368473011942
GameObject:
  m_ObjectHideFlags: 0
  m_PrefabParentObject: {fileID: 0}
  m_PrefabInternal: {fileID: 100100000}
  serializedVersion: 5
  m_Component:
  - component: {fileID: 4169282005572874}
  m_Layer: 0
  m_Name: GameObject
  m_TagString: Untagged
  m_Icon: {fileID: 0}
  m_NavMeshLayer: 0
  m_StaticEditorFlags: 0
  m_IsActive: 1
--- !u!4 &4169282005572874
Transform:
  m_ObjectHideFlags: 1
  m_PrefabParentObject: {fileID: 0}
  m_PrefabInternal: {fileID: 100100000}
  m_GameObject: {fileID: 1428368473011942}
  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
  m_LocalPosition: {x: -0.57, y: 3.4948516, z: -0.6245509}
  m_LocalScale: {x: 1, y: 1, z: 1}
  m_Children: []
  m_Father: {fileID: 0}
  m_RootOrder: 0
  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}

可看出,整个文件的结构如下:

  1. 文件头
    前两行固定信息
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
  1. 各个组件信息
--- !u!1001 &100100000

第一个数字1001,表示此asset的类型,代表Prefab。
第二个数字100100000,是在当前文件中的对象ID,只在当前文件中有效。有可能不同的asset的对象ID是相同的。注意这个不是FileID,FileID存在.meta中, 是合局唯一的。

Prefab:

这里的名称与组件类型ID对应,对应表如下。

https://docs.unity3d.com/560/Documentation/Manual/ClassIDReference.html

m_ObjectHideFlags: 1
  serializedVersion: 2
  m_Modification:
    m_TransformParent: {fileID: 0}
    m_Modifications: []
    m_RemovedComponents: []
  m_ParentPrefab: {fileID: 0}
  m_RootGameObject: {fileID: 1428368473011942}
  m_IsPrefabParent: 1

https://docs.unity3d.com/560/Documentation/Manual/FormatDescription.html

上一篇 下一篇

猜你喜欢

热点阅读