Hướng dẫn dành cho nhà phát triển về Nền tảng tăng cường cho AR Foundation

Tìm hiểu cách sử dụng Khuôn mặt tăng cường để hiển thị tài sản trên khuôn mặt của con người trong ứng dụng của chính bạn.

Điều kiện tiên quyết

Hãy đảm bảo bạn hiểu rõ các khái niệm cơ bản về Thực tế tăng cường và cách định cấu hình một phiên ARCore trước khi tiếp tục.

Phát hiện khuôn mặt

Khuôn mặt được biểu thị bằng các đối tượng của ARFace do ARFaceManager tạo, cập nhật và xóa. Một lần trên mỗi khung hình, ARFaceManager gọi một sự kiện facesChanged chứa 3 danh sách: khuôn mặt đã được thêm, khuôn mặt đã được cập nhật và khuôn mặt đã bị xoá kể từ khung cuối cùng. Khi phát hiện thấy một khuôn mặt trong cảnh, ARFaceManager sẽ tạo ra một Bản phối âm thanh có thành phần ARFace đi kèm để theo dõi khuôn mặt đó. Bạn có thể rời khỏi Tòa nhà null.

Để thiết lập ARFaceManager, hãy tạo một đối tượng trò chơi mới và thêm ARFaceManager vào đối tượng đó.

Face Prefab là hình ảnh đã được tạo sẵn ở vị trí trung tâm của khuôn mặt. Maximum Face Count đại diện cho số lượng khuôn mặt tối đa có thể theo dõi.

Truy cập vào các khuôn mặt được phát hiện

Truy cập vào các khuôn mặt được phát hiện thông qua thành phần ARFace được đính kèm vào Face Prebb. ARFace cung cấp các đỉnh, chỉ số, chuẩn đỉnh và tọa độ kết cấu.

Các bộ phận của khuôn mặt đã phát hiện

API Augmented Faces cung cấp 3 tư thế chính giữa, 3 tư thế vùng và một lưới mặt 3D.

Tư thế chính giữa

Vị trí trung tâm, đánh dấu phần giữa của đầu người dùng, là điểm bắt đầu của Prepb được tạo bằng ARFaceManager. Dịch vụ này nằm bên trong hộp sọ, phía sau mũi.

Các trục của tư thế trung tâm như sau:

  • Trục X dương (X+) hướng về phía tai trái
  • Trục Y dương (Y+) hướng ra ngoài mặt
  • Trục Z dương (Z+) trỏ vào giữa đầu

Tư thế khu vực

Nằm ở trán trái, trán phải và đầu mũi, các tư thế trong vùng đánh dấu các bộ phận quan trọng trên khuôn mặt người dùng. Khu vực đặt tư thế theo cùng một trục trục với tư thế chính giữa.

Để sử dụng tư thế khu vực, hãy hạ hệ thống phụ của ARFaceManager xuống ARCoreFaceSubsystem và dùng subsystem.GetRegionPoses() để lấy thông tin tư thế cho từng khu vực. Để biết ví dụ về cách thực hiện việc này, hãy xem mẫu sử dụng của Unity trên GitHub.

Mạng lưới khuôn mặt 3D

Mạng lưới khuôn mặt bao gồm 468 điểm tạo nên khuôn mặt người. Giá trị này cũng được xác định tương ứng với tư thế trung tâm.

Để hình ảnh lưới khuôn mặt, hãy đính kèm ARFaceMeshVisualizer vào Face Prefab. ARFaceMeshVisualizer sẽ tạo một Mesh tương ứng với khuôn mặt đã phát hiện, đặt làm khuôn dạng lưới trong MeshFilters và MeshCollider đính kèm. Sử dụng MeshRenderer để đặt Material dùng để kết xuất khuôn mặt.

AR Default Face Prefab hiển thị tài liệu mặc định trên các mạng lưới khuôn mặt được phát hiện.

Hãy làm theo các bước sau để bắt đầu sử dụng Khuôn mặt mặc định thực tế tăng cường:

  1. Thiết lập ARFaceManager.
  2. Trong thẻ Hierarchy, hãy dùng + > XR > AR Default Face để tạo một đối tượng khuôn mặt mới. Đối tượng này là tạm thời và có thể bị xóa sau khi bạn tạo Prefab.

  3. Truy cập vào AR Default Face trong Trình kiểm tra.

  4. Kéo Khuôn mặt mặc định thực tế tăng cường mới tạo từ thẻ Hierarchy vào cửa sổ Project Assets để tạo Prefb.

  5. Đặt Tòa nhà mới là Điều khiển được khuôn mặt trong trường Face Prefab của ARFaceManager.

  6. Trong thẻ Hierarchy, hãy xóa đối tượng khuôn mặt vì đối tượng này không còn cần thiết nữa.

Truy cập vào các đỉnh riêng lẻ của lưới mặt

Sử dụng face.vertices để truy cập vị trí các đỉnh của mạng lưới khuôn mặt. Sử dụng face.normals để truy cập các đỉnh bình thường tương ứng.

Minh họa các đỉnh riêng lẻ của lưới mặt

Bạn có thể sử dụng Máy xay để dễ dàng xem các số chỉ mục tương ứng với các đỉnh của lưới mặt:

  1. Mở Máy xay sinh tố và nhập canonical_face_mesh.fbx từ GitHub.
  2. Chuyển đến Edit > Preferences > Interface.
  3. Trong trình đơn Display, hãy chọn Developer Extras.

  4. Chọn khuôn mặt bằng cách nhấp vào khuôn mặt đó trong khung nhìn 3D và nhấn Tab để vào Chế độ chỉnh sửa.

  5. Mở trình đơn thả xuống bên cạnh khung nhìn Overlays và chọn Indices.

    Chỉ mục mạng lưới khuôn mặt của máy xay

  6. Đánh dấu đỉnh có số chỉ mục mà bạn muốn xác định. Để làm nổi bật tất cả các đỉnh, hãy sử dụng Select > All.