我正在使用 STLLoader.js 来绘制组件。每个组件都使用一种定义的颜色正确渲染,但这看起来不像真实世界的组件。
上图是我使用 STLLoader.js(使用二进制 STL 文件)实现的 three.js,因为我已阅读此格式支持组件的颜色。
下图是我的 Windows 软件之一,我使用了 Step 文件。我想渲染组件,如下图所示,使其看起来像一个真实世界的组件。
有没有办法在three.js中获得正确的彩色输出?我进行了很多搜索,但没有找到实现它的方法。请帮助我前进。
var loader = new THREE.STLLoader();
loader.addEventListener( 'load', function ( event ) {
var material = new THREE.MeshPhongMaterial( { color: 0x75D3DC, ambient: 0x75D3DC, specular: 0x75D3DC, shininess: 200/*, vertexColors: THREE.VertexColors */} );
var mesh = new THREE.Mesh( geometry, material );
mesh.position.x = x - boardMaxX + w/2 ;
mesh.position.y = - 5 ;
mesh.position.z = z - boardMaxY + h/2 ;
mesh.rotation.set( (rotation * Math.PI / 180.0), 0, 0 );
mesh.scale.set(2, 2, 2);
mesh.castShadow = true;
mesh.receiveShadow = true;
board.add(mesh);
objects.push( mesh );
i = i + 5;
componenetDraw(componentArray[i] * scaleX, -7, componentArray[i + 1] * scaleY, componentArray[i + 2], componentArray[i + 4]);
} );
loader.load( fileName );
}
以上代码用于读取 STL 文件。但我没有读取 STEP 文件的代码。