Chuyển tới nội dung chính

Cấu hình theo Nền tảng

Hướng dẫn này bao gồm các yêu cầu thiết lập và cấu hình theo nền tảng cụ thể cho plugin Runtime MetaHuman Lip Sync.

Cấu hình Android / Meta Quest

Nếu bạn đang nhắm mục tiêu đến nền tảng Android hoặc Meta Quest và gặp lỗi build với plugin này, bạn sẽ cần vô hiệu hóa kiến trúc Android x86_64 (x64) trong cài đặt dự án của mình:

  1. Vào Edit > Project Settings
  2. Điều hướng đến Platforms > Android
  3. Trong phần Platforms - Android, mục Build, tìm Support x86_64 [aka x64] và đảm bảo nó đã bị vô hiệu hóa, như hình bên dưới

Vô hiệu hóa Kiến trúc Android x64

Điều này là do plugin hiện chỉ hỗ trợ các kiến trúc arm64-v8a và armeabi-v7a cho các nền tảng Android / Meta Quest.

Sự cố Treo trên Android và iOS

Trong một số trường hợp trên Android và iOS, sự cố treo có thể xảy ra trong thời gian chạy (ví dụ như trong quá trình kiểm thử TestFlight). Nguyên nhân là do các yêu cầu cấp phát bộ nhớ của thư viện ONNX Runtime bên dưới xung đột với các bộ cấp phát mặc định của Unreal Engine trên các nền tảng này.

Để giải quyết vấn đề này, bạn cần buộc sử dụng bộ cấp phát ANSI trong tệp Target.cs của dự án:

Đối với Unreal Engine 5.5 trở về trước:

  • Dự án của bạn phải sử dụng engine được build từ mã nguồn (không phải bản binary đã được biên dịch sẵn)
  • Thêm dòng sau vào tệp Target.cs của bạn:
GlobalDefinitions.Add("FORCE_ANSI_ALLOCATOR=1");

Dành cho Unreal Engine 5.6 trở lên:

  • Hoạt động với cả bản dựng từ mã nguồn và bản dựng đã biên dịch sẵn
  • Thêm hai dòng sau vào tệp Target.cs của bạn:
bOverrideBuildEnvironment = true;
StaticAllocator = StaticAllocatorType.Ansi;

Điều này buộc Unreal Engine sử dụng bộ cấp phát ANSI trên Android và iOS, khớp với bộ cấp phát được ONNX Runtime sử dụng.

Cấu hình Mac / Linux (UE 5.6+)

Xung đột Plugin NNERuntimeORT

Nếu bạn đang sử dụng Unreal Engine 5.6 trở lên trên các nền tảng Mac hoặc Linux và dự định sử dụng Các Mô hình Lip Sync Thực tế, bạn sẽ gặp phải xung đột plugin khiến các mô hình thực tế không hoạt động chính xác.

Vấn đề

Bắt đầu từ UE 5.6, engine bao gồm plugin NNERuntimeORT, plugin này xung đột với các mô hình thực tế của plugin Runtime MetaHuman Lip Sync trên các nền tảng Mac và Linux. Xung đột này ngăn chức năng lip sync thực tế khởi tạo đúng cách.

Giải pháp

Để giải quyết xung đột này, bạn cần sửa đổi tệp cấu hình plugin:

  1. Điều hướng đến thư mục cài đặt Unreal Engine của bạn
  2. Vào Engine/Plugins/Marketplace/
  3. Tìm thư mục plugin RuntimeMetaHumanLipSync
  4. Mở tệp RuntimeMetaHumanLipSync.uplugin trong một trình soạn thảo văn bản
  5. Xóa hoàn toàn phần sau:
,
"Plugins": [
{
"Name": "NNERuntimeORT",
"Enabled": true
}
]

Ghi chú quan trọng

  • Sửa đổi này chỉ ảnh hưởng đến các nền tảng Mac và Linux. Người dùng Windows không cần thực hiện thay đổi này.
  • Bản sửa lỗi này chỉ cần thiết cho UE 5.6 trở lên. Các phiên bản engine cũ hơn không bị ảnh hưởng.
  • Bạn có thể cần lặp lại quy trình này nếu bạn cập nhật plugin, vì các bản cập nhật sẽ khôi phục tệp cấu hình gốc.