在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. 19.Node.js EventEmitter

    转自:http://www.runoob.com/nodejs/nodejs-tutorial.html Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列. Node.js里 ...

  2. Vue 的 createElement 函数的参数问题的小笔记

    官方文档的说明. 第二个参数的值是要生成的标签的属性数据.点击查看详情. 第三个参数则是组件标签内的数据,数据里面的内容会渲染在第一个参数的标签内.通常会在此指定各插槽 slot 对应的位置,也可以在 ...

  3. 2018-8-10 模拟赛T3(可持久化线段树)

    出题人说:正解离线按DFS序排序线段维护区间和 但是对于树上每个点都有一个区间和一个值,两个点之间求1~m的区间和,这不就是用可持久化线段树吗. 只不过这个线段树需要区间修改,不过不需要标记下传,询问 ...

  4. C#之在treeview中鼠标点击的所选的节点触发事件

    一.背景 如下图所示,我想实现通过鼠标点击treeview的根节点,然后在文本框控件中显示鼠标点击的节点号. 二.程序实现 因为是要通过鼠标点击才发生的事情,所以这属于一个事件,需要触发才行,刚开始不 ...

  5. 【2017 Multi-University Training Contest - Team 7】Just do it

    [Link]:http://acm.hdu.edu.cn/showproblem.php?pid=6129 [Description] 设定b[i]=a[1]^a[2]^a[3]^------a[i] ...

  6. COGS——T 1265. [NOIP2012] 同余方程

    http://cogs.pro/cogs/problem/problem.php?pid=1265 ★☆   输入文件:mod.in   输出文件:mod.out   简单对比时间限制:1 s   内 ...

  7. 洛谷—— P1190 接水问题

    https://www.luogu.org/problem/show?pid=1190#sub 题目描述 学校里有一个水房,水房里一共装有 m 个龙头可供同学们打开水,每个龙头每秒钟的 供水量相等,均 ...

  8. HTML基础第十二讲---链接标志

    转自:https://i.cnblogs.com/posts?categoryid=1121494 没有链接,WWW将失去存在的意义!WWW之所以受欢迎,乃在于她除了有精美的图文之外,更有方便且多样化 ...

  9. 关于Promise的详细总结

    1. 异步回调 1.1 回调地狱 在需要多个操作的时候,会导致多个回调函数嵌套,导致代码不够直观,就是常说的回调地狱 1.2 并行结果 如果几个异步操作之间并没有前后顺序之分,但需要等多个异步操作都完 ...

  10. spring与cxf整合配置webservice接口(以jaxws:server的方式配置)

    ps:最近项目需要跟其他系统做同步,需要使用webservice来提供接口给其他系统调用:临时抱佛脚赶紧去网上找了下资料,发现用Endpoint的方式发布接口好容易哦:赶紧写了个例子做验证,发布成功. ...