赞
踩
部分参考自:
Unity - Manual: Unity User Manual 2021.3 (LTS)
UWA | 致力于游戏VR和AR应用提供项目研发解决方案 | 简单优化、优化简单 | 侑虎科技
1、原始资源文件(从外部创建并导入Unity,每一个类型都对应一个AssetImporter):
Texture、Model、AudioClip、VideoClip、TextAsset、Font、其他。
2、代码文件:
C#脚本文件、代码库文件、shader文件 等。导入时Unity会进行一次编译
3、序列化文件(可在Unity中创建、编辑,能够被Unity运行时反序列化的文件)
Sprite、SpriteAtlas、Prefab、Scene、Script、Shader、Materrial、AnimationClip、RenderTexture、CustomRenderTexture、AudioMixer、CustomFont、GUISkin、PhysicMaterial、ComputeShader、AnimatorController、AnimatorOverrideController、AvatarMask、Brush、Cubemap、LightmapParameters、Timeline、Signal、TerrainLayer、AssemblyDefinition、AssemblyDefinitionReference、Asset(ScriptableObject)文件、其他。
4、文本文档(Unity 识别为 TextAsset,无 ImportSetting)
txt、xml、json、二进制文件、其他。
5、非序列化文件(Unity无法识别的文件,如文件夹)
6、Meta文件
*可能会依赖其他资源的资源:
Model、SpriteAtlas、Prefab、Scene、Materrial、CustomFont、GUISkin、AnimatorController、AnimatorOverrideController、AvatarMask、Brush、Cubemap、Timeline、TerrainLayer、其他。
Unity会将许多文件夹名解释为一条指令,说明文件夹中的内容应该以一种特殊的方式处理。
1、Assets: Unity项目资源主文件夹。除了部分函数需要将Assets文件夹包含在资源路径名中(例如,AssetDatabase类中的某些函数), 其他大部分都不用。
2、Editor: 放在Editor文件夹中的脚本被视为Editor脚本而不是运行时脚本,这些脚本在开发期间向Editor添加功能,并在运行时的构建中不可用。
可在Assets文件夹中的任何位置添加多个Editor文件夹。应将Editor脚本放在Editor文件夹内或其子文件夹内。
3、Editor Default Resources:Editor脚本可以通过 EditorGUIUtility.Load 函数按需加载资源文件,此函数将在 Editor Default Resources 文件夹中查找资源文件(也可放在Editor/Resources下)。
只能有一个 Editor Default Resources 文件夹,且必须放在项目的根目录(直接位于Assets文件夹中)。资源可放在其子文件夹,加载时需拼上路径。
4、Gizmos:此文件夹允许将图形添加到Scene视图,以帮助可视化不可见的设计细节。Gizmos.DrawIcon 函数在场景中放置一个图标,作为特殊对象或位置标记。必须将图像放在Gizmos文件夹中,才能被DrawIcon函数找到。
只能有一个Gizmos 文件夹,且必须放在项目的根目录(直接位于Assets文件夹中)。资源可放在其子文件夹,加载时需拼上路径。
5、Plugins:可为项目添加插件来扩展Unity的功能。插件通常是用C/C++编写的本地DLL。这些插件可以访问第三方代码库、系统调用和其他Unity内置功能。请始终将插件放在 名为 Plugins 的文件夹中,才能被Unity检测到。
只能有一个Plugins 文件夹,且必须放在项目的根目录(直接位于Assets文件夹中)。
6、Resources: 可从脚本中按需加载资源。应将资源放在名为 Resources的文件夹中,使用 Resources.Load函数加载。
可在Assets文件夹中的任何位置添加多个Resources文件夹。资源可放在其子文件夹,加载时需拼上路径。
注意,如果Resources是Ediotr的子文件夹,则其中的资源可通过Editor脚本加载,但会从构建中剥离。
7、Standard Assets: 标准资源导入后的文件夹。
只能有一个Standard Assets文件夹,且必须放在项目的根目录(直接位于Assets文件夹中)。资源可放在其子文件夹。
8、StreamingAssets: 希望资源以其原始格式作为单独的文件使用。例如文件系统访问视频文件。StreamingAssets中的文件可以按原样复制到目标计算机,然后就能从特定文件夹中访问该文件。
只能有一个StreamingAssets文件夹,且必须放在项目的根目录(直接位于Assets文件夹中)。资源可放在其子文件夹,加载时需拼上路径。
9、隐藏的资源:为防止导入由操作系统或其他应用程序创建的特殊文件和临时文件,Unity会忽略Assets文件夹中的以下文件:隐藏的文件夹、以**.**开头的文件和文件夹、以**~**结尾的文件和文件夹、名为cvs的文件和文件夹、扩展名为.tmp的文件。
1、Application.dataPath:包含游戏数据文件夹的路径(只读)。
和平台相关:
Unity Editor: <path to project folder>/Assets
iOS: <path to player app bundle>/<AppName.app>/Data(只读文件夹,可使用Application.persistentDataPath保存)
Android: 通常它会直接指向APK。但如果正在运行拆分的二进制构建,它将指向OBB(Opaque Binary Blob )
Mac player: <path to player app bundle>/Contents
Win/Linux player: <path to executablename_Data folder>(请注意,大多数Linux安装都区分大小写!)
WebGL: 播放器数据文件目录的绝对url(不含实际的数据文件名)
Windows Store Apps: 播放器数据文件目录的绝对url(只读文件夹,可使用Application.persistentDataPath保存)
2、Application.persistentDataPath:包含持久数据目录的路径(可读可写)。
该值是一个目录路径,其中可以存储需要在运行之间保留的数据。在 iOS 和 Android 上发布时,persistentDataPath 将指向设备上的公共目录。每次更新应用程序时,不会擦除此位置中的文件。但用户可以直接删除这些文件。
请注意,在构建应用程序时,将基于 Bundle ID 生成 GUID,并且此 GUID 将成为 persistentDataPath 的一部分。如果您在将来的版本中保留相同的 Bundle ID,那么应用程序将在每次更新时继续访问相同的位置。
Windows Store Apps: 指向 %userprofile%\AppData\Local\Packages\<productname>\LocalState.
iOS: 指向 /var/mobile/Containers/Data/Application/<guid>/Documents.
Android: 通常指向 /storage/emulated/0/Android/data/<packagename>/files (一些旧手机可能会指向SD卡上的位置), 可使用 android.content.Context.getExternalFilesDir 解析路径。
3、Application.streamingAssetsPath:StreamingAssets文件夹的路径(只读)。
在运行时,Application.streamingAssetsPath 提供文件夹的路径。如果将资产添加到 StreamingAssets文件夹。构建的应用程序就可以在这个地址加载资产。
在WebGL和Android平台上不能访问StreamingAssets文件夹。因为 WebGL上没有可用的文件访问;而Android使用一个压缩的 .apk 文件,文件会被包含在压缩在 .jar文件(其格式与标准的zip压缩文件基本相同)中。这些平台返回一个URL,可以使用UnityWebRequest类访问URL来获得资产。
Windows/MacOS: Application.dataPath + "/StreamingAssets".
iOS: Application.dataPath + "/RAW".
Android: "jar://file://" + Application.dataPath + "!/assets/".
注意:位于 StreamingAssets 文件夹中的 .dll 文件不参与编译。
4、Application.temporaryCachePath:包含临时数据/缓存目录的路径(只读)。
该值是可以存储临时数据的目录路径。
1、Assets下所有非编辑器脚本文件。
2、Assets下所有 参与构建的Scene文件(BuildSettings Scenes In Build 处设置)。
3、Assets下直接或间接被 “参与构建的Scene文件” 所依赖的文件。
4、Resources下的所有文件。
5、Assets下直接或间接被 “Resources下的文件” 所依赖的文件。
6、StreamingAssets下的所有文件(会被逐字拷入目标平台的特定文件夹)。
7、Assets下所有 参与构建的Shader文件(ProjectSetting Built-in Shader Setting处设置)。
8、Plugins下的对应平台下的文件。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。