Unity3D资源管理架构
在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
Unity3D资源管理架构的更多相关文章
- Unity3d 引擎原理详细介绍、Unity3D引擎架构设计
体系结构 为了更好地理解游戏的软件架构和对象模型,它获得更好的外观仅有一名Unity3D的游戏引擎和编辑器是非常有用的,它的主要原则. Unity3D 引擎 Unity3D的是一个屡获殊荣的工具,用于 ...
- Unity3d 引擎原理详细介绍、Unity3D引擎架构设计 - zhibolife
时间 2014-03-24 11:18:00 博客园-所有随笔区原文 http://www.cnblogs.com/zhibolife/p/3620440.html 体系结构 为了更好地理解游戏的 ...
- Unity5 AssetBundle资源管理架构设计
http://blog.csdn.net/qq_19399235/article/details/51702964 1:Unity5 资源管理架构设计(2017.4.22版本) 2:Android 热 ...
- Unity3d资源管理分析
原创链接:http://blog.csdn.net/ox_thedarkness/article/details/9197453 分离资源管理 参考 1.Unity3D占用内存太大的解决方法 - 星尘 ...
- Unity3D - 资源管理
一直没有总结过Unity的资源管理,都是随用随看文档.今天有人问起,总结一下.加深对Unity资源管理的理解. 主要參考了Unity官方文档之Resources和AssetBundle. Unity有 ...
- Unity3D 之脚本架构,优雅地管理你的代码
本文参考雨松MOMO大神的帖子: 图片全部来自他的帖子(请允许我偷懒下) --------------------------------------------------------------- ...
- Unity3D之游戏架构脚本该如何来写(转)
这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...
- Unity3D之游戏架构脚本该如何来写
这篇文章主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏引擎的朋友 ...
- (转)Unity3D研究院之游戏架构脚本该如何来写(三十九)
这篇文章MOMO主要想大家说明一下我在Unity3D游戏开发中是如何写游戏脚本的,对于Unity3D这套游戏引擎来说入门极快,可是要想做好却非常的难.这篇文章的目的是让哪些已经上手Unity3D游戏 ...
随机推荐
- 妙味css3课程---1-2、css3中新增的伪类和伪元素有哪些
妙味css3课程---1-2.css3中新增的伪类和伪元素有哪些 一.总结 一句话总结: 1.div:target{}是什么意思? 比如a标签的锚点链接到div,div:target{}就可以找到这个 ...
- golang API 例子实现
golang API 例子实现 http://files.cnblogs.com/files/rojas/astaxie.zip
- 【agc009b】Tournament
Description 一场锦标赛有n个人,总共举办n-1次比赛,每次比赛必定一赢一输,输者不能再参赛.也就是整个锦标赛呈一个二叉树形式.已知一号选手是最后的胜者,以及对于i号选手(i>1)都知 ...
- 根据ID和parentID利用Java递归获取全路径名称
如下图所示,本文参考资源:https://jie-bosshr.iteye.com/blog/1996607 感谢大佬的无私奉献. 思路: 定义一个方法getParentName参数为int类型的c ...
- 简单的横向ListView实现(version 4.0)
这个版本号的博客写起来颇费口舌.有些代码自己语言组织能力有限,感觉描写叙述起来非常费劲,前前后后改了五六遍稿子还是不尽人意 ,只是我还是坚持写出来自己当初的思路,假设看得不明确的地方我在文章最后仍然会 ...
- Opera mini for S60 custom server
Opera mini for S60 custom server 在线改服 http://yourshell.info/mo/mini/ 本人贫穷一族,一直在用S60V2,这种手机启动JAVA很占内存 ...
- 自定义HTML标签属性
为HTML元素添加一自定义的属性非常方便,只须将其加到尖括号中即可,与内置属性地位相等. 如我们要为TextBox元素添加属性idvalue: <input type="text&qu ...
- MyCat:对MySQL数据库进行分库分表
本篇前提: mycat配置正确,且能正常启动. 1.schema.xml <table>标签: dataNode -- 分片节点指定(取值:dataNode中的name属性值) rule ...
- 【Codeforces Round #442 (Div. 2) A】Alex and broken contest
[链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 注意是所有的名字里面,只出现了其中某一个名字一次. [代码] #include <bits/stdc++.h> usin ...
- Spring MVC学习总结(1)——Spring MVC单元测试
关于spring MVC单元测试常规的方法则是启动WEB服务器,测试出错 ,停掉WEB 改代码,重启WEB,测试,大量的时间都浪费在WEB服务器的启动上,下面介绍个实用的方法,spring MVC单元 ...