我正在尝试使用OBJloader.js加载obj文件 我正在尝试加载“plane.obj”文件,该文件存在于html文件所在的同一文件夹中,并且“OBJLoader.js”也存在于同一文件夹中。
页面没有显示任何内容。
以下是代码:
var scene = new THREE.Scene();
camera = new THREE.PerspectiveCamera(75, window.innerWidth/window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);
var geometry = new THREE.CubeGeometry(1,1,1);
var material = new THREE.MeshBasicMaterial({color: 0x00ff00});
var cube = new THREE.Mesh(geometry, material); scene.add(cube); camera.position.z = 5;
function render() {
requestAnimationFrame(render);
cube.rotation.x += 0.01;
cube.rotation.y += 0.01;
renderer.render(scene, camera);
}
var texture = THREE.ImageUtils.loadTexture( 'tex.jpg' );
var loader = new THREE.OBJLoader();
loader.load( 'plane.obj', function ( object ) {
scene.add( object );
} );
render();
答案 0 :(得分:0)
这可能是由于尝试从文件系统加载资源引起的。您可能获得了相同的原始策略安全违规,需要从同一协议,域和端口提供您的页面和资源。有几种简单的方法可以做到这一点 - 我通过Node JS使用一个简单的http服务器应用程序。查看How to run things locally了解更多选项。
答案 1 :(得分:0)
嗯,事实证明,这是因为场景中没有光线造成的。此外,不正确的相机位置也可能导致"隐形" OBJ型号。尝试添加以下行:
var ambientLight = new THREE.AmbientLight(0xffffff);
scene.add(ambientLight);