在Yuka.js库的BVHNode中,Primitives
是一组几何物体,如三角形或球体,作为场景中的基本元素。BVHNode将这些几何物体分割成子节点,以加速光线追踪与其他基于射线的技术。
向Primitives
中添加一个几何物体。
primitive
:要添加的几何物体。const primitives = new YUKA.Primitives();
const sphere = new YUKA.Sphere( 1 );
primitives.add( sphere );
从Primitives
中删除指定的几何物体。
primitive
:要删除的几何物体。primitives.remove( sphere );
从Primitives
中删除所有几何物体。
primitives.clear();
计算该节点及其子节点包围盒的边界球体。
sphree
:返回计算出的边界球体。const sphere = new YUKA.Sphere();
primitives.getBoundingSphere( sphere );
一个包含所有几何物体的数组。
console.log( primitives.primitives );
const primitives = new YUKA.Primitives();
const sphere = new YUKA.Sphere( 1 );
primitives.add( sphere );
const ray = new YUKA.Ray( new YUKA.Vector3( 0, 0, -2 ), new YUKA.Vector3( 0, 0, 1 ) );
const intersections = [];
primitives.intersectRay( ray, intersections );
if ( intersections.length > 0 ) {
console.log( 'Intersection found!' );
}