Three.js 三个.js导入对象的不同起始位置
我刚接触Three.js,有个问题。我已导入外部3D对象(.obj扩展名),并将其添加到场景中。我想将新导入的对象设置在(0,0,0)位置,因此我使用:Three.js 三个.js导入对象的不同起始位置,three.js,Three.js,我刚接触Three.js,有个问题。我已导入外部3D对象(.obj扩展名),并将其添加到场景中。我想将新导入的对象设置在(0,0,0)位置,因此我使用: obj.position.set(0, 0, 0); 我希望对象将放置在轴辅助对象的每个轴的0点处。然而,这并没有发生。将对象放置在其自己的位置: 为什么会发生这种情况?如何将对象位置设置为(0,0,0)并使其显示在每个轴的0点处?您可以尝试将导入的对象居中于原点,如下所示: const aabb=new THREE.Box3().setF
obj.position.set(0, 0, 0);
我希望对象将放置在轴辅助对象的每个轴的0点处。然而,这并没有发生。将对象放置在其自己的位置:
为什么会发生这种情况?如何将对象位置设置为(0,0,0)并使其显示在每个轴的0点处?您可以尝试将导入的对象居中于原点,如下所示:
const aabb=new THREE.Box3().setFromObject(obj);
constcenter=aabb.getCenter(新的3.Vector3());
对象位置x+=(对象位置x-中心位置x);
对象位置y+=(对象位置y-中心位置y);
对象位置z+=(对象位置z-中心位置z);
其思想是计算对象的轴对齐边界框,并使用其“中心”属性进行实际居中。您可以尝试将导入的对象居中于原点,如下所示:
const aabb=new THREE.Box3().setFromObject(obj);
constcenter=aabb.getCenter(新的3.Vector3());
对象位置x+=(对象位置x-中心位置x);
对象位置y+=(对象位置y-中心位置y);
对象位置z+=(对象位置z-中心位置z);
其思想是计算对象的轴对齐边界框,并使用其“中心”属性进行实际居中。这将取决于从3d应用程序导出对象时对象的位置。如果将对象放入组i,还取决于放置对象的位置。对象直接添加到场景中。我认为这可能取决于用于创建模型的3d应用程序所设置的条件,但在这种情况下-我如何更改它?这将取决于从3d应用程序导出对象时对象的位置。如果将对象放入组I,还取决于放置对象的位置。对象直接添加到场景中。我认为这可能取决于3d应用程序创建模型的条件,但在这种情况下-我如何更改它?从技术上讲,这不是我想要的解决方案-但它仍然起作用。谢谢从技术上讲,这并不是我一直在寻找的解决方案——但它仍然能起作用。谢谢