ColladaLoader Three.js没有在画布上呈现任何内容

时间:2016-03-23 12:57:59

标签: jquery 3d three.js rendering collada

我目前正在开展一个项目,我可以看到所有内容都按预期加载,我不断阅读Three.js文档,看看出了什么问题但是我没有尝试过工作

从检查控制台我可以看到Collada文件已经正常加载,进度显示" 100%已加载"。

我可以看到画布本身已经加载了画布的颜色。

我还可以看到画布动画正在加入console.log()

请参阅下面的代码,希望你们可以了解我的黑暗情况。

jQuery(window).load(function($){
var w = jQuery('.topSection .design').width();
var h = jQuery('.topSection .design').height();
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(45, w/h, 1, 1000);
var renderer = new THREE.WebGLRenderer();
var loader = new THREE.ColladaLoader();
var box; 

function init() {
    loader.load('definition3D.dae', function (result) {
            scene.add(result.scene);
            camera.lookAt(scene.position);
        }, function (xhr) {
            console.log( Math.ceil(xhr.loaded / xhr.total * 100) + '% loaded' );
        }
    );

    renderer.setClearColor(0xdddddd);
    renderer.setSize(w, h);

    jQuery('.topSection .design').append(renderer.domElement);
    console.log(loader);
}

var animate = function () {
    requestAnimationFrame(animate);
    renderer.render(scene, camera);
};
init();
animate();

});

提前谢谢

1 个答案:

答案 0 :(得分:1)

如果你没有指定相机位置,并且你的模型的中心位于0,0,0,你可以将两个元素放在同一个位置,如果collada材质没有加倍,你可能看不到任何东西。

首先尝试将相机远离模型 第二,你可以使用帮助器BoundingBoxHelper来查看网格(或比例)的实际位置。

var bbox = new THREE.BoundingBoxHelper( result.scene, 0xff0000);
   bbox.update();
scene.add( bbox );

因此,您可以看到您的模型是否有错误的中心或非常小的尺寸。