ThreeJS - 如何找到支点

时间:2016-02-24 20:05:28

标签: three.js pivot

我有一个JSON模型,我在项目中使用Three.JSONLoader。我可以在ThreeJS编辑器中看到,枢轴点或原点在X和Z方向上都接近模型的中心。在加载JSON模型后的ThreeJS编辑器中,按预期在中心附近旋转Y旋转。

我需要找到枢轴的位置。我使用了一个边界框,它给出了最小/最大值,所以我可以得到实际尺寸(我认为尺度给出相同的),我期待网格位置将是枢轴或原点的位置,但它不是&# 39;吨。在Unity中,我相信你会使用变换。

如何找到(或计算)枢轴?

我添加了一些代码

var cube = new THREE.Mesh(new THREE.BoxGeometry(0.1, 0.1, 0.1), 
                      new THREE.MeshBasicMaterial({ color: 0xff0000 }));

mesh.add(cube);

我可以在枢轴点看到附在模型上的方框。对于不同的模型显然不同的地方,但无论我在我刚刚添加的模型或立方体上使用matrix还是matrixWorld,位置的数字都是相同的。所以也许这个立场是正确的。在这种情况下,将其转到头上,如何计算从模型的位置到边缘的距离?我认为可以使用最小/最大边界框,但这似乎也不起作用。

1 个答案:

答案 0 :(得分:2)

想通了。就像我想的那样。网格的位置给出原点的位置,即使它是偏移的。使用box.min / max值并从位置添加或减去这些值会得到我需要的值。