7
回答
关于three.js的问题
华为云4核8G,高性能云服务器,免费试用   

@抢小孩糖吃 你好,想跟你请教个问题:

我用maya制作了一个简单的模型,导出了obj格式,并把obj和mtl文件放在D盘,用自带的插件导成js模型。

在用three自带的例子,改成自己生成的模型。浏览后发现,模型完全是黑色的。我为了怕是贴图的路径问题,把有可能的路径都复制了一份,另外贴图尺寸也不大。

为了防止是模型转换过程中出现了什么问题,我又直接改了一个读取obj,和mtl文件的例子,换成了自己的obj和mtl文件。

结果还是黑色的。

这到底是什么情况呢。我明明是改的自带的例子居然不好用,而且模型也就是一个简单的立方体。

不知道仁兄有没有什么好的解决办法

<无标签>
举报
奈西西
发帖于5年前 7回/729阅
共有7个答案 最后回答: 5年前

你能够看到物体说明你镜头设置没问题了,是材质或者打光问题。

如果你贴图完整,可能是你没有给物体打光,当然看不到。

其次是材质问题,maya很多材质内容均消失,Three的材质很普通,我个人使用最普通的Lambert。默认材质无法正确显示,所以需要你自己写一个小的render循环才能够解决。默认例子好像直接在材质上面覆色彩。

我半年前的代码问题里面有

我不清楚是不是正确的了,但是可以看到在新建材质中需要给Mesh添加材质,我所选择的为Lambert

 var material = new THREE.MeshLambertMaterial({color: 0xffffff});
085      
086     mesh = new THREE.Mesh( geometry, material );

我是自己重新写的,最好你看下那个日本人的教程,写的比较详细,做物理仿真的那个

中文的看这个,http://www.hiwebgl.com/?p=1058,里面的日语连接就是日本人的那个 日语的你通过Google翻译下就能看,注意材质问题。

我看过那个教程,但其中没有提到怎么导入三维软件制作的模型,都是用three自己生成的模型,里面后来讲了一些重力什么的。我就是想成功的把我用三维软件制作的模型导入网页并显示。

你在maya制作的时候是有材质的,导入的时候不会导入材质,材质要在js里写几个代码导入材质图片
顶部