0

在与浏览器窗口交互之前,我无法让我的 collada 模型使用 three.js 进行渲染。在 Chrome 中,它可以像在页面上的任意位置移动鼠标一样简单(实际画布小于整个窗口),而在 Safari 中,它需要单击并拖动模型才能呈现。奇怪的是场景的其余部分正在正确加载(我有一个渲染到场景的网格和几盏灯),但是在我做某事之前模型不会显示。关于如何欺骗场景知道它应该显示模型的任何想法?

var loader = new THREE.ColladaLoader();
loader.options.convertUpAxis = true;
loader.load('../MODELS/teapot.dae', function colladaReady( collada ) {

    dae = collada.scene;
    skin = collada.skins[ 0 ];

    dae.scale.x = dae.scale.y = dae.scale.z = 10;
    dae.position.y = 75;
    dae.updateMatrix();               

    scene.add(dae);                         
});


document.getElementById('myCanvas').appendChild(renderer.domElement);

render();
4

1 回答 1

1

加载是异步发生的。您只显示了一个代码片段,但看起来您可以将调用移动到回调函数render()的最后一行。colladaReady()

于 2012-07-17T17:50:06.407 回答