Özel Başlangıç Noktası ve Yön ile Işın Atma
Dünya uzayında LCC model verilerine karşı ışın atma için özel başlangıç noktası ve yön desteklenir.
Sürüm Gereksinimi
SDK v0.3.0+
Motor Desteği
Three.js / CesiumJS
API
LCCObject::raycastFromOrigin(param: RaycastFromOriginParam): IPoint3 | null
Parametreler
| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
|---|---|---|---|---|
param.origin | { x: number, y: number, z: number } | Evet | - | Dünya uzayı koordinatlarında ışın başlangıç noktası. |
param.direction | { x: number, y: number, z: number } | Evet | - | Işın yönü; normalize edilmiş veya edilmemiş olabilir. |
param.maxDistance | number | Evet | - | Algılama mesafesi, metre cinsinden. |
param.radius | number | Evet | - | Algılama hassasiyeti, metre cinsinden. |
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
const origin = { x: 10, y: 10, z: 10 };
const startPos = { x: 10, y: 10, z: 10 };
const endPos = { x: 50, y: 50, z: 50 };
const direction = {
x: endPos.x - startPos.x,
y: endPos.y - startPos.y,
z: endPos.z - startPos.z
};
const maxDistance = 100;
const radius = 0.01;
let checkPos = lccObject.raycastFromOrigin({ origin, direction, maxDistance, radius });
if (checkPos) {
console.log('checkPos: ', 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. directionnormalize edilmiş veya edilmemiş bir vektör olabilir.- Daha küçük bir
radiusdeğeri algılama hassasiyetini artırır ancak isabet oranını düşürür. Yüksek hassasiyetli ölçümler için 0.1 önerilir; veri algılanmazsa değeri daha da artırın.
İlgili API'ler
LCCObject::raycast()LCCObject::intersectsRayFromOriginExt()
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:

