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:
ARFaceManager
oluşturun.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.
Denetleyici'de AR Default Face'e erişin.
Prefab oluşturmak için yeni oluşturulan AR Varsayılan Yüz'ü Hierarchy sekmesinden Project Assets penceresine sürükleyin.
Yeni oluşturulan Prefab'ı,
ARFaceManager
'un Face Prefab alanında Yüz Prefab'ı olarak ayarlayın.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:
- Blender'ı açın ve GitHub'dan
canonical_face_mesh.fbx
dosyasını içe aktarın. - Edit > Preferences > Interface adresine gidin.
Display menüsünde Developer Extras'ı seçin.
3D görüntü alanında tıklayarak yüzeyi seçin ve Sekme tuşuna basarak düzenleme moduna girin.
Overlays Görüntü alanının yanındaki açılır menüyü açıp Indices'yi seçin.
Dizin numarasını belirlemek istediğiniz köşeyi vurgulayın. Tüm köşe noktalarını vurgulamak için Select > All simgesini kullanın.