threejs collada模型位置

时间:2015-07-20 10:29:18

标签: model three.js collada

我一直在研究THREEJS框架来渲染* .dae模型。有几种dae模型。我对模型的位置有疑问。当我渲染它们时,每个模型都有不同的位置。我设置了他们的位置dae.position.set(0,0,0);,但不幸的是,它不能很好地工作。

例如,对于一个模型,我必须将位置设置为dae.position.set(-2, -31, 6.5);,然后模型位于该位置(0,0,0)。我用AXES axes.position.set(0,0,0);检查它。

您有什么想法,为什么模型不在x,y,z的零位置上。

感谢您的帮助。我对three.js完全不熟悉。我希望我能清楚地解释自己:)

1 个答案:

答案 0 :(得分:1)

模型的顶点偏离原点,因此您可以通过设置dae.position进行补偿。

您可以通过重新定位模型来自动调整dae位置,如下所示:

var box = new THREE.Box3().setFromObject( dae ); // compute the bounding box of the model
box.getCenter( dae.position ); // set dae.position to be the center of the bounding box
dae.position.multiplyScalar( - 1 ); // negate the dae.position coordinates

three.js r.87