昨天组长把分类好了的三维模型给了我,在此基础上,我就能实现许多功能了。
首先是添加材质。理论上讲,把分类好的牙齿模型和原来的模型一起导入,并且给他们添加不同的材质,再调节一下深度信息防止z-fighting就实现了。
但是实际操作上,很多地方远比我想象重点复杂,单举z-fighting为例,我试过很多种方法,包括添加两个scene,调整相机的远近平面,改变模型的renderOrder参数,以及设置material.depthtest等等等等,但每一种的效果都不理想。最后在一个名叫stackoverflow(直译就是堆栈溢出hhh)的外网发现了一个叫做renderDepth的古老函数,最后成功解决了z-fighting的问题。
下一步是要能够键控每个模型的展示,本来以为只是重复代码的体力活,但是目前卡在了全局变量上。我为每给模型都声明了一个全局变量mesh,但是无论我怎么用函数为全局变量批量赋初值,浏览器都会告诉我meshxx is undefined,啊,大概还是我学习不精叭。
明天再试一下,要是函数不行的话,就干脆手动写每个mesh好了。