Kendi uygulamanızda öğeleri insan yüzlerinin üzerinde oluşturmak için Artırılmış Yüzler'i nasıl kullanacağınızı öğrenin.
Ön koşullar
Devam etmeden önce temel AR kavramlarını ve ARCore oturumunu nasıl yapılandıracağınızı anladığınızdan emin olun.
Yüzleri algılama
Yüzler, ARFaceManager
tarafından oluşturulan, güncellenen ve kaldırılan ARFace
nesneleriyle temsil edilir. ARFaceManager
her karede bir kez üç liste içeren bir facesChanged
etkinliği çağırır: Eklenen yüzler, güncellenen yüzler ve son kareden sonra kaldırılan yüzler. ARFaceManager
sahnede bir yüz algıladığında yüzü izlemek için ARFace
bileşeni eklenmiş bir Prefab oluşturur. Prefab, null
kalabilir.
ARFaceManager
'i kurmak için yeni bir oyun nesnesi oluşturun ve ARFaceManager
öğesini bu nesneye ekleyin.
Face Prefab, yüzün ortadaki pozunda somutlaşan Prefab biçimidir. Maximum Face Count, izlenebilecek maksimum yüz sayısını temsil eder.
Algılanan yüzlere eriş
Algılanan yüzlere, Yüz Prefab'ine ekli ARFace
bileşeninden erişebilirsiniz. ARFace
köşe noktaları, dizinler, köşe normalleri ve doku koordinatları sağlar.
Algılanan yüzün bölümleri
Artırılmış Yüzler API'si bir orta poz, üç bölge pozu ve bir 3D yüz ağı sağlar.
Ortadaki poz
Kullanıcının başının ortasını işaret eden orta poz, ARFaceManager
ile örneklenen Prefab'in başlangıç noktasıdır. Kafatasının içinde, burnun arkasında bulunur.
Orta pozun eksenleri aşağıdaki gibidir:
- Pozitif X ekseni (X+) sol kulağa doğru bakıyor
- Pozitif Y ekseni (Y+) yüzün dışında yukarıyı işaret eder
- Pozitif Z ekseni (Z+) başın merkezini gösterir
Bölge pozları
Sol alın, sağ al ve burnun ucunda bulunan bölge, kullanıcının yüzünün önemli bölümlerini işaret eder. Bölge pozları, orta pozla aynı eksen yönünü izler.
Bölge duruşlarını kullanmak için ARFaceManager
'in alt sistemini ARCoreFaceSubsystem
'e indirin ve subsystem.GetRegionPoses()
kullanarak her bölgeyle ilgili poz bilgilerini alın. Bunun nasıl yapılacağına dair bir örnek için Unity'nin GitHub'daki kullanım örneğini inceleyin.
3D yüz bağlantılı
Yüz ağı, insan yüzünü oluşturan 468 noktadan oluşur. Ayrıca, orta poza göre tanımlanır.
Yüz ağını görselleştirmek için Face Prefab öğesine bir ARFaceMeshVisualizer
ekleyin. ARFaceMeshVisualizer
, algılanan yüze karşılık gelen bir Mesh
oluşturup ekteki MeshFilter
ve MeshCollider
bölümünde örgü olarak ayarlar. Yüzü oluşturmak için kullanılan Material
simgesini ayarlamak üzere bir MeshRenderer
kullanın.
AR Default Face Prefab, algılanan yüz ağlarında varsayılan bir malzeme oluşturur.
AR'nin Varsayılan Yüzünü kullanmaya başlamak için şu adımları uygulayın:
- Bir
ARFaceManager
kurun. Hierarchy sekmesinde, yeni bir yüz nesnesi oluşturmak için + > XR > AR Default Face seçeneklerini kullanın. Bu nesne geçicidir ve Yüz Prefab'i oluşturduğunuzda silinebilir.
İnceleyici'de AR Default Face öğesine erişin.
Prefab oluşturmak için, yeni oluşturulan artırılmış gerçeklik (AR) varsayılan yüzünü Hierarchy sekmesinden Project Assets penceresine sürükleyin.
Yeni oluşturulan Prefab'ı,
ARFaceManager
'teki Face Prefab alanında Yüz Prefab olarak ayarlayın.Artık gerekli olmadığı için Hierarchy sekmesinde yüz nesnesini silin.
Yüz ağının ayrı köşelerine erişme
Yüz ağının köşelerinin konumlarına erişmek için face.vertices
simgesini kullanın. İlgili köşe normallerine erişmek için face.normals
öğesini kullanın.
Yüz ağının köşelerini ayrı ayrı görselleştirin
Bir yüz ağının köşelerine karşılık gelen dizin numaralarını kolayca görüntülemek için Blender'ı kullanabilirsiniz:
- Blender'ı açın ve
canonical_face_mesh.fbx
dosyasını GitHub'dan içe aktarın. - Edit > Preferences > Interface adresine gidiş rotasını izle.
Display menüsünden Developer Extras'yi seçin.
Yüzü, 3D görüntü alanında tıklayarak seçin ve Düzenleme Modu'na geçmek için Sekme tuşuna basın.
Overlays görüntü alanının yanındaki açılır menüyü açıp Indices öğesini seçin.
Dizin numarasını belirlemek istediğiniz tepe noktasını vurgulayın. Tüm köşeleri vurgulamak için Select > All kullanın.