Home Forums Games202-高质量实时渲染 作业0 结果不稳定,有时模型显示不全 Reply To: 作业0 结果不稳定,有时模型显示不全

#11218 Score: 2
刀客塔
Participant
3 pts

研究了一下,知道了为什么会刷不出来模型,从原理上讲,应该大部分人都刷不出来才对。

loadOBJ.js 中,materials.preload(); 其实是一个异步方法,这个方法会去 load mtl文件,image 文件的路径也在其内,然而在这步方法之后紧接着就去 load object 并且使用了 mtl 文件中的 image,因为前一步是异步的,这个时候 material 其实还没有load 完成,导致了 object load 时的报错。

如果使用 Promise 方法可能会比较优雅,不过代码改动量比较大。我也是JS小白。

一个比较 tricky 的方法就是在 load object 的前等一等,最后这段代码如图所示,我用一个函数wrap了一下load object 的过程,然后使用 setTimeout 等了100ms。

This post has received 2 votes up.
Attachments:
You must be logged in to view attached files.