先看效果
优化前
优化后的效果
在网上找了好久,好多方法都过时了,还有调整自发光都不行,后来又调金属度的,试了下很ok, child.material.metalness = 0.58;
,完整例子看下边。
解决方案
调整模型的金属度
loader.load(
file,
function (gltf) {
gltf.scene.traverse(function (child) {
if (child.isMesh) {
// //模型阴影
child.castShadow = true;
// 调整金属度
child.material.metalness = 0.58;
// //模型自发光
// child.material.emissive = child.material.color;
child.material.emissiveMap = child.material.map;
}
});
scene.add(mesh);
},
undefined,
function (error) {
setLoading(false);
console.error("模型加载失败error", error);
}
);