我有一个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
,位置的数字都是相同的。所以也许这个立场是正确的。在这种情况下,将其转到头上,如何计算从模型的位置到边缘的距离?我认为可以使用最小/最大边界框,但这似乎也不起作用。
答案 0 :(得分:2)
想通了。就像我想的那样。网格的位置给出原点的位置,即使它是偏移的。使用box.min / max值并从位置添加或减去这些值会得到我需要的值。