我无法使用three.js渲染我的collada模型,直到我与浏览器窗口进行交互。在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();
答案 0 :(得分:1)
加载是异步进行的。您只显示了一个代码片段,但看起来您可以将render()
调用移到colladaReady()
回调函数的最后一行。