W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
表示三維空間中的一個(gè)軸對(duì)齊包圍盒(axis-aligned bounding box,AABB)。
const box = new THREE.Box3();
const mesh = new THREE.Mesh(
new THREE.SphereGeometry(),
new THREE.MeshBasicMaterial()
);
// ensure the bounding box is computed for its geometry
// this should be done only once (assuming static geometries)
mesh.geometry.computeBoundingBox();
// ...
// in the animation loop, compute the current bounding box with the world matrix
box.copy( mesh.geometry.boundingBox ).applyMatrix4( mesh.matrixWorld );
min - (參數(shù)可選) Vector3 表示包圍盒的下邊界。 默認(rèn)值是( + Infinity, + Infinity, + Infinity )。
max - (參數(shù)可選) Vector3 表示包圍盒的上邊界。 默認(rèn)值是( - Infinity, - Infinity, - Infinity )。
創(chuàng)建一個(gè)以max和min為邊界的包圍盒。
用于檢查給定對(duì)象是否為 Box3 類型的只讀標(biāo)志。
Vector3 表示包圍盒的下邊界。默認(rèn)值是( + Infinity, + Infinity, + Infinity )。
Vector3 包圍盒的(x, y, z)上邊界。默認(rèn)值是 ( - Infinity, - Infinity, - Infinity ).
matrix - 要應(yīng)用的 Matrix4
使用傳入的矩陣變換Box3(包圍盒8個(gè)頂點(diǎn)都會(huì)乘以這個(gè)變換矩陣)。
point - 需要做clamp 的坐標(biāo) Vector3。
target — 結(jié)果將會(huì)被拷貝到這個(gè)對(duì)象中
使這個(gè)點(diǎn)point Clamps(處于范圍內(nèi)) 處于包圍盒邊界范圍內(nèi)。
返回一個(gè)與該包圍盒子有相同下邊界min 和上邊界 max的新包圍盒。
box - 需要檢測(cè)是否在當(dāng)前包圍盒內(nèi)的 Box3。
傳入的 box 整體都被包含在該對(duì)象中則返回true。如果他們兩個(gè)包圍盒是一樣的也返回true。
point - 需要檢測(cè)是否在當(dāng)前包圍盒內(nèi)的 Vector3。
當(dāng)傳入的值 point 在包圍盒內(nèi)部或者邊界都會(huì)返回true。
box - 需要復(fù)制的包圍盒 Box3 。
將傳入的值 box 中的 min 和 max 拷貝到當(dāng)前對(duì)象。
point - 用來(lái)測(cè)試距離的點(diǎn) Vector3。
返回這個(gè)box的任何邊緣到指定點(diǎn)的距離。如果這個(gè)點(diǎn)位于這個(gè)盒子里,距離將是0。
box - 將box與當(dāng)前對(duì)象做比較。
返回true如果傳入的值與當(dāng)前的對(duì)象 box 有相同的上下邊界。
object - 包裹在包圍盒中的3d對(duì)象 Object3D。
擴(kuò)展此包圍盒的邊界,使得對(duì)象及其子對(duì)象在包圍盒內(nèi),包括對(duì)象和子對(duì)象的世界坐標(biāo)的變換。 該方法可能會(huì)導(dǎo)致一個(gè)比嚴(yán)格需要的更大的框。
point - 需要在包圍盒中的點(diǎn) Vector3。
擴(kuò)展這個(gè)包圍盒的邊界使得該點(diǎn)(point)在包圍盒內(nèi)。
scalar - 擴(kuò)展包圍盒的比例。
按 scalar 的值展開盒子的每個(gè)維度。如果是負(fù)數(shù),盒子的尺寸會(huì)縮小。
vector - 擴(kuò)展包圍盒的數(shù)值 Vector3 。
按 vector 每個(gè)緯度的值展開這個(gè)箱子。 這個(gè)盒子的寬度將由 vector 的x分量在兩個(gè)方向上展開。 這個(gè)盒子的高度將由 vector 兩個(gè)方向上的y分量展開。 這個(gè)盒子的深度將由 vector z分量在兩個(gè)方向上展開。
target — 如果指定了target ,結(jié)果將會(huì)被拷貝到target。
獲取一個(gè)包圍球 Sphere。
target — 如果指定了target ,結(jié)果將會(huì)被拷貝到target。
返回包圍盒的中心點(diǎn) Vector3。
point - Vector3.
target — 如果指定了target ,結(jié)果將會(huì)被拷貝到target。
返回一個(gè)點(diǎn)為這個(gè)盒子的寬度、高度和深度的比例。
target — 如果指定了target ,結(jié)果將會(huì)被拷貝到target。
返回包圍盒的寬度,高度,和深度。
box - 與包圍盒的交集
計(jì)算此包圍盒和 box 的交集,將此框的上界設(shè)置為兩個(gè)框的max的較小部分, 將此包圍盒的下界設(shè)置為兩個(gè)包圍盒的min的較大部分。如果兩個(gè)包圍盒不相交,則清空此包圍盒。
box - 用來(lái)檢測(cè)是否相交的包圍盒
確定當(dāng)前包圍盒是否與傳入包圍盒box 相交。
plane - 用來(lái)檢測(cè)是否相交的 Plane。
確定當(dāng)前包圍盒是否與平面 plane 相交。
sphere - 用來(lái)檢測(cè)是否相交的球體 Sphere。
確定當(dāng)前包圍盒是否與球體 sphere 相交。
triangle - 用來(lái)檢測(cè)是否相交的三角形 Triangle。
確定當(dāng)前包圍盒是否與三角形 triangle 相交。
如果這個(gè)盒子包含0個(gè)頂點(diǎn),則返回true。
注意,下界和上界相等的方框仍然包含一個(gè)點(diǎn),即兩個(gè)邊界共享的那個(gè)點(diǎn)。
清空包圍盒。
min - Vector3 表示下邊界每個(gè)緯度(x,y,z)的值。
max - Vector3 表示上邊界每個(gè)緯度(x,y,z)的值。
設(shè)置包圍盒上下邊界每個(gè)緯度(x,y,z)的值。
請(qǐng)注意,此方法僅復(fù)制給定對(duì)象的值。
array - 數(shù)組當(dāng)中的所有的點(diǎn)都將被包圍盒包裹。
設(shè)置包圍盒的上下邊界使得數(shù)組 array 中的所有點(diǎn)的點(diǎn)都被包含在內(nèi)。
attribute - 位置的緩沖數(shù)據(jù),包含在返回的包圍盒內(nèi)。
設(shè)置此包圍盒的上邊界和下邊界,以包含 attribute 中的所有位置數(shù)據(jù)。
center, - 包圍盒所要設(shè)置的中心位置。
size - 包圍盒所要設(shè)置的x、y和z尺寸(寬/高/長(zhǎng))。
將當(dāng)前包圍盒的中心點(diǎn)設(shè)置為 center ,并將此包圍盒的寬度,高度和深度設(shè)置為大小指定 size 的值。
object - 用來(lái)計(jì)算包圍盒的3D對(duì)象 Object3D。
計(jì)算和世界軸對(duì)齊的一個(gè)對(duì)象 Object3D (含其子對(duì)象)的包圍盒,計(jì)算對(duì)象和子對(duì)象的世界坐標(biāo)變換。 該方法可能會(huì)導(dǎo)致一個(gè)比嚴(yán)格需要的更大的框。
points - 計(jì)算出的包圍盒將包含數(shù)組中所有的點(diǎn) Vector3s
設(shè)置此包圍盒的上邊界和下邊界,以包含數(shù)組 points 中的所有點(diǎn)。
offset - 偏移方向和距離。
給包圍盒的上下邊界添加偏移量 offset,這樣可以有效的在3D空間中移動(dòng)包圍盒。 偏移量為 offset 大小。
box - 將被用于與該盒子計(jì)算并集的盒子。
在 box 參數(shù)的上邊界和已有box對(duì)象的上邊界之間取較大者,而對(duì)兩者的下邊界取較小者,這樣獲得一個(gè)新的較大的聯(lián)合盒子。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: