AR Foundation için Artırılmış Yüzler geliştirici kılavuzu

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:

  1. Bir ARFaceManager kurun.
  2. 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.

  3. İnceleyici'de AR Default Face öğesine erişin.

  4. 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.

  5. Yeni oluşturulan Prefab'ı, ARFaceManager'teki Face Prefab alanında Yüz Prefab olarak ayarlayın.

  6. 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:

  1. Blender'ı açın ve canonical_face_mesh.fbx dosyasını GitHub'dan içe aktarın.
  2. Edit > Preferences > Interface adresine gidiş rotasını izle.
  3. Display menüsünden Developer Extras'yi seçin.

  4. 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.

  5. Overlays görüntü alanının yanındaki açılır menüyü açıp Indices öğesini seçin.

    Blender yüz ağı dizinleri

  6. Dizin numarasını belirlemek istediğiniz tepe noktasını vurgulayın. Tüm köşeleri vurgulamak için Select > All kullanın.