本文主要说明在使用threejs导入模型为黑色问题的原因

  1. 第一个原因,加载模型时,需要设置两个属性
loader.load( xxx.3mf', function ( object ) {
   object.traverse( function ( child ) {
     child.castShadow = true;
     child.material.emissive = child.material.color
     child.material.emissiveMap = child.material.map
   } );
   scene.add( object );
 } );
  1. 没有加光源
 let ambientLight = new THREE.AmbientLight(0xffffff); //设置环境光
 scene.add(ambientLight); //将环境光添加到场景中
 let pointLight = new THREE.PointLight(0xffffff, 1, 0);
 pointLight.position.set(200, 200, 200); //设置点光源位置
 scene.add(pointLight); //将点光源添加至场景
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐