[英]How to load json 3d object and put it at origin in threejs
我們如何加載json對象並將其放置在原點。 object.position.x和mesh.position.x都不幫助我反對原點。 我想獲取對象的最大和最小x,y和z值,以便創建對象邊界框。 當我在屏幕上以原點為中心繪制該框時,它將在其中包含整個對象。 如果對象的位置不在原點,那么我現在的操作方式將無法正常工作。
如果未設置mesh.geometry.boundingBox
屬性,請使用mesh.geometry.computeBoundingBox()
方法設置該屬性。 然后(明確編寫此代碼,您可以使用Vector操作完成此操作)
var geometryCenter = new THREE.Vector3();
geometryCenter.x = mesh.geometry.boundingBox.min.x + ( mesh.geometry.boundingBox.max.x - mesh.geometry.boundingBox.min.x ) / 2;
geometryCenter.y = mesh.geometry.boundingBox.min.y + ( mesh.geometry.boundingBox.max.y - mesh.geometry.boundingBox.min.y ) / 2;
geometryCenter.z = mesh.geometry.boundingBox.min.z + ( mesh.geometry.boundingBox.max.z - mesh.geometry.boundingBox.min.z ) / 2;
mesh.position.set( -geometryCenter.x, -geometryCenter.y, -geometryCenter.z );
應該將網格物體放置在原點。
調用mesh.geometry.center(),它將使幾何本身偏移以原點為中心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.