模型没有出现在three.js中

时间:2017-11-14 18:28:03

标签: javascript three.js blender

我一直在尝试各种方案来解决我的问题。我也在尝试前几年发布的各种例子。虽然我的问题仍然没有解决,但我的对象没有出现。

我尝试了3种不同的格式:.json,.js和现在.mtl with.obj。我目前的代码如下:

function addModels() {
var mtlLoader = new THREE.MTLLoader();

mtlLoader.load("../models/lampa.mtl", function (materials) {
    materials.preload();

    var objLoader = new THREE.OBJLoader();

    objLoader.setMaterials(materials);
    objLoader.load("../models/lampa.obj", function (mesh) {
        mesh.scale.set(1,1,1);
        mesh.position.set(0,0,0);

        scene.add(mesh);
    })
})

这是运行canvas的脚本的html文件。

   var camera;
var scene;
var renderer = new THREE.WebGLRenderer();
var controls;

//Simple functions to initialise scene and render it.
initialise();
render();
//animate();


//add models
addModels();

function initialise() {

    // Create a scene
    scene = new THREE.Scene();

    // Add the camera
    camera = new THREE.PerspectiveCamera( 70, window.innerWidth / window.innerHeight, 1, 1000);
    camera.position.set(0, 100, 250);

    // Add scene elements
    addWalls();
    addKerbs();
    // Add lights
    addLights();
    // Create the WebGL Renderer
    renderer = new THREE.WebGLRenderer();
    renderer.setSize( window.innerWidth, window.innerHeight );

    //add Grass
    createGrass();
    addGrass();

    // Append the renderer to the body
    document.body.appendChild( renderer.domElement );

    // Add a resize event listener
    window.addEventListener( 'resize', Resize, false );

    // Add the orbit controls
    controls = new THREE.OrbitControls(camera, renderer.domElement);
    controls.target = new THREE.Vector3(0, 100, 0);
}

//rendering function
function render() {
    renderer.render( scene, camera );
    requestAnimationFrame( render );
    controls.update();
}

//Window resize.
function Resize() {
    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();
    renderer.setSize( window.innerWidth, window.innerHeight );
}

function animate() {
    requestAnimationFrame(animate);
    render();
    status.update();
    renderer.render(scene,camera);
}

当addModels()处于初始化函数中时,它会抛出如下错误:  enter image description here

每个答案都表示赞赏。谢谢。

1 个答案:

答案 0 :(得分:0)

我很抱歉遇到麻烦。看来一切都很好,只有三个.js已经过时了......