获取以前在ios应用程序中使用的mtl+obj文件,将3d pcb芯片加载到场景中。
使用three.js (r80)加载时,对象会加载并且几何体看起来是正确的,但没有纹理、颜色或图像加载到对象上。我做错了什么吗?
mtl文件中引用的所有图像都位于与mtl+obj文件相同的目录中,我看到这些图像被请求并正确地提供给浏览器。
在XCode中,对象看起来是正确的:

在Blender中加载,它具有正确的颜色,但没有将图像投影到对象上:

通过three.js加载,它只是一个黑色物体:

我正在使用的JS代码:
var camera, scene, renderer;
scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
init();
function init() {
var mtlLoader = new THREE.MTLLoader();
mtlLoader.load( "Thunderboard.mtl", function( materials ) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.load("Thunderboard.obj", function ( object ) {
scene.add(object);
});
});
camera.position.z = 3;
renderer = new THREE.WebGLRenderer({ alpha: true });
renderer.setSize( window.innerWidth, window.innerHeight );
document.body.appendChild( renderer.domElement );
renderer.render( scene, camera );
}发布于 2016-09-16 02:27:43
你有没有试过在场景中添加一些灯光?
https://stackoverflow.com/questions/39517836
复制相似问题