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

Kendi uygulamanızda insan yüzlerinin üzerinde öğeler 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 örneklenen Prefabrik. 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ı 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 kafası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.

Ortadaki pozun eksenleri aşağıdaki gibidir:

  • Pozitif X ekseni (X+) sol kulağı işaret ediyor
  • Pozitif Y ekseni (Y+) yüzün dışa doğru yukarısını işaret eder
  • Pozitif Z ekseni (Z+) kafanın merkezini işaret ediyor

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önünü 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'da Unity'nin kullanım örneğine göz atın.

3D yüz örgüsü

Yüz örgüsü, bir insan yüzünü oluşturan 468 noktadan oluşur. Ayrıca merkezdeki pozla göreceli olarak 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 örgülerinde varsayılan malzeme oluşturur.

AR Varsayılan Yüzünü kullanmaya başlamak için şu adımları uygulayın:

  1. ARFaceManager oluşturun.
  2. Hierarchy sekmesinde, yeni bir yüz nesnesi oluşturmak için + > 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. Artık gerekli olmadığı için Hierarchy sekmesinde 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 öğesini kullanın. İlgili köşe normallerine erişmek için face.normals öğesini kullanın.

Yüz ağının köşelerini tek tek 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 GitHub'dan canonical_face_mesh.fbx dosyasını içe aktarın.
  2. Edit > Preferences > Interface adresine gidiş rotasını izle.
  3. Display menüsünde Developer Extras'ı seçin.

  4. 3D görüntü alanında tıklayarak yüzü seçin ve Düzenleme Moduna girmek 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'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.