这是我最后一个问题的后续问题。我想爆炸(技术绘图样式)一个包含n .obj部分的导入的.obj几何体。
例如,作为对象的表,每个部分是一个.obj,四条腿和一个桌面。 5个文件。加载它们没问题。现在每个对象的位置都是0,0,0,这意味着我需要获得它们的世界位置,这是我用这个函数做的:
function absPos( myMesh ) {
myMesh.geometry.computeBoundingBox();
var boundingBox = myMesh.geometry.boundingBox;
var position = new THREE.Vector3();
position.subVectors( boundingBox.max, boundingBox.min );
position.multiplyScalar( 0.5 );
position.add( boundingBox.min );
position.applyMatrix4( myMesh.matrixWorld );
var abspos = {x:position.x,y:position.y,z:position.z};
return abspos;
}
现在我确实假设将对象的位置设置为他们的世界位置只会将他们移动到另一个世界位置,但保持他们的关系但事实并非如此。所以我不能只使用对象世界位置并使用它来翻译对象,直到我弄乱世界位置?
由于对象位置是0,0,0,它们彼此之间没有关系,我不能只是将这些值相乘以“爆炸”几何体。
有没有机会在不搞乱世界阵地的情况下实现这一目标?