记一个斜杠引发的惨案

最近我在项目开发中遇到了一个很神奇的bug:在剧情脚本编辑器里配置了一段镜头轨迹,PC测试的时候一切正常,但是在手机上播这段轨迹就不起作用。

这段镜头轨迹用的是引擎刚刚支持的新版anim格式,能完美修复旧版格式的fov适配问题:

一开始怀疑是这个文件没有被打包,结果被领导打脸了:

然后就怀疑是不是引擎在手机端不支持新版格式,这个时候有同事提醒我说新版格式在graph文件路径的斜杠是和其他路径相反的:

看看其他的路径,都是

这时我想起了Windows和其他操作系统的不(qi)同(pa)之处:

在Windows系统中,/ 表示除法,用来进行整除运算; 用来表示目录。(其实用/来表示目录也是没错的)
在Unix系统中,/表示目录; 表示转义字符,它是将特殊字符变成一般字符(如空格在文本上实际表示为" ")
由于Android和IOS都是类Unix系统,所以/表示目录,表示转义字符。而Windows下和/都可以表示目录。

我就试着改了轨迹文件路径中的斜杠,更新到手机上,果然没有问题了。
因此,在以后的开发中,为了防止歧义,建议路径统一用/来表示。

原文地址:https://www.cnblogs.com/wickedpriest/p/13698839.html