Platforma özel kılavuzlar
Android (Kotlin/Java)
Android NDK (C)
Unity (AR Foundation)
AR içeriği, sahneye uyum sağlayacak şekilde doğru yerleştirilmeli ve boyutlandırılmalıdır. Gerçek dünyadaki nesneler gibi, daha uzaktaki sanal nesneler daha küçük görünmelidir. Sahnenizdeki 3 boyutlu bir nesnenin doğru yerleşimini belirlemek için isabet testi (veya Unity için AR Foundation'da ışın dökümü) gerçekleştirebilirsiniz. Doğru yerleştirme, AR içeriğinin uygun (görünür) boyutta oluşturulmasını sağlar.
Vuruş testleri, gerçek dünyadaki 3D geometri ile bir başlangıç ve yön içeren sanal ışın arasındaki kesişimleri bulur. ARCore, dünya uzay koordinatlarında rastgele bir ışınla isabet testi yapmak için bir API içerse de en yaygın olarak cihazın kamerasını kaynak alan ışınlar kullanılır.
Kullanıcının cihaz kamerasından çıkan ve sahnenin 3D geometrisine (ör. zemin, duvar veya nesne) çarpana kadar ileriye doğru uzanan bir ışın olduğunu düşünün. Bu işlem tamamlandığında, eşleşme sonuçlarının veya algılanan sahne geometrisiyle kesişimlerin listesini alırsınız. Liste, cihaza olan mesafeye göre sıralanır ve en yakın kavşak ilk sırada yer alır. Genellikle diğer nesnelerin arkasında kalan nesneleri göremezsiniz. Bu nedenle, ilk sonuç çoğu zaman en önemlisidir.

Bir isabet sonucunun içeriği
Tek bir isabet sonucu, her sonuç için aşağıdaki bilgileri içeren bir liste olarak döndürülür:
- Işın kaynağına uzaklık (metre)
- İsabet sonucunun duruşu (konum ve yön)
- Vurduğunuz 3D geometri, İzlenebilir öğe biçiminde
Ardından, bir sabitleyici kullanarak 3D içeriğinizi gerçekçi bir şekilde yerleştirmek için istediğiniz isabet sonucunu kullanabilirsiniz.
İsabet sonuç türleri
Dört tür isabet sonucu vardır: derinlik, düzlem, özellik noktası ve anında yerleştirme sonuçları. Aşağıdaki tabloda gösterildiği gibi her birinin kendi kullanım alanları ve avantajları/dezavantajları vardır.
| İsabet sonuç türü | Açıklama | Yön | Kullanım alanı |
|---|---|---|---|
| Derinlik | Bir noktanın doğru derinliğini ve yönünü belirlemek için sahnenin tamamındaki derinlik bilgilerini kullanır. | 3D yüzeye dik | Rastgele bir yüzeye (yalnızca zeminlere ve duvarlara değil) sanal bir nesne yerleştirme |
| Uçak | Bir noktanın doğru derinliğini ve yönünü belirlemek için yatay ve/veya dikey yüzeylere çarpar. | 3D yüzeye dik | Düzlemin tam geometrisini kullanarak bir düzleme (zemin veya duvar) nesne yerleştirme. Doğru ölçeğin hemen belirlenmesi gerekiyor. Derinlik için hit-test yedeklemesi |
| Özellik noktası | Bir noktanın doğru konumunu ve yönünü belirlemek için kullanıcının dokunduğu noktadaki görsel özelliklerden yararlanır. | 3D yüzeye dik | Nesneleri rastgele yüzeylere (yalnızca zeminlere ve duvarlara değil) yerleştirme |
| Anında Yerleştirme (Kalıcı Işın Dökümü) | İçerik yerleştirmek için ekran alanını kullanır. Başlangıçta uygulama tarafından sağlanan tahmini derinliği kullanır. Anında çalışır ancak ARCore gerçek sahne geometrisini belirleyebildiğinde poz ve gerçek derinlik değişir. | +Y, yer çekiminin tersi yönde yukarıyı gösterir. | Hızlı yerleştirmenin önemli olduğu ve deneyimin bilinmeyen ilk derinliği ve ölçeği tolere edebileceği durumlarda, düzlemin tam geometrisini kullanarak bir nesneyi düzleme (zemin veya duvar) yerleştirme |
Cihaz uyumluluğu
İsabet testi, tüm ARCore destekli cihazlarda çalışır ancak derinlik isabet testi için derinlik destekli cihazlar gerekir.
AR içeriği yerleştirmek için isabet sonuçlarını kullanma
Bir eşleşme sonucu elde ettiğinizde, sahnenize AR içeriği yerleştirmek için bu sonucun pozunu giriş olarak kullanabilirsiniz.