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游戏 ...
随机推荐
- Android学习笔记进阶19之给图片加边框
//设置颜色 public void setColour(int color){ co = color; } //设置边框宽度 public void setBorderWidth(int width ...
- 编写一个程序,把指定目录下的所有的带.java文件都拷贝到另一个目录中,拷贝成功后,把后缀名是.java的改成.txt。
package example; import java.io.*; public class Test { public static void main(String[] args) throws ...
- 65.十一级指针实现百万qq号的增删查改以及排序写入
运行结果: 内存使用情况: 写入文件排序好的数据: 创建文件地址以及创建十一级指针 char *path = "QQ.txt"; char *sortpath = "QQ ...
- Office2010激活工具
mini-KMS Activator是一款好用Office2010激活工具,“KMS”是微软对于“大客户”(VOL或VL)提供的Microsoft产品激活方式之一.在适用此方式的Microsoft产品 ...
- 怎样让索引仅仅能被一个SQL使用
有个徒弟问我,要创建一个索引,去优化一个SQL,可是创建了索引之后其它 SQL 也要用 这个索引,其它SQL慢死了.要优化的SQL又快.遇到这样的问题咋搞? 一般遇到这样的问题还是非常少的.处理的方法 ...
- 第三次作业 201731082208 黄亚恒&肖莉
Github项目地址:https://github.com/HYHSTUDEY/WordCount.git 作业地址:https://www.cnblogs.com/hyhhyh090628/p/10 ...
- Solr 写数据流程
Solr 写数据流程: 1.源字符串首先经过分词器处理,包括:拆分词以及去除stopword. 2.然后经过语言处理,包括大小写转换以及单词转换. 3.将源数据中需要的信息加入到Document中的各 ...
- select下拉列表选中后,跳转新链接
1.在当前页面打开新链接 <select onchange="location.href=this.options[this.selectedIndex].value" na ...
- python3输出range序列
b=range(3) #输出的是[0, 1, 2] ,其实这里如果用在循环上,代表着循环多少次,这里是循环3次.从零开始.print(list(b))
- 【博客之星】CSDN2013博客之星--分析和预测
本文纯属个人见解,多有得罪啊! 具体结果,还是看最后CSDN给的结果吧! 昵称 名字 题材 质量 数量 知名度 预测 阳光岛主 杨刚 Python,Clojure,SAE 很高 346+ 很大 一定( ...