Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Three.js 三个.js导入对象的不同起始位置_Three.js - Fatal编程技术网

Three.js 三个.js导入对象的不同起始位置

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

我刚接触Three.js,有个问题。我已导入外部3D对象(.obj扩展名),并将其添加到场景中。我想将新导入的对象设置在(0,0,0)位置,因此我使用:

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应用程序创建模型的条件,但在这种情况下-我如何更改它?从技术上讲,这不是我想要的解决方案-但它仍然起作用。谢谢从技术上讲,这并不是我一直在寻找的解决方案——但它仍然能起作用。谢谢