threejs 几何体一个颜色变化另外一个也跟着变

threejs yekong 941℃

问题

在threejs项目中,可能会出现一种情况,明明修改的只是模型1的材质颜色,其他模型的材质颜色也跟着变了。

原因:

两个模型共享的同一个材质,对材质的任何修改都会同时反应在两个模型上。

两个mesh共享一个材质,改变一个mesh的颜色,另一个mesh2的颜色也会跟着改变

nesh.material 和mesh2.material都指向同一个material

三者等价:mesh.material、 mesh2.material、 material

修改了mesh的材质颜色后,mesh2的材质颜色也会跟着变

const mesh = new THREE.Mesh(geometry, material)
const mesh2 = new THREE.Mesh(geometry, material)
mesh.material.color.set(0xffff00);

因为两个模型指向的材质是同一个材质,所以对材质进行调整,两个模型的都会跟着变化。

当前内容为观看threejs视频教程 WebGL/Three.js前端高薪3D可视化 课程-模型材质和几何体属性-实践的学习笔记

喜欢 (0)