Unity的AssetDatabase路径格式
开发环境
windows 7
Unity 5.3 及更高版本
前言
使用AssetDatabase.Load或AnimatorController.CreateAnimatorControllerAtPath等Unity内置Editor API进行文件操作时,经常碰到加载资源为null,或报路径不存在!
经过断点调试,发现绝大部分错误都是因为路径的分隔符存在两种:"/"和"\"。
我们使用 System.IO.Path 这个API得到的路径,其实也是以"\"分隔路径的。
我们在windows下打开资源管理器,某个目录或文件的路径为:e:\Code\GameFramework\ 或 \\192.168.80.100\XXX\
但是使用Unity的API,打印Application.dataPath 时,打印出:E:/xxx/client/trunk/Project/Assets,所以可知,它的路径和windows是反的,所以当我们使用的路径不符合Unity的规范时,经常会报资源加载失败。
比如某个FBX的路径为:Assets/Art/Characters/Wing/fbx_3005/3005@stand.FBX ,而如果你的输入的路径或拼接的路径不符合规范,那么极有可能会加载文件失败。
规范化路径
提供一个方法,把路径格式成Unity可读取的路径格式:
/// <summary>
/// 格式化路径成Asset的标准格式
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static string FormatAssetPath(string filePath)
{
var newFilePath1 = filePath.Replace("\\", "/");
var newFilePath2 = newFilePath1.Replace("//", "/").Trim();
newFilePath2 = newFilePath2.Replace("///", "/").Trim();
newFilePath2 = newFilePath2.Replace("\\\\", "/").Trim();
return newFilePath2;
}
Unity的AssetDatabase路径格式的更多相关文章
- Unity各平台路径总结
路径是Unity开发中令人头疼的一个问题,根据我的开发经验,现将开发中遇到的路径问题总结如下: 1. 如何读取Application.streamingAssetsPath下的文件? Edit.iOS ...
- 【Unity系统知识】之unity文件操作路径
IOS:Application.dataPath : Application/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/xxx ...
- unity优化 — UGUI纹理格式的选择
首次界面打开加载的资源(如 贴图)会被缓存在内存中,再次打开界面由于内存中已有了资源 所以会更快.如何让首次打开界面会更快呢? 图片是否进行了有效的压缩.Android 平台下不带透明通道 优先使用E ...
- Unity数据存储路径总结
一.在项目根目录中创建Resources文件夹来保存文件.可以使用Resources.Load("文件名字,注:不包括文件后缀名");把文件夹中的对象加载出来.注:此方可实现对文件 ...
- MyBatis Java不同方式加载文件时的路径格式问题、Mybatis中加载.properties文件
public class LoadPropTest { public static void main(String[] args) throws IOException { //一.Properti ...
- Unity四种路径总结
四种路径的权限: Application.dataPath 包含游戏数据文件夹的路径(只读) Applicatio ...
- Qt之OpenSSL(有pro文件的路径格式)
简述 OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. 简述 下载安装 使用 更多参考 下载安装 ...
- unity插件开发——AssetDatabase
AssetDatebase也是一个静态类,他的作用是管理整个工程的所有文件(一般成为“资产”).直观地说就是管理整个project窗口中的所有内容,比如,你可以增加.删除.修改文件等等. 这里有几个常 ...
- javaWeb项目中的路径格式 请求url地址 客户端路径 服务端路径 url-pattern 路径 获取资源路径 地址 url
javaweb项目中有很多场景的路径客户端的POST/GET请求,服务器的请求转发,资源获取需要设置路径等这些路径表达的含义都有不同,所以想要更好的书写规范有用的路径代码 需要对路径有一个清晰地认知 ...
随机推荐
- The 2018 ACM-ICPC Asia Qingdao Regional Contest(部分题解)
摘要: 本文是The 2018 ACM-ICPC Asia Qingdao Regional Contest(青岛现场赛)的部分解题报告,给出了出题率较高的几道题的题解,希望熟悉区域赛的题型,进而对其 ...
- 浅谈SpringAOP
0. 写在最前面 之前实习天天在写业务,其中有一个业务是非常的复杂,涉及到了特别多的表.最后测下来,一个接口的时间,竟然要5s多. 当时想写一个AOP,来计算处理接口花费多长时间,也就是在业务逻辑的前 ...
- JavaScript基础回顾一(类型、值和变量)
请看代码并思考输出结果 var scope = 'global'; function f(){ console.log(scope); var scope = 'local'; console.log ...
- C#面向对象之多态。
1.定义:指不同的对象收到相同的消息时,会产生不同的行为,同一个类在不同的场合下表现出不同的行为特征. 比如. class Program { //下面三各类都继承object,但不同类的tostri ...
- eclipse项目导入之后,项目内无报错,项目头有红色叉号。
解决方法:右击项目之后选择properties,先看buildpath是不是有不一样的地方需要改成自己用的jdk与tomcat 之后看是否是项目之前用的tomcat与自己的不一样,如图 再更改过之后问 ...
- Jquery操作ul的一些操作笔记
1.html标记 <ul id="attachText"> <li data-text="111"><a href="# ...
- mssqlserver on linux - Linux下尝鲜MSSQL-SERVER【微软大法棒棒哒】
微软的开源精神真是无敌了,接下来体验下Linux安装与使用MSSQL-SERVER! 安装说明 目前支持的平台: Red Hat Enterprise Linux 7.2 Get RHEL 7.2 U ...
- c# dllimport 调用函数,参数乱码
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] [return: MarshalA ...
- c# chart控件柱状图,改变柱子宽度
让柱状图紧挨 改变柱状图宽度 chart1.Series[0]["PointWidth"] = "2";
- mysql中union 查询
UNION ALL只是简单的将两个结果合并后就返回.这样,如果返回的两个结果集中有重复的数据,那么返回的结果集就会包含重复的数据了. 从效率上说,UNION ALL 要比UNION快很多,所以,如果可 ...