LCCObject::intersectsRayFromOriginExt
Raycasting basado en cuerpos de colisión con origen y dirección personalizados.
Requisito de versión
SDK v0.5.0+
Compatibilidad de motor
Three.js
API
LCCObject::intersectsRayFromOriginExt(param: IntersectsRayFromOriginExtParam): IntersectsResult | null
Parámetros
| Parámetro | Tipo | Obligatorio | Predeterminado | Descripción |
|---|---|---|---|---|
param.origin | { x: number, y: number, z: number } | Sí | - | Origen del rayo. |
param.direction | { x: number, y: number, z: number } | Sí | - | Dirección del rayo. |
param.maxDistance | number | Sí | - | Distancia de detección, en metros. |
Valor de retorno
Devuelve un objeto con point y normal en caso de éxito; devuelve null en caso de fallo.
| Propiedad | Tipo | Descripción |
|---|---|---|
point | { x: number, y: number, z: number } | Coordenadas del punto de colisión en espacio mundial. |
normal | { x: number, y: number, z: number } | Normal del punto de colisión en espacio mundial. |
Ejemplo de uso
const ret = lccObject.hasCollision();
if (ret) {
const origin = { x: 10, y: 10, z: 10 };
const direction = { x: 1, y: 0, z: 0 };
const maxDistance = 10;
let result = lccObject.intersectsRayFromOriginExt({ origin, direction, maxDistance });
if (result) {
console.log('point: ', result.point.x, result.point.y, result.point.z);
console.log('normal: ', result.normal.x, result.normal.y, result.normal.z);
} else {
// No point detected
}
} else {
// Collision function not supported
}
Notas
- Este método debe llamarse después de que se haya activado el callback de éxito de
LCCRender.load(). - Verifique el soporte de colisiones mediante
hasCollision()antes de usarlo. - El SDK solo carga datos de colisión en las proximidades de la posición de la cámara.
APIs relacionadas
LCCObject::hasCollision()LCCObject::intersectsRayExt()LCCObject::raycastFromOrigin()