【发布时间】:2017-01-23 21:02:51
【问题描述】:
获取之前在 ios 应用中使用的 mtl+obj 文件,将 3d pcb 芯片加载到场景中。
当使用three.js (r80) 加载它时,对象加载并且几何看起来正确,但是没有纹理、颜色或图像加载到对象上。我是不是做错了什么?
mtl 文件中引用的所有图像都与 mtl+obj 文件位于同一目录中,我看到这些图像被正确地请求并提供给浏览器。
在 Blender 中加载,它具有正确的颜色,但没有图像投射到对象上:
我正在使用的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 );
}
【问题讨论】:
标签: javascript 3d three.js