1. 首页
  2. three.js

three.js将多个对象合并为一个对象时出现的问题

three.jsn大家好,我是三个js的新手,我正在使用多个对象创建一个自定义形状。但我面临的问题是,当我将所有对象添加到场景中时,效果很好。n请参见图像n但是每当我将所有对象合并到一个几何体中,然后添加到场景中时,它就会变成这样。查看图像n不知道为什么图像变暗了,但底部和后部看起来很好。n我使用的代码显示为新代码三.容积法(175,0,40,0,0,0==新三.容积法(175,0,40,1,1,==新三.容积法(1100,40,1,1,1==新三.容积法( 0, 100, 40, 1, 1, 1==新的三.容积法(346100,0,1,1,1==新三.容积法(345100,0,1,1,1==新三、圆柱几何(1,1,20,32===新建三、圆柱几何( 1, 1, 8, 32 = = 1.6;cylinderRight.updateMatrix();// scene.add(圆筒);//scene.add(气缸左);//scene.add(气缸右侧);//scene.add(顶部);// scene.add(下);//scene.add(左);//scene.add(右);//scene.add(中);//>n任何帮助都将不胜感激……n出于好奇,您使用的框架是什么修订版?nTHREE.CubeGeometry()在几年前被重命名为THREE.BoxGeometry()。@prisoner849我正在使用3.webgl渲染器93“从控制台nsubhomoy:nvar>n使用这种材料,您希望得到什么?n在合并所有网格几何体之前,每个网格有THREE.MeshBasicMaterial()。这种类型的材质不受光线的影响,这就是为什么整个抽屉都有相同的明亮纹理。n但是如果我将其更改为MeshLambertMaterial,那么同样的问题也会出现…n我想要的是,当我添加对象并将其添加到场景中时,抽屉以原始颜色显示,如第一幅图像。n但当我将其合并到单个对象,然后将其添加到场景中时,抽屉变成深棕色。比如说,当抽屉的下方和背面有真实的颜色时,灯熄灭或向下移动。请参见第二张图片以供参考。n您是否看到/知道THREE.MeshBasicMaterial()和THREE.MeshLambertMaterial()之间的区别以及它们是如何受光线影响的?如果你没有,那么看看这个7和这个6。n合并之前的所有网格都有THREE.MeshBasicMaterial()。n合并之后,你将THREE.MeshLambertMaterial()应用到具有合并几何体的网格。n@prisoner849,我知道MeshBasicMaterial不受光的影响…我已将所有MeshBasicMaterial更改为MeshLambertMaterial,但仍然存在相同的问题。n我的项目我已经有了一个聚光灯,在合并成一个单独的对象之前,灯光工作良好。但当它被合并后,它变暗了。但是如果我们旋转物体,那么在抽屉的底部和背面,光线似乎是合适的…n我很好奇,如果你想看到相同的结果,比如不合并,为什么要用THREE.MeshLambertMaterial()而不是THREE.MeshBasicMaterial()?n@prisoner849,哦,对不起,我在合并过程中使用了MeshlambertMaterial…我错过了那个代码。非常抱歉浪费了你的时间…n谢谢你的帮助。它现在正在工作。很抱歉给您添麻烦……n最后n不客气了n@prisoner849,非常感谢您抽出时间。谢谢你,伙计…n你可能想从Blender导入模型。这是用纹理贴图等获得更复杂模型的另一种方法,但我想它要高级得多n Problem in merging multiple objects into onen

three.js将多个对象合并为一个对象时出现的问题 为WP2原创文章,链接:https://www.wp2.cn/three-js/three-js%e5%b0%86%e5%a4%9a%e4%b8%aa%e5%af%b9%e8%b1%a1%e5%90%88%e5%b9%b6%e4%b8%ba%e4%b8%80%e4%b8%aa%e5%af%b9%e8%b1%a1%e6%97%b6%e5%87%ba%e7%8e%b0%e7%9a%84%e9%97%ae%e9%a2%98/