强迫症犯了,请教大佬这样的报错信息怎么查找报错源?

游戏运行没有任何问题,就是一运行游戏F12控制台就显示这样的报错信息,似乎是加载什么东西报404了,就是点开来也看不懂,也没有发现有什么文件是我写过的,不知道是哪里报错

image

这个是编译后的文件名,所以你看不出来的。
反正就是某个你绑定的资源,后来你把文件删了或者移动了,这个引用的地方没改导致的。

3个方法查找,1.根据文件名逆向查原名(我记得好像有谁写过插件来着)。2.一般那个miss的地方,绑定属性那里是红的,你一个个点来看看。3.只眼开只眼闭,反正这个地方漏了,要么是影响功能的你迟早会发现,要么是无关重要的,那就直接不管了。

1赞

另外其实我个人想咨询一下引擎组,文件名特意hash名字的主要目的是什么?
缓存?那原路径文件名后加md5也可以啊,例如aaa.jpg => aaa.15641.jpg
加密?感觉不是
组织资源?这个理由相对靠谱,但总感觉真的要这样hash化才能组织吗?

2赞

image 查一下UUID左边哪个右击有列表,可以查,你看一下是不是你一个自定义组件放在多个节点上了。

1赞

它这是16进制,复制后通过UUID就可以查了,如果再反编译出会更耗时,所以从本身的性能出发,它报错的时候就舍弃了,没有转换。

大佬牛逼!还可以这样查!
我查找出来了,是一个prefab里面的spriteframe丢失了,因为每次都是动态加载的所以运行看不出来问题
image

其实我意思是为啥要编译成16进制的名字?而不保留原来的路径和名字,当初的设计初衷是啥?

https://blog.csdn.net/Px01Ih8/article/details/122871739
我觉得这篇文章可以帮你解决疑惑16进制的疑惑。至于为什么会编译16进制,网页是从性能和可读性和性能出发,其实本身是可以反馈保留路径和名,但是会降低运行的效率。很多产品上都运动到为了提高计算机性能而舍弃一些繁琐的代码。相反的像谷歌,它的服务器是由价格便宜的组合而成,而不是价格高昂的服务器组合而成。

我都醉了,你发这个文章是当我连16进制都不懂的毕业生吗…

我意思是原来名字是:texture/aaa.png,你为什么要特意编译为native/37/371cd5f5-7883-454b-bd11-db9f7ac2e626.png这么长的名字,初衷是啥,名字更长可以提高性能对吧。

回答什么鬼东西,我问为什么100要改为20000,你回答因为20100比20000性能更低对吧,感情100不才是性能最高的?

不要告诉我你们初衷真的就是这样…那就太无语了

1赞

我也是小白,过来学习。但是吧,你提问态度也要好点吧。人家妹子程序员也不是官方的,看你提问,解答一下。可能回答不对,也不是官方标准答案。但是也不必这么怼吧

你讲得肯定有道理,纯粹妹子发个小学课本给我感觉智商被侮辱了一时没忍住… :mask:
@2714689165妹子不好意思了,不过下次还是看明白再回答吧