Ekran tıklamasına dayalı ışın atma.
Etiketleme, ölçüm, zemin algılama (dijital insanlar) ve benzeri işlemler için kullanılabilir.
Sürüm Gereksinimi
SDK v0.3.0+
Motor Desteği
Three.js / CesiumJS
API
LCCObject::raycast(param: RaycastParam): IPoint3 | null
Parametreler
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
param.evt | MouseEvent / PointerEvent | Evet | - | Fare tıklama olayı, örn. mousedown. |
param.maxDistance | number | Evet | - | Maksimum algılama mesafesi, metre cinsinden. |
param.radius | number | Evet | - | Algılama hassasiyeti; gerçek senaryoya göre metre cinsinden ayarlayın. |
param.opacityThreshold | number | Hayır | 0.5 | Yüksek hassasiyetli algılama için opaklık eşiği, aralık: [0, 1]. Yalnızca usePrecisionRaycast değeri true olduğunda etkilidir. SDK v0.6.3+ |
Dönüş Değeri
IPoint3 | null — Dünya uzayında algılanan noktanın (x, y, z) koordinatları. Nokta algılanmazsa null döndürür.
Kullanım Örneği
Three.js
document.addEventListener('mousedown', (evt) => {
let checkPos = lccObject.raycast({ evt: evt, maxDistance: 100, radius: 0.1 });
if (checkPos) {
console.log(checkPos.x, checkPos.y, checkPos.z);
} else {
// No point detected
}
});
CesiumJS
viewer.scene.canvas.addEventListener('pointerdown', (evt) => {
let checkPos = lccObject.raycast({ evt: evt, maxDistance: 100, radius: 0.1 });
if (checkPos) {
console.log(checkPos.x, checkPos.y, checkPos.z);
} else {
// No point detected
}
});
Notlar
- Bu yöntem,
LCCRender.load()başarı geri çağrısı tetiklendikten sonra çağrılmalıdır. - Cesium'da
documentüzerindekimousedownolayını değil, canvas üzerindekipointerdownolayını dinleyin. - Döndürülen koordinatlar dünya uzayındadır.
İlgili API'ler
LCCObject::raycastFromOrigin()LCCObject::intersectsRayExt()
Bu bölüm XGRIDS'in resmî kullanım kılavuzundan Türkçeye çevrildi; ekran görüntüleri ve arayüz adları özgün haliyle İngilizcedir. İngilizce aslı (yeni sekmede açılır) · Güncelleme:

