在Unity3D引擎中,场景资源文件(.unity)是以2进制格式存储的。但同一时候它也有一种基于文本的表现格式。

可在Edit>Project Setting>Editor 中设置:



1.使用binary2text.exe(win下文件夹:Editor\Data\Tools)可将.unity文件转换成.txt文件,仅仅需将.unity文件拖拽到binary2text.exe上就可以生成.txt。



2.Bin2Text.unity为測试场景场景中仅仅有一个名为“sakyaer”的空物体;



3.相应这样一个场景。它的文本格式使用YAML格式存储,信息表例如以下:

  • 当中ClassID是Unity3D中类的序列编号。如:GameObject类ClassID=1,具体类的ID參照官方站点http://docs.unity3d.com/Manual/ClassIDReference.html
  • ID项为随记分配给每个实例的唯一标识
  • 资源文件使用m_作为前缀
  • 当中m_GameObject (file 0 path 1163297905)表现transform对gameobject的从属关系
External References

ID: 1 (ClassID: 29) SceneSettings
m_ObjectHideFlags 0 (unsigned int)
m_PVSData (vector)
size 0 (int) m_PVSObjectsArray (vector)
size 0 (int) m_PVSPortalsArray (vector)
size 0 (int) m_OcclusionBakeSettings (OcclusionBakeSettings)
smallestOccluder 5 (float)
smallestHole 0.25 (float)
backfaceThreshold 100 (float) ID: 2 (ClassID: 104) RenderSettings
m_Fog 0 (bool)
m_FogColor (0.5 0.5 0.5 1) (ColorRGBA)
m_FogMode 3 (int)
m_FogDensity 0.01 (float)
m_LinearFogStart 0 (float)
m_LinearFogEnd 300 (float)
m_AmbientLight (0.2 0.2 0.2 1) (ColorRGBA)
m_SkyboxMaterial (file 0 path 0) (PPtr<Material>)
m_HaloStrength 0.5 (float)
m_FlareStrength 1 (float)
m_FlareFadeSpeed 3 (float)
m_HaloTexture (file 0 path 0) (PPtr<Texture2D>)
m_SpotCookie (file 0 path 0) (PPtr<Texture2D>)
m_ObjectHideFlags 0 (unsigned int) ID: 3 (ClassID: 127) LevelGameManager
m_ObjectHideFlags 0 (unsigned int) ID: 4 (ClassID: 157) LightmapSettings
m_ObjectHideFlags 0 (unsigned int)
m_LightProbes (file 0 path 0) (PPtr<LightProbes>)
m_Lightmaps (vector)
size 0 (int) m_LightmapsMode 1 (int)
m_BakedColorSpace 0 (int)
m_UseDualLightmapsInForward 0 (bool)
m_LightmapEditorSettings (LightmapEditorSettings)
m_Resolution 50 (float)
m_LastUsedResolution 0 (float)
m_TextureWidth 1024 (int)
m_TextureHeight 1024 (int)
m_BounceBoost 1 (float)
m_BounceIntensity 1 (float)
m_SkyLightColor (0.86 0.93 1 1) (ColorRGBA)
m_SkyLightIntensity 0 (float)
m_Quality 0 (int)
m_Bounces 1 (int)
m_FinalGatherRays 1000 (int)
m_FinalGatherContrastThreshold 0.05 (float)
m_FinalGatherGradientThreshold 0 (float)
m_FinalGatherInterpolationPoints 15 (int)
m_AOAmount 0 (float)
m_AOMaxDistance 0.1 (float)
m_AOContrast 1 (float)
m_LODSurfaceMappingDistance 1 (float)
m_Padding 0 (int)
m_TextureCompression 0 (bool)
m_LockAtlas 0 (bool) ID: 5 (ClassID: 196) NavMeshSettings
m_ObjectHideFlags 0 (unsigned int)
m_BuildSettings (NavMeshBuildSettings)
agentRadius 0.5 (float)
agentHeight 2 (float)
agentSlope 45 (float)
agentClimb 0.4 (float)
ledgeDropHeight 0 (float)
maxJumpAcrossDistance 0 (float)
accuratePlacement 0 (bool)
minRegionArea 2 (float)
widthInaccuracy 16.6667 (float)
heightInaccuracy 10 (float)
m_NavMesh (file 0 path 0) (PPtr<NavMesh>) ID: 1163297905 (ClassID: 1) GameObject
m_ObjectHideFlags 0 (unsigned int)
m_PrefabParentObject (file 0 path 0) (PPtr<EditorExtension>)
m_PrefabInternal (file 0 path 0) (PPtr<Prefab>)
m_Component (vector)
size 1 (int)
data (pair)
first 4 (int)
second (file 0 path 1163297906) (PPtr<Component>) m_Layer 0 (unsigned int)
m_Name "Sakyaer" (string)
m_TagString "Untagged" (string)
m_Icon (file 0 path 0) (PPtr<Texture2D>)
m_NavMeshLayer 0 (unsigned int)
m_StaticEditorFlags 0 (unsigned int)
m_IsActive 1 (bool) ID: 1163297906 (ClassID: 4) Transform
m_ObjectHideFlags 0 (unsigned int)
m_PrefabParentObject (file 0 path 0) (PPtr<EditorExtension>)
m_PrefabInternal (file 0 path 0) (PPtr<Prefab>)
m_GameObject (file 0 path 1163297905) (PPtr<GameObject>)
m_LocalRotation (Quaternionf)
x 0 (float)
y 0 (float)
z 0 (float)
w 1 (float)
m_LocalPosition (0 0 0) (Vector3f)
m_LocalScale (1 1 1) (Vector3f)
m_Children (vector)
size 0 (int) m_Father (file 0 path 0) (PPtr<Transform>)
m_RootOrder 0 (int)

4.Unity3D中对于每个资源文件都会生成相应.meta文件,该文件能够用记事本直接打开;guid(全局唯一标识符,Globally Unique Identifier)是系统随机生成的对资源的标识符,guid在游戏执行时会被用来生成一个hashid。而依据guid的前两位0a能够在projectLibrary文件夹下metadate(元数据)0a文件夹下找到。相应的二进制文件,该文件能够使用binary2text.exe打开,得到的txt文件。记录了.meta文件相应资源的全部具体信息。

guid: 0a4a878577c88654795d8c6aee74368d

參考文献:http://docs.unity3d.com/Manual/TextualSceneFormat.html

Unity3D资源管理架构的更多相关文章

  1. Unity3d 引擎原理详细介绍、Unity3D引擎架构设计

    体系结构 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则. Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,用于 ...

  2. Unity3d 引擎原理详细介绍、Unity3D引擎架构设计 - zhibolife

    时间 2014-03-24 11:18:00  博客园-所有随笔区原文  http://www.cnblogs.com/zhibolife/p/3620440.html 体系结构 为了更好地理解游戏的 ...

  3. Unity5 AssetBundle资源管理架构设计

    http://blog.csdn.net/qq_19399235/article/details/51702964 1:Unity5 资源管理架构设计(2017.4.22版本) 2:Android 热 ...

  4. Unity3d资源管理分析

    原创链接:http://blog.csdn.net/ox_thedarkness/article/details/9197453 分离资源管理 参考 1.Unity3D占用内存太大的解决方法 - 星尘 ...

  5. Unity3D - 资源管理

    一直没有总结过Unity的资源管理,都是随用随看文档.今天有人问起,总结一下.加深对Unity资源管理的理解. 主要參考了Unity官方文档之Resources和AssetBundle. Unity有 ...

  6. Unity3D 之脚本架构,优雅地管理你的代码

    本文参考雨松MOMO大神的帖子: 图片全部来自他的帖子(请允许我偷懒下) --------------------------------------------------------------- ...

  7. Unity3D之游戏架构脚本该如何来写(转)

    这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...

  8. Unity3D之游戏架构脚本该如何来写

    这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...

  9. (转)Unity3D研究院之游戏架构脚本该如何来写(三十九)

     这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏 ...

随机推荐

  1. 使用SqlBulkCopy进行批量数据插入

    Dim dt As DataTable = New DataTable() dt.Columns.Add("DtCostProductRuleGUID", GetType(Guid ...

  2. 图片拖拽缩放功能:兼容Chrome、Firefox、IE8+

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. js的数据类型和typeof数据类型

    js的数据类型:number,string,null,undefined,Boolean,object typeof数据类型:number,string,object,function,undefin ...

  4. Mysql 简介二

    Mysql 数据库引擎: 数据库引擎是用于存储.处理和保护数据的核心服务 Mysql支持的引擎一般有这几种: MyISAM Mysql 5.1版本之前默认的存储引擎,仅仅支持表锁,但查询速度较Inno ...

  5. UVa 11015 - 05-2 Rendezvous

    題目:有一個班級的學生要一起寫作業,所以他們要到一個統一的地點.現在給你他們各自的位置, 問集合地點定在哪,能够讓全部人走的總路徑長度最小. 分析:圖論.最短路.直接利用Floyd計算最短路,找到和值 ...

  6. nginx源代码分析--事件模块 &amp; 琐碎

    通过HUP信息使得NGINX实现又一次读取配置文件,使用USR2信号使得NGINX实现平滑升级. 在nginx中有模块这么一说,对外全部的模块都是ngx_module_t类型,这个结构体作为全部模块的 ...

  7. 将exe添加到windows服务中

    mongod --dbpath D:\MongoDB\data --logpath=D:\MongoDB\logs\mongodb.log --install http://www.cnblogs.c ...

  8. 读<阿里亿级日活网关通道架构演进>有感

    读<阿里亿级日活网关通道架构演进>时对优化方法有些概念不理解,特意搜索了一下,拓展自己的思路. 其中的优化: 优化方法中1,2比较常见,3,4我知道的比较少,很感兴趣.就继续追踪下去: 于 ...

  9. Android ListView带CheckBox实现单选

    第1种方法: 首先是我们的bean: public class Bean { private boolean isChecked; private String msg = "这是一条测试数 ...

  10. vue-cli 构建vue项目

    师父说,咱们还是要用vue-cli 去构建前端项目.然后我就开始了 懵逼之旅. 今天上午主要就是搞懂用webpack和vue-cli怎么搭建 运行项目 首先找到了咱们博客园 园友的博客,提供了大概五个 ...