Unity3D资源管理架构
2015-06-06 19:01
495 查看
在Unity3D引擎中,场景资源文件(.unity)是以2进制格式存储的,但同时它也有一种基于文本的表现格式。可在Edit>Project Setting>Editor 中设置:
![](http://img.blog.csdn.net/20150606182001035)
1.使用binary2text.exe(win下目录:Editor\Data\Tools)可将.unity文件转换成.txt文件,只需将.unity文件拖拽到binary2text.exe上即可生成.txt;
![](http://img.blog.csdn.net/20150606173723286)
2.Bin2Text.unity为测试场景场景中只有一个名为“sakyaer”的空物体;
![](http://img.blog.csdn.net/20150606173805976)
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的从属关系
4.Unity3D中对于每一个资源文件都会生成对应.meta文件,该文件可以用记事本直接打开;guid(全局唯一标识符,Globally Unique Identifier)是系统随机生成的对资源的标识符,guid在游戏运行时会被用来生成一个hashid;而根据guid的前两位0a可以在工程Library目录下metadate(元数据)0a目录下找到,对应的二进制文件,该文件可以使用binary2text.exe打开,得到的txt文件,记录了.meta文件对应资源的所有详细信息。
guid: 0a4a878577c88654795d8c6aee74368d
参考文献:http://docs.unity3d.com/Manual/TextualSceneFormat.html
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的从属关系
[code]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可以在工程Library目录下metadate(元数据)0a目录下找到,对应的二进制文件,该文件可以使用binary2text.exe打开,得到的txt文件,记录了.meta文件对应资源的所有详细信息。
guid: 0a4a878577c88654795d8c6aee74368d
参考文献:http://docs.unity3d.com/Manual/TextualSceneFormat.html
相关文章推荐
- unity3d 根据手指触摸的位置去放置UI
- unity3D LineRender的使用
- Unity shader随笔记(一)SurfaceShader
- Unity3D优化总结(一)
- C#泛型在unity3D中的运用.
- Unity 飞机大战增强版
- 【经验】Unity读取Excel数据并绑定到Prefab上
- Unity3D帮助文档跳转缓慢----Vim编辑器批量替换文件内容
- 【Unity3D】自动寻路(Nav Mesh Agent组件)
- [Unity实战]框选效果
- unity3D 旋转3D物体
- Unity3D添加天空盒
- [Unity基础]GL图像库
- [UnityShader]使用Unity Render Textures实现画面特效——建立画面特效脚本系统
- Unity3D教程:动画融合、动画层、动画混合、附加动画、程序动画、动画重放和取样
- unity手游开发--如何得到当前物体播放的动画
- Unity3D 项目用 git 做版本控制
- Unity5 如何做资源管理和增量更新
- InvokeRepeating("PlaySound",2.0f,0.5f) 2秒后每隔0.5秒调用
- [Unity3D]自己动手重制坦克舰队ArmadaTank