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
Temel artırılmış gerçeklik kavramlarını anladığınızdan emin olun ve devam etmeden önce ARCore oturumunun nasıl yapılandırılacağı hakkında daha fazla bilgi edinin.
Yüzleri algılama
Yüzler, ARFaceManager
simgesiyle oluşturulan, güncellenen ve kaldırılan ARFace
nesnelerle temsil edilir. ARFaceManager
her kare için bir kez üç liste içeren bir facesChanged
etkinliği çağırır: Eklenen yüzler, güncellenen yüzler ve son kareden bu yana kaldırılmış olan yüzler. ARFaceManager
sahnede bir yüz algıladığında yüzü takip etmek için ARFace
bileşeninin eklendiği bir Prefabrik oluşturur. Prefabrik, null
içinde bırakılabilir.
ARFaceManager
kurulumu için yeni bir oyun nesnesi oluşturun ve ARFaceManager
öğesini ekleyin.
Face Prefab, yüzün orta duruşunda örneklenen Prefabriktir. Maximum Face Count, izlenebilecek maksimum yüz sayısını temsil eder.
Algılanan yüzlere eriş
Algılanan yüzlere, Yüz Prefabrik olarak bağlı ARFace
bileşeni üzerinden erişin. ARFace
köşeler, dizinler, köşe normalleri ve doku koordinatları sağlar.
Algılanan yüzün bölümleri
Augmented Faces API, merkezde duruş, üç bölge duruşu ve 3D yüz örgüsü sağlar.
Orta poz
Kullanıcının başının merkezini gösteren orta poz, ARFaceManager
tarafından örneklenen Prefab'in başlangıç noktasıdır. Kafatasının içinde, burnun arkasında bulunur.
Ortadaki pozun eksenleri şöyledir:
- 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ında, sağ alnında ve burun ucunda bulunan bölge, 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 duruşlarını kullanmak için ARFaceManager
alt sistemini ARCoreFaceSubsystem
sürümüne düşürün ve her bölgeyle ilgili 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ü, insan yüzünü oluşturan 468 noktadan oluşur. Ayrıca merkezdeki pozla göreceli olarak 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şturur. Bu Mesh
, ekli MeshFilter
ve MeshCollider
öğelerindeki örgü olarak ayarlanır. Yüzü oluşturmak için kullanılan Material
işaretini ayarlamak için 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:
ARFaceManager
kurun.Hierarchy sekmesinde + > öğesini kullanın XR Yeni bir yüz nesnesi oluşturmak için AR Default Face tuşuna basın. Bu nesne geçicidir ve Face Prefab'i oluşturduktan sonra silinebilir.
Denetleyicide AR Default Face öğesine erişin.
Önceden kurulum oluşturmak için yeni oluşturulan AR varsayılan yüzünü Hierarchy sekmesinden Project Assets penceresine sürükleyin.
Yeni oluşturulan Prefab'i,
ARFaceManager
Face Prefab alanında yüz Prefabrik olarak ayarlayın.Artık gerekli olmadığı için Hierarchy sekmesinde yüz nesnesini silin.
Yüz ağının köşelerine ayrı ayrı erişim
Yüz ağının köşelerinin konumlarına erişmek için face.vertices
simgesini kullanın. İlgili köşe noktası normallerine erişmek için face.normals
değerini kullanın.
Yüz ağının ayrı köşelerini 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 GitHub'dan
canonical_face_mesh.fbx
dosyasını içe aktarın. - Edit > Preferences > Interface adresine gidiş rotasını izle.
Display menüsünden Developer Extras öğesini seçin.
3D görüntü alanında tıklayarak yüzü seçin ve Düzenleme Moduna girmek için Sekme tuşuna basın.
Overlays görüntü alanının yanındaki açılır menüyü açın ve 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.