Unity3D资源管理架构

article/2025/9/29 14:28:54

在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 ReferencesID: 1 (ClassID: 29) SceneSettingsm_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) RenderSettingsm_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) LevelGameManagerm_ObjectHideFlags 0 (unsigned int)ID: 4 (ClassID: 157) LightmapSettingsm_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) NavMeshSettingsm_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) GameObjectm_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) Transformm_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


http://chatgpt.dhexx.cn/article/L0xATUx2.shtml

相关文章

Unity3D 修改动画,资源文件设置

导出到项目中的动画文件&#xff0c;或者其他类型的资源文件&#xff08;图片&#xff0c;音频...&#xff09;&#xff0c;通常是需要在面板中修改一下设置的。少量修改可以手动处理&#xff0c;当需要批量修改设置时&#xff0c;就会想到做个工具批量修改。 之前做过批量修改…

关于Unity3D资源打成安卓包的资源加载路径问题

1.问题描述&#xff08;博主在论坛提了问&#xff0c;没人回复自己又折腾了一天&#xff0c;解决了。&#xff09; 2.解决方法&#xff1a; 网上查了一大堆资料。有说 file后加/// 或者 &#xff01;/assets/改成 &#xff01;assets的&#xff0c;全部亲测无效 方法&#xff1…

unity3d资源商店买的素材下载遇到问题

unity3d资源商店买的素材下载遇到问题 unity3d资源商店买的素材下载&#xff0c;在打开package manager 的my assets 进行下载的时候&#xff0c;右下角一直弹出 the download could not be completed. please try again. 使用的那个素材包规定的unity之前的版本创建的新项目…

Unity3D游戏资源的提取

现在越来越多的安卓游戏用Unity3D引擎编写,以前关注的地方都是内购破解方面,所以修改比较多的地方是C/C++编写的dll逻辑,资源的提取很少操作。看了 @林哥 的分享,http://www.kanxue.com/bbs/showthread.php?t=191380 ,觉得这方面提升的空间很大,就折腾了一番。前言 在游…

【Unity3D】基于AssetBundle实现资源热更新

1 前言 Unity3D 本地资源一般放在 Resources 目录下&#xff0c;但是 Resouces 文件夹的大小不能超过 2G&#xff0c;使用 AssetBundle 管理资源可以解决 Resources 文件夹受限问题。 本文代码资源见→基于AssetBundle实现资源热更新。 AssetBundle 主要用于管理资源&#xff0…

Unity3D资源加密解决方案

https://blog.csdn.net/love_hot_girl 很多VR企业开发的软件有很多文件资源需要保护&#xff0c;而目前行业鲜有好的加密方案可供开发者使用。基于深思云授权平台&#xff0c;有一套Unity3D代码及资源加密保护方案&#xff0c;可通过Virbox Protector加壳工具对代码及资源进行加…

unity3d 挂载脚本_Unity3D加载资源的四种方式

一、准备场景和预设和AB包资源 ①新建一个Cube然后创建一个材质球,然后将其做成预设,如下所示: ②编写打包预设为AB包的脚本(注意:该脚本需要放置在Editor这个特定的目录文件夹下)/*** *Title:"三维可视化" 项目 *主题:打AB包 *Description: *功能:XXX *Date…

Unity3D资源加载Resources

Unity3D资源加载Resources 目录 1、博客介绍 2、内容 3、推送 4、结语 1、博客介绍 本篇博客对资源加载类Resources做一个介绍 2、内容 FindObjectsOfTypeAll返回一个该类型对象的列表Load从Resources文件夹内加载一个路径的资源LoadAll从Resources文件夹内加载一个路径下…

Unity3D学习 ④ Unity导入商店资源,实现基本的奔跑、攻击动作切换与交互

1.导入unity3D商店资源 ① 直接进入unity商店下载 Unity Asset Store - The Best Assets for Game Makinghttps://assetstore.unity.com/② 在3D下面的动画栏&#xff0c;点进去然后找些自己喜欢的模型就好了&#xff0c;可以通过排序“价格由低到高”筛选些免费的模型。 下面…

Unity 3D 资源下载 || Unity 3D 综合案例

Unity 3D 资源下载 你也可以在 Unity 3D 中执行 Window → Asset Store 菜单命令直接访问 Unity 资源商店&#xff08;Asset Store&#xff09;。 Unity 资源商店简介 Unity 资源商店https://www.assetstore.unity3d.com/ 中提供了多种类的游戏媒体资源&#xff08;人物模型…

Unity 3D 导入资源包 || Unity 3D 导出资源包

项目中的一些资源具有复用性&#xff0c;只需要将资源导出&#xff0c;就能够重复使用。 导出资源包 执行 Assets → Select Dependencies 菜单命令&#xff0c;选中与导出资源相关的内容。接着执行 Assets→ Export Package 菜单命令。 弹出的 Exporting Package 导出资源对话…

干货整理 Unity3D资源汇总

Unity3D是目前最流行的游戏开发工具&#xff0c;是一个可以让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具&#xff0c;是一个全面整合的专业游戏引擎。 为了让开发者能够系统全面的学习Unity3D知识&#xff0c;CSDN特…

嵌入式编程之状态机

文章目录 1、什么是状态机&#xff1f;2、状态机编程的优点(1)提高CPU使用效率(2) 逻辑完备性(3)程序结构清晰 3、状态机的三种实现方法switch—case 法表格驱动法函数指针法小节 摘要&#xff1a;不知道大家有没有这样一种感觉&#xff0c;就是感觉自己玩单片机还可以&#xf…

FPGA学习之状态机

1. 理论学习 状态机简写为FSM&#xff0c;也称为同步有限状态机&#xff0c;我们简称为状态机。所以说同步时因为状态机中所有的状态跳转都是在时钟的作用下进行的&#xff0c;而有限则是说状态机的个数有限的。状态机分为两大类&#xff0c;即Moore状态机和Mealy状态机&#…

单片机的状态机介绍

当初是粘贴复制的&#xff0c;格式已经乱了&#xff0c; pdf文档自行下载: 单片机高级编程.pdf_51单片机编程pdf-单片机文档类资源-CSDN下载 第1章 单片机初试牛刀 1.1 一个LED闪烁的故事 用单片机实现1个LED闪烁功能&#xff0c;要求LED亮500ms, 灭300ms。这个问题对于学过单…

状态机的概念与设计

⭐本专栏针对FPGA进行入门学习&#xff0c;从数电中常见的逻辑代数讲起&#xff0c;结合Verilog HDL语言学习与仿真&#xff0c;主要对组合逻辑电路与时序逻辑电路进行分析与设计&#xff0c;对状态机FSM进行剖析与建模。 &#x1f525;文章和代码已归档至【Github仓库&#xf…

c++状态机的使用

什么是状态机 状态机是有限状态自动机的简称&#xff0c;是现实事物运行规则抽象而成的一个数学模型。英文名字叫State Machine &#xff0c;不是指一台实际机器&#xff0c;一般就是指一张状态转换图。全称是有限状态自动机&#xff0c;自动两个字包含重要含义。给定一个状态…

状态机设计举例

⭐本专栏针对FPGA进行入门学习&#xff0c;从数电中常见的逻辑代数讲起&#xff0c;结合Verilog HDL语言学习与仿真&#xff0c;主要对组合逻辑电路与时序逻辑电路进行分析与设计&#xff0c;对状态机FSM进行剖析与建模。 &#x1f525;文章和代码已归档至【Github仓库&#xf…

浅谈状态机

一、状态机原理 &#xff08;一&#xff09;有限状态机 状态机由状态寄存器和组合逻辑电路构成&#xff0c;能够根据控制信号按照预先设定的状态进行状态转移&#xff0c;是协调相关信号动作、完成特定操作的控制中心。有限状态机简写为FSM&#xff08;Finite State Machine&…

状态机与序列机

状态机由状态寄存器和组合逻辑电路构成&#xff0c;能够根据控制信号按照预先设定的状态进行状态转移&#xff0c;是协调相关信号动作、完成特定操作的控制中心。 一、线性序列机 序列机是什么&#xff1a;用计数器对时钟个数计数&#xff0c;根据相应时钟周期下的单个周期时…