1
我實際上是在three.js上實現一些遮擋剔除,並且我想知道是否有方法從THREE.Box3中檢索這個邊界框內的所有相應的網格物體?
three.js中的邊界框會跟蹤它包含的網格嗎?
謝謝大家。如何檢索三個js中的邊界框的網格?
我實際上是在three.js上實現一些遮擋剔除,並且我想知道是否有方法從THREE.Box3中檢索這個邊界框內的所有相應的網格物體?
three.js中的邊界框會跟蹤它包含的網格嗎?
謝謝大家。如何檢索三個js中的邊界框的網格?
回答您以相反的順序問題:
不,Box3
沒有「環境意識」如果你想保持Box3
包含網格的列表,你需要你的時候,以建立一個列表創建Box3
,並將其保持爲您的場景並Box3
更改。
但是,您可以通過檢查bounding box intersections來獲取所有這些網格。一個主要的警告是,這些框必須轉化爲他們的世界轉換。這可以使交叉點不太準確,因爲邊界框將展開以包含已轉換的零件,同時保持世界對齊。
myMesh.geometry.computeBoundingBox(); // computes a LOCAL bounding box
var tmpBox = new THREE.Box3().copy(myMesh.boundingBox);
tmpBox.applyMatrix4(myMesh.matrixWorld); // converts tmpBox into a WORLD bounding box
console.log("Boxes intersect:", someOtherWorldBox.intersectsBox(tmpBox)); // true/false
謝謝你的幫助先生。 –