Unity3d中所有特殊的文件夹

2023-11-16

1.Editor

Editor文件夹可以在根目录下,也可以在子目录里,只要名子叫Editor就可以。比如目录:/xxx/xxx/Editor  和 /Editor 是一样的,无论多少个叫Editor的文件夹都可以。Editor下面放的所有资源文件或者脚本文件都不会被打进发布包中,并且脚本也只能在编辑时使用。一般呢会把一些工具类的脚本放在这里,或者是一些编辑时用的DLL。 比如我们现在要做类似技能编辑器,那么编辑器的代码放在这里是再好不过了,因为实际运行时我们只需要编辑器生成的文件,而不需要编辑器的核心代码。

2.Editor Default Resources

Editor Default Resources注意中间是有空格的,它必须放在Project视图的根目录下,如果你想放在/xxx/xxx/Editor Default Resources 这样是不行的。你可以把编辑器用到的一些资源放在这里,比如图片、文本文件、等等。它和Editor文件夹一样都不会被打到最终发布包里,仅仅用于开发时使用。你可以直接通过EditorGUIUtility.Load去读取该文件夹下的资源。

1
2
TextAsset text = EditorGUIUtility . Load ( "test.txt" ) as TextAsset ;
Debug . Log ( text . text ) ;

3.Gizmos

我觉得这个文件夹其实没什么用处,如下代码所示它可以在Scene视图里给某个坐标绘制一个icon。它的好处是可以传一个Vecotor3 作为图片显示的位置。 参数2就是图片的名子,当然这个图片必须放在Gizmos文件夹下面。

1
2
3
     void OnDrawGizmos ( ) {
         Gizmos . DrawIcon ( transform . position , "0.png" , true ) ;
     }

如果只想挂在某个游戏对象身上,那么在Inspecotr里面就可以直接设置。。

这里还是要说说OnDrawGizmos()方法,只要脚本继承了MonoBehaviour后,并且在编辑模式下就会每一帧都执行它。发布的游戏肯定就不会执行了,它只能用于在scene视图中绘制一些小物件。比如要做摄像机轨迹,那么肯定是要在Scene视图中做一个预览的线,那么用Gizmos.DrawLine 和Gizmos.DrawFrustum就再好不过了。

4.Plugins

如果做手机游戏开发一般 andoird 或者 ios 要接一些sdk 可以把sdk依赖的库文件 放在这里,比如 .so .jar .a 文件。这样打完包以后就会自动把这些文件打在你的包中。

5.Resources

可以在根目录下,也可以在子目录里,只要名子叫Resources就可以。比如目录:/xxx/xxx/Resources  和 /Resources 是一样的,无论多少个叫Resources的文件夹都可以。Resources文件夹下的资源不管你用还是不用都会被打包进.apk或者.ipa

Resource.Load :编辑时和运行时都可以通过Resource.Load来直接读取。

Resources.LoadAssetAtPath() :它可以读取Assets目录下的任意文件夹下的资源,它可以在编辑时或者编辑器运行时用,它但是它不能在真机上用,它的路径是”Assets/xx/xx.xxx” 必须是这种路径,并且要带文件的后缀名。

AssetDatabase.LoadAssetAtPath():它可以读取Assets目录下的任意文件夹下的资源,它只能在编辑时用。它的路径是”Assets/xx/xx.xxx” 必须是这种路径,并且要带文件的后缀名。

我觉得在电脑上开发的时候尽量来用Resource.Load() 或者 Resources.LoadAssetAtPath() ,假如手机上选择一部分资源要打assetbundle,一部分资源Resource.Load().那么在做.apk或者.ipa的时候 现在都是用脚本来自动化打包,在打包之前 可以用AssetDatabase.MoveAsset()把已经打包成assetbundle的原始文件从Resources文件夹下移动出去在打包,这样打出来的运行包就不会包行多余的文件了。打完包以后再把移动出去的文件夹移动回来。

6. StreamingAssets

这个文件夹下的资源也会全都打包在.apk或者.ipa 它和Resources的区别是,Resources会压缩文件,但是它不会压缩原封不动的打包进去。并且它是一个只读的文件夹,就是程序运行时只能读 不能写。它在各个平台下的路径是不同的,不过你可以用Application.streamingAssetsPath 它会根据当前的平台选择对应的路径。

有些游戏为了让所有的资源全部使用assetbundle,会把一些初始的assetbundle放在StreamingAssets目录下,运行程序的时候在把这些assetbundle拷贝在Application.persistentDataPath目录下,如果这些assetbundle有更新的话,那么下载到新的assetbundle在把Application.persistentDataPath目录下原有的覆盖掉。

因为Application.persistentDataPath目录是应用程序的沙盒目录,所以打包之前是没有这个目录的,直到应用程序在手机上安装完毕才有这个目录。

StreamingAssets目录下的资源都是不压缩的,所以它比较大会占空间,比如你的应用装在手机上会占用100M的容量,那么你又在StreamingAssets放了一个100M的assetbundle,那么此时在装在手机上就会在200M的容量。

7.隐藏文件夹
以.开头的文件夹会被Unity忽略。在这种文件夹中的资源不会被导入,脚本不会被编译。也不会出现在Project视图中。

8.WebPlayerTemplates
用来替换web build的默认网页。这个文件夹中的脚本都不会被编译。这个文件夹必须作为Assets文件夹的直接子目录。




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity3d中所有特殊的文件夹 的相关文章

随机推荐

  • Linux系统之使用cmatrix实现数字雨效果

    Linux系统之使用cmatrix实现数字雨效果 一 cmatrix介绍 二 本地环境介绍 2 1 本地环境规划 2 2 本次实践介绍 三 环境准备工作 3 1 安装开发环境 3 2 安装基本软件 3 3 安装 ImageMagick等工具
  • Unity shader系列:好用的IDE--JetBrain Rider

    官方描述 Rider 还添加了对 shader 文件的支持 提供语法高亮显示 代码折叠 括号匹配等功能 高亮显示 ShaderLab 部分的语法错误 todo 注释加入 To Do Explorer 并高亮显示颜色属性 且提供选色笔用于编辑
  • 学习HTML:iframe用法总结收藏

    原文地址 http blog csdn net andycode article details 6899775 分类 html js css 8 Html代码 p 是框架的一种形式 也比较常用到 p
  • Open3d之计算源点云与目标云的距离

    核心函数介绍 compute point cloud distance 提供了计算从源点云到目标点云的距离的方法 即 它计算源点云中的每个点到目标点云中最近点的距离 在下面的例子中 展示了使用该函数来计算两点云之间的差值 请注意 此方法也可
  • Shiro反序列化漏洞利用——2、Shiro_exploit漏洞检测

    使用Shiro exploit工具 检查是否存在默认的key 1 Github项目地址 下载利用工具 https github com insightglacier Shiro exploit 2 1使用示例 python shiro ex
  • C语言学习之assert

    C语言学习之assert C语言学习之assert assert 编程术语 编写代码时 我们总是会做出一些假设 断言就是用于在代码中捕捉这些假设 可以将断言看作是异常处理的一种高级形式 断言表示为一些布尔表达式 程序员相信在程序中的某个特定
  • 【C】变量

    目录 变量的命名 局部变量 全局变量 作用域 生命周期 变量的命名 变量名必须是由字母 数字 下划线组成 不能以数字开头 变量名不能是关键字 局部变量 全局变量
  • 斗地主2.0

    案例介绍 按照斗地主的规则 完成洗牌发牌的动作 具体规则 组装54张扑克牌将 54张牌顺序打乱 三个玩家参与游戏 三人交替摸牌 每人17张牌 最后三张留作底牌 查看三人各自手中的牌 按照牌的大小排序 底牌 规则 手中扑克牌从大到小的摆放顺序
  • git 主干master分支回滚到历史版本

    先切换到主分支 然后执行以下两点 1 回滚到指定版本 本地分支回滚到指定版本 git reset hard
  • 【漏洞复现】CVE-2022-44268 ImageMagick任意文件读取漏洞

    启动环境 sudo docker compose up d 查看端口号 服务启动后 访问http your ip 8080可以看到图片上传框 利用这个漏洞 需要先准备一个恶意PNG文件 文件内容中包含我们准备读取的文件路径 可以使用poc
  • 计算机网络--第三章思维导图

  • document.referrer的用法

    在JavaScript中 document对象有很多属性 其中有3个与对网页的请求有关的属性 它们分别是URL domain和referrer URL属性包含页面完整的URL domain属性中只包含页面的域名 而referrer属性中则保
  • 【模型评估与选择】sklearn.model_selection.train_test_split

    1 描述 Split arrays or matrices into random train and test subsets 2 语法 train test split arrays options 3 参数 1 arrays sequ
  • 多版本php安装swoole失败问题

    问题描述 使用命令 pecl安装报错 查看报错提示使用的是低版本的php 问题原因 pecl设置的环境变量指向的路径是低版本的所以如果想使用高版本的php 需要使用全路径命令 解决方法 usr local php7 26 bin pecl
  • Ubuntu 安装elasticsearch集群

    环境准备 准备三台服务器搭建集群环境 node1 192 168 177 171 node2 192 168 177 172 node3 192 168 177 173 其中node1为master节点 node2 node3为slave节
  • 图像分割汇总

    Image Segmentation 图像分割 所谓图像分割是指根据灰度 彩色 空间纹理 几何形状等特征把图像划分成若干个互不相交的区域 使得这些特征在同一区域内表现出一致性或相似性 而在不同区域间表现出明显的不同 简单的说就是在一副图像中
  • Python——遗传算法简介及其在二次分配中的运用(含详细源代码)

    一 遗传算法简介 二 二次分配问题描述 三 Python代码实现 import math import random import matplotlib pyplot as plt def getPermutation n x n为全排列的
  • 集训第一周 Linux

    1 创建一个用户user1 用root身份给user1修改密码为redhat 提示 创建用户用useradd user1 2 切换到user1用户 给自己修改一个密码 密码任意 3 在 root 目录中创建一个以自己的汉语拼音为名字的文件
  • QML学习一:QtCreator编译器主题背景设置

    效果如下 QML学习一 QtCreator编译器主题背景设置 前言 一 工具栏菜单栏背景设置 二 文本编辑区域设置 总结 前言 工欲善其事必先利其器 为了更好地开发代码 我们先将QtCreator界面改为模仿Vs2019主题样式 这样开发起
  • Unity3d中所有特殊的文件夹

    1 Editor Editor文件夹可以在根目录下 也可以在子目录里 只要名子叫Editor就可以 比如目录 xxx xxx Editor 和 Editor 是一样的 无论多少个叫Editor的文件夹都可以 Editor下面放的所有资源文件