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

Kendi uygulamanızda insan yüzlerinin üzerine öğe 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 facesChanged etkinliğini çağırır. Bu etkinlik, üç liste içerir: eklenen yüzler, güncellenen yüzler ve son kareden bu yana 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. Hazır Nesne null olarak bırakılabilir.

ARFaceManager'yi ayarlamak için yeni bir oyun nesnesi oluşturun ve ARFaceManager'i buna ekleyin.

Face Prefab, yüzün orta duruşunda oluşturulan Prefab'dır. Maximum Face Count, izlenebilecek maksimum yüz sayısını temsil eder.

Algılanan yüzlere erişme

Yüz hazır ayarına bağlı ARFace bileşeni aracılığıyla algılanan yüzlere erişin. ARFace, köşe noktaları, dizinler, köşe noktası normalleri ve doku koordinatlarını sağlar.

Algılanan bir yüzün bölümleri

Artırılmış Yüzler API'si bir merkez pozu, üç bölge pozu ve 3D yüz örgüsü sağlar.

Pozu ortala

Kullanıcının başının ortasını işaretleyen merkez pozu, ARFaceManager tarafından oluşturulan Prefab'ın orijin noktasıdır. Kafatası içinde, burnun arkasında bulunur.

Merkez pozunun eksenleri aşağıdaki gibidir:

  • Pozitif X ekseni (X+) sol kulağı gösterir
  • Pozitif Y ekseni (Y+) yüzeyden yukarı doğru işaret eder
  • Pozitif Z ekseni (Z+) başın ortasına doğru işaret eder.

Bölge pozları

Sol alın, sağ alın ve burun ucunda bulunan bölge pozları, kullanıcının yüzünün önemli kısımlarını işaret eder. Bölge pozları, merkez pozuyla aynı eksen yönelimini izler.

Bölge pozlarını kullanmak için ARFaceManager alt sistemini ARCoreFaceSubsystem olarak aşağı yayınlayın ve her bölgenin poz bilgilerini almak için subsystem.GetRegionPoses()'ı kullanın. Bunun nasıl yapılacağına dair bir örnek için GitHub'daki Unity kullanım örneğine bakın.

3D yüz örgüsü

Yüz örgüsü, bir insan yüzünü oluşturan 468 noktadan oluşur. Ayrıca merkez pozuna göre de tanımlanır.

Yüz örgüsünü görselleştirmek için Face Prefab öğesine bir ARFaceMeshVisualizer ekleyin. ARFaceMeshVisualizer, algılanan yüze karşılık gelen bir Mesh oluşturur ve bu Mesh'i ekli MeshFilter ve MeshCollider'lerde ızgara olarak ayarlar. Yüzü oluşturmak için kullanılan Material öğesini ayarlamak üzere MeshRenderer kullanın.

AR Default Face Prefab, algılanan yüz ağlarında varsayılan bir malzeme oluşturur.

AR Varsayılan Yüz'ü kullanmaya başlamak için aşağıdaki adımları uygulayın:

  1. ARFaceManager oluşturun.
  2. Yeni bir yüz nesnesi oluşturmak için Hierarchy sekmesinde + > XR > AR Default Face'ı kullanın. Bu nesne geçicidir ve yüz hazır nesnesi oluşturduktan sonra silinebilir.

  3. Denetleyici'de AR Default Face'e erişin.

  4. Prefab oluşturmak için yeni oluşturulan AR Varsayılan Yüz'ü Hierarchy sekmesinden Project Assets penceresine sürükleyin.

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

  6. Hierarchy sekmesinde, artık gerekli olmadığı için yüz nesnesini silin.

Kadran örgüsünün ayrı ayrı köşe noktalarına erişme

Yüz örgüsünün köşe noktalarının 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 örgüsünün ayrı köşelerini görselleştirme

Bir yüz örgüsünün köşe noktalarına karşılık gelen dizin numaralarını kolayca görüntülemek için Blender'ı kullanabilirsiniz:

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

  4. 3D görüntü alanında tıklayarak yüzeyi seçin ve Sekme tuşuna basarak düzenleme moduna girin.

  5. Overlays Görüntü alanının yanındaki açılır menüyü açıp Indices'yi seçin.

    Blender yüz örgüsü dizinleri

  6. Dizin numarasını belirlemek istediğiniz köşeyi vurgulayın. Tüm köşe noktalarını vurgulamak için Select > All simgesini kullanın.