先看效果

优化前
在这里插入图片描述
优化后的效果
在这里插入图片描述
在网上找了好久,好多方法都过时了,还有调整自发光都不行,后来又调金属度的,试了下很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);
      }
    );
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐