Three.js r71 is showing black screen when trying to load json object

时光总嘲笑我的痴心妄想 提交于 2019-12-12 07:05:15

问题


i will enumerate what i did until now:

  1. I have a file "pre.obj" converted to "pre.js" using convert_obj_three.py script
    "pre.obj" uses "pre.mtl" because it has material of image "specular.jpg"

    "pre.obj" ,"pre.mtl" and "specular.jpg" can be looked at here respectivily

    xsportfit.com/threejs/pre.obj

    xsportfit.com/threejs/pre.mtl

    xsportfit.com/threejs/specular.jpg

  2. I have tried to load "pre.js" file using three.js library of this way:

    var scene = new THREE.Scene();
    var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 100);
    camera.position.z = 3;
    var renderer = new THREE.WebGLRenderer();
    renderer.setSize(window.innerWidth, window.innerHeight);
    document.body.appendChild(renderer.domElement);
    var jsonLoader = new THREE.JSONLoader();
    var mesh;
    jsonLoader.load('pre.js',function (geometry, materials) {
                        var material = new THREE.MeshFaceMaterial(materials);
                        mesh = new THREE.Mesh(geometry, material);
                        scene.add(mesh);
                    }
            );
    
    var render = function () {
    requestAnimationFrame(render);
    renderer.render(scene, camera);
    };
    
    render();
    

Like you can see here http://xsportfit.com/threejs/ nothing is being showed, I am getting these warnings in console:

THREE.WebGLRenderer: OES_texture_float_linear extension not supported. three.js:11611 THREE.Loader: transparency has been renamed to opacity

Any help would be great, thanks!


回答1:


Your materials array contains an instance of MeshLambertMaterial. MeshLambertMaterial requires lights in the scene.

One option is to do this:

var light = new THREE.DirectionalLight( 0xffffff, 1 );
light.position.set( 10, 10, 10 );
scene.add( light );

three.js r.71



来源:https://stackoverflow.com/questions/32145339/three-js-r71-is-showing-black-screen-when-trying-to-load-json-object

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!