three.js Frustum

2023-02-16 17:46 更新

Frustums 用于確定相機視野內(nèi)的東西。 它有助于加速渲染過程——位于攝像機視錐體外的物體可以安全地排除在渲染之外。

該類主要用于渲染器內(nèi)部計算 camera 或 shadowCamera的視錐體。

構(gòu)造器(Constructor)

Frustum(p0 : Plane, p1 : Plane, p2 : Plane, p3 : Plane, p4 : Plane, p5 : Plane)

p0 - (可選參數(shù)) Plane.
p1 - (可選參數(shù)) Plane.
p2 - (可選參數(shù)) Plane.
p3 - (可選參數(shù)) Plane.
p4 - (可選參數(shù)) Plane.
p5 - (可選參數(shù)) Plane.

使用6個面來構(gòu)建一個視錐體。

屬性(Properties)

.planes : Array

包含6個平面 planes 的數(shù)組。

方法(Methods)

.clone () : Frustum

返回一個與當(dāng)前對象有相同參數(shù)的視錐體。

.containsPoint ( point : Vector3 ) : Boolean

point - Vector3 被檢測的點。

檢測該點 point 是否在視錐體內(nèi)。

.copy ( frustum : Frustum ) : this

frustum - 用于拷貝的視錐體。

將傳入 frustum 的屬性拷貝到當(dāng)前對象。

.intersectsBox ( box : Box3 ) : Boolean

box - Box3 用于檢測是否要交的包圍盒。

返回 true 如果該 box 與視錐體相交。

.intersectsObject ( object : Object3D ) : Boolean

檢測 object 的包圍球 bounding sphere 是否與視錐體相交。

注意:該對象必須有一個 BufferGeometry ,因為這樣才能計算出包圍球。

.intersectsSphere ( sphere : Sphere ) : Boolean

sphere - Sphere 用于檢查是否相交。

返回true 如果球sphere與視錐體相交。

.intersectsSprite ( sprite : Sprite ) : Boolean

檢查精靈sprite是否與截錐體相交。

.set ( p0 : Plane, p1 : Plane, p2 : Plane, p3 : Plane, p4 : Plane, p5 : Plane ) : this

從傳入的平面設(shè)置當(dāng)前視錐體。沒有隱式的順序。

請注意,此方法僅復(fù)制給定對象的值。

.setFromProjectionMatrix ( matrix : Matrix4 ) : this

matrix - 投影矩陣 Matrix4 會被用來設(shè)置該視椎體的 planes

根據(jù)投影矩陣 matrix 來設(shè)置當(dāng)前視椎體的六個面。

源碼

src/math/Frustum.js


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號