LCCObject::intersectsRayFromOriginExt
Kollisionskörperbasiertes Raycasting mit benutzerdefiniertem Ursprung und Richtung.
Versionsanforderung
SDK v0.5.0+
Engine-Unterstützung
Three.js
API
LCCObject::intersectsRayFromOriginExt(param: IntersectsRayFromOriginExtParam): IntersectsResult | null
Parameter
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
|---|---|---|---|---|
param.origin | { x: number, y: number, z: number } | Ja | - | Strahlursprung. |
param.direction | { x: number, y: number, z: number } | Ja | - | Strahlrichtung. |
param.maxDistance | number | Ja | - | Erkennungsdistanz, in Metern. |
Rückgabewert
Gibt bei Erfolg ein Objekt mit point und normal zurück; gibt bei Fehler null zurück.
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
point | { x: number, y: number, z: number } | Kollisionspunktkoordinaten im Weltraum. |
normal | { x: number, y: number, z: number } | Normale des Kollisionspunkts im Weltraum. |
Verwendungsbeispiel
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
}
Hinweise
- Diese Methode muss nach dem Auslösen des Erfolgs-Callbacks von
LCCRender.load()aufgerufen werden. - Prüfen Sie vor der Verwendung die Kollisionsunterstützung über
hasCollision(). - Das SDK lädt nur Kollisionsdaten in der Nähe der Kameraposition.
Verwandte APIs
LCCObject::hasCollision()LCCObject::intersectsRayExt()LCCObject::raycastFromOrigin()