Three.js射線Ray
Threejs引擎定義的一個射線類Ray和數學中射線含義類似,就是在三維空間中通過一個起點和沿着某個方向產生一個射線。
// 創建射線對象Ray
var ray = new THREE.Ray()
// 設置射線起點
ray.origin = new THREE.Vector3(1,0,3);
// 設置射線方向
ray.direction = new THREE.Vector3(1,1,1).normalize();
通過射線Ray
的.intersectTriangle()
方法判斷射線和一個三角形區域是否相交,如果相交返回交點座標,不相交返回null。
// 三角形三個點座標
var p1 = new THREE.Vector3(20, 0, 0);
var p2 = new THREE.Vector3(0, 0, 10);
var p3 = new THREE.Vector3(0, 30, 0);
// 相交返回交點,不相交返回null
var result = ray.intersectTriangle(p1,p2,p3)
console.log('查看是否相交', result);
通過射線Ray
的.intersectsBox(Box3)
方法判斷射線和一個包圍盒Box3是否相交,通過射線Ray
的.intersectsSphere(Sphere)
方法判斷射線和一個包圍球Sphere是否相交…