Choosing the right runtime asset loading technology for RT3D projects

Apr 25, 2025
Factory floor model in Unity Asset Manager using 3D data streaming

Trang web này đã được dịch bằng máy để thuận tiện cho bạn. Chúng tôi không thể đảm bảo tính chính xác hoặc độ tin cậy của nội dung được dịch. Nếu bạn có thắc mắc về tính chính xác của nội dung được dịch, vui lòng tham khảo phiên bản tiếng Anh chính thức của trang web.

Các dự án 3D thời gian thực (RT3D) ngày càng trở nên phức tạp, đòi hỏi những phương pháp thông minh hơn trong việc quản lý tài nguyên và tải dữ liệu trong quá trình thực thi. Các nhà phát triển liên tục nỗ lực vượt qua giới hạn của những điều có thể, và khi các dự án này ngày càng phức tạp và quy mô lớn hơn, việc đảm bảo hiệu suất mượt mà và trải nghiệm người dùng vượt trội trở nên quan trọng hơn bao giờ hết. Mặc dù Unity Asset Manager cung cấp một giải pháp toàn diện để tổ chức, quản lý và tối ưu hóa tài sản của bạn, các nhà phát triển vẫn phải đối mặt với thách thức trong việc lựa chọn công nghệ phù hợp để tải tài sản vào môi trường chạy.

Cho dù bạn đang truyền phát nội dung từ mạng phân phối nội dung (CDN), tải động các tài nguyên cục bộ hay quản lý bộ nhớ thông qua các chu kỳ tải/dỡ tải, việc lựa chọn công nghệ tải tài nguyên phù hợp là điều cần thiết cho sự thành công của dự án.

Unity cung cấp nhiều phương pháp tải tài nguyên trong thời gian chạy, mỗi phương pháp được điều chỉnh phù hợp với nhu cầu và mục tiêu dự án cụ thể. Cuốn sách điện tử này nhằm mục đích hướng dẫn các nhà phát triển tìm hiểu các lựa chọn hiện có, so sánh điểm mạnh của chúng và giúp bạn chọn giải pháp lý tưởng cho dự án của mình.

Hiểu về việc tải tài sản trong thời gian chạy

Việc tải tài nguyên trong quá trình chạy đề cập đến cách ứng dụng của bạn tải và giải phóng nội dung trong khi đang hoạt động. Điều này có thể có nghĩa là:

  • Tải xuống nội dung mới từ CDN
  • Tải tài nguyên cục bộ theo yêu cầu
  • Quản lý bộ nhớ bằng cách giải phóng nội dung không sử dụng.
  • Truyền tải đa giác một cách dần dần

Hãy cùng khám phá các công nghệ tải tài nguyên khác nhau và một số ví dụ về các dự án RT3D Industry phù hợp nhất với từng công nghệ.

Hiểu rõ các lựa chọn của bạn

Unity cung cấp nhiều phương pháp để xử lý các tình huống này, mỗi phương pháp được tối ưu hóa cho các trường hợp sử dụng khác nhau.

  1. AssetBundles/ Addressables
    1. Được xây dựng dành riêng cho các dự án Unity .
    2. Hỗ trợ tất cả các loại tài nguyên Unity.
    3. Thường là lựa chọn tốt nhất cho các ứng dụng Unity.
      1. trong đó quản lý bộ nhớ hiệu quả là ưu tiên hàng đầu,
      2. trong đó các gói DLC sẽ được phân phối qua mạng không dây.
      3. và dành cho các trò chơi và ứng dụng dịch vụ trực tuyến có cập nhật nội dung thường xuyên (sự kiện theo mùa, nhân vật mới, cập nhật sản phẩm)
  2. glTF
    1. Giải pháp không phụ thuộc nền tảng, không cần can thiệp vào quy trình Unity.
    2. Tập trung vào nội dung 3D thuần túy
    3. Nói chung, giải pháp này là tốt nhất cho tất cả các ứng dụng thời gian chạy yêu cầu tải dữ liệu 3D gốc linh hoạt và cần khả năng tương thích đa nền tảng.
  3. 3DDS (Unity 3D Data Streaming)
    1. Giải pháp không phụ thuộc nền tảng, cho phép trực quan hóa các mô hình 3D , chẳng hạn như dữ liệu CAD và BIM.
    2. Tạo và hiển thị chỉ với một cú nhấp chuột trong Unity Asset Manager
      1. Chỉ tải nội dung phù hợp với chất lượng tốt nhất.
    3. Nhìn chung, giải pháp tốt nhất là hiển thị trực quan quy mô lớn, cho phép người dùng khám phá các mô hình rất phức tạp và chi tiết trên mọi thiết bị với khả năng tải từng bước.

Thoạt nhìn, những công cụ này có vẻ như có thể thay thế cho nhau. Tuy nhiên, mỗi loại đều có ưu điểm riêng trong những tình huống độc đáo, khiến chúng phù hợp hơn với những trường hợp sử dụng cụ thể. Việc lựa chọn công nghệ phù hợp phụ thuộc vào việc kết hợp thế mạnh của công cụ đó với nhu cầu của dự án.

Đưa ra lựa chọn đúng đắn

Chìa khóa để lựa chọn công nghệ phù hợp nằm ở việc hiểu rõ các yêu cầu cụ thể của dự án. Hãy cùng tìm hiểu những yếu tố cần ảnh hưởng đến quyết định của bạn.

Với AssetBundles, bạn có thể xây dựng một ứng dụng chỉ với một khung cảnh gần như trống rỗng, và tải phần còn lại của trò chơi một cách động từ đó.

Với AssetBundles, bạn có thể xây dựng một ứng dụng với một khung cảnh gần như trống rỗng, và tải phần còn lại của trò chơi hoặc ứng dụng một cách động từ đó.

AssetBundles và Addressables

Gói Addressables là một hệ thống gốc của Unity được thiết kế để:

  • Tối ưu hóa quá trình tải tài nguyên trong thời gian chạy.
  • Cho phép theo dõi phụ thuộc, quản lý phiên bản nội dung, nhiều đường dẫn tải (cục bộ/từ xa), phân phối qua mạng và bộ nhớ đệm.

AssetBundles là công nghệ nền tảng xử lý việc đóng gói và tải tài nguyên ở cấp độ thấp hơn; Addressables là một hệ thống cấp cao được xây dựng trên nền tảng AssetBundles, cung cấp giao diện thân thiện hơn với người dùng, quản lý phụ thuộc tự động và đơn giản hóa quá trình tải trong thời gian chạy. AssetBundles nổi trội trong việc quản lý nội dung trò chơi phức tạp. Nó cũng được tối ưu hóa cho mục tiêu xây dựng, phiên bản Unity và nền tảng cụ thể. Chúng rất lý tưởng khi bạn cần:

  • Hỗ trợ nhiều loại tài nguyên khác nhau vì chúng hoạt động với bất kỳ loại tài nguyên, bao gồm kết cấu, âm thanh, cảnh, mô hình dựng sẵn, v.v.
  • Quản lý phụ thuộc khi Unity giải quyết các phụ thuộc giữa các tài sản.
  • Kiểm soát phiên bản
    • Với Addressables , bạn sẽ có một danh mục theo dõi các phiên bản tài nguyên và các phụ thuộc của chúng, vì vậy khi bạn cập nhật nội dung, hệ thống có thể xác định chính xác những gói nào cần được tải xuống lại.
    • Điều này đặc biệt hữu ích cho các trò chơi trực tuyến, nơi bạn muốn cập nhật nội dung (ví dụ: gói theo mùa hoặc sự kiện trực tiếp) mà không cần buộc người chơi phải tải lại toàn bộ trò chơi.
  • Được tối ưu hóa cho Unity, dành riêng cho từng nền tảng.

Trường hợp sử dụng lý tưởng:

Một trò chơi Unity cần quản lý bộ nhớ hiệu quả và thời gian tải nhanh, với nhiều loại tài nguyên khác nhau và/hoặc cập nhật nội dung thường xuyên. Các tài nguyên được tối ưu hóa không cần phải được chia sẻ giữa các môi trường chạy khác nhau.

Lý do nó hiệu quả: Bạn có thể tải nội dung theo yêu cầu thông qua "địa chỉ" của tài sản hoặc thông qua AssetReference, và hệ thống Addressables sẽ tự động xử lý phần còn lại cho bạn, cho dù nội dung đó đã được lưu vào bộ nhớ cache trên thiết bị hay vẫn đang được lưu trữ từ xa trên CDN của bạn. Môi trường chạy ứng dụng có thể tải xuống các gói nội dung mới mà không cần cập nhật toàn bộ ứng dụng. Người dùng cuối nhận được nội dung theo mùa mới trong khi vẫn duy trì hiệu năng và quản lý bộ nhớ hiệu quả.

Gói Unity glTFast (com.unity.cloud.gltfast) hỗ trợ nhập và xuất các tệp 3D glTF™, cả trong thời gian chạy và trong Trình chỉnh sửa.

Gói Unity glTFast (com.unity.cloud.gltfast) hỗ trợ nhập và xuất các tệp 3D glTF™, cả trong thời gian chạy và trong Trình chỉnh sửa.

đang tải glTF

glTF và .GLB về cơ bản là cùng một định dạng nhưng được đóng gói khác nhau - glTF là định dạng dựa trên văn bản với các tệp riêng biệt (kết cấu, dữ liệu nhị phân, v.v.), rất phù hợp cho việc phát triển và gỡ lỗi, trong khi GLB đóng gói mọi thứ vào một tệp nhị phân duy nhất, giúp việc phân phối và tải trong thời gian chạy hiệu quả hơn.

glTF cung cấp giải pháp tối ưu hóa việc tải mô hình 3D bằng cách sử dụng gói glTFast miễn phí của Unity. Hãy cân nhắc lựa chọn này khi bạn cần:

  • Tải mô hình 3D đơn giản
    • Với GLB, các phần phụ thuộc phải được tích hợp vào tệp khi xuất hoặc được giải quyết thủ công.
  • Khả năng tương thích đa nền tảng
  • triển khai nhanh chóng
  • Hỗ trợ định dạng chuẩn không phụ thuộc vào phiên bản Unity hay nền tảng.

Trường hợp sử dụng lý tưởng:

Một ứng dụng xem mô hình đơn giản, ưu tiên tốc độ tải nhanh và hỗ trợ các định dạng chuẩn. Nếu bạn cần tái sử dụng một tài nguyên trong nhiều dự án RT3D khác nhau mà không cần phải biên dịch lại, GLB là lựa chọn phù hợp. Một ví dụ cụ thể là ứng dụng thương mại điện tử, nơi một người xem duy nhất có thể xem hàng nghìn sản phẩm.

Một ví dụ khác là các dự án mà nội dung có thể được người dùng tùy chỉnh, chẳng hạn như hình đại diện tùy chỉnh hoặc phụ kiện tùy chỉnh, và yêu cầu một định dạng chuẩn có thể được tạo ra một cách linh hoạt.

Lý do nó hiệu quả: GLB là định dạng 3D hàng đầu của web. Dữ liệu GLB có sẵn tại nhiều điểm tiếp xúc.

 Mô hình mặt bằng nhà máy trong Unity Asset Manager được truyền tải bằng 3DDS.

Sử dụng tính năng truyền dữ liệu 3D Unity để tải xuống động chỉ những phần cần thiết của mô hình và hiển thị chúng trên mọi thiết bị, bất kể kích thước mô hình.

3DDS (Truyền dữ liệu 3D Unity )

Unity 3D Data Streaming là một dịch vụ truyền phát đa giác cho phép các nhà phát triển truyền phát trực tiếp các tài sản và môi trường 3D tĩnh đến thiết bị của người dùng. Dữ liệu được xử lý sơ bộ trong Unity Asset Manager bằng công nghệ Pixyz để tự động tối ưu hóa việc phân phối dữ liệu đến ứng dụng đang chạy. Việc tải trong quá trình thực thi cũng được xử lý bởi công nghệ gltFast của Unity.

Trong ứng dụng khách của bạn, gói Truyền dữ liệu 3D cho phép tải mô hình bằng cách thực hiện các tối ưu hóa có sẵn, giảm dung lượng bộ nhớ mà mô hình chiếm dụng ở các vị trí xa camera hơn trong khi vẫn đảm bảo đầy đủ chi tiết ở cự ly gần.

3DDS thể hiện ưu điểm vượt trội khi xử lý các mô hình quy mô lớn và hình ảnh trực quan phức tạp, đồng thời bảo toàn tất cả siêu dữ liệu của các bộ phận trong mô hình. Đây là sự lựa chọn hàng đầu cho:

  • Mô hình CAD và BIM lớn
  • Pixel đầu tiên tức thì
  • Yêu cầu tải trọng tăng dần
  • Nguồn tài nguyên duy nhất / Nền tảng nhắm mục tiêu đa dạng
  • Tối ưu hóa bộ nhớ khi tải dữ liệu cho từng thiết bị mục tiêu.
  • Điều hướng và nghiên cứu hệ thống phân cấp mô hình phức tạp

Trường hợp sử dụng lý tưởng:

Trải nghiệm tham quan thực tế ảo (VR) các mô hình mà bạn chưa từng có thể hiển thị trong ứng dụng chạy thời gian thực.

Một ứng dụng trực quan hóa và xem xét kiến ​​trúc hoặc kỹ thuật có quyền truy cập vào siêu dữ liệu hoặc thuộc tính liên quan đến các mô hình CAD hoặc BIM chi tiết mà không thể tải toàn bộ do bộ nhớ và khả năng hiển thị hạn chế của thiết bị.

Đưa ra quyết định của bạn

Nếu bạn đang phát triển game bằng Unity, Addressables thường là giải pháp được khuyến nghị. Đây là lý do:

  • Được xây dựng dành riêng cho quy trình phát triển của Unity.
  • Tối ưu hóa hiệu suất thời gian chạy
  • Được tích hợp với khả năng quản lý bộ nhớ của Unity.
  • Hỗ trợ các mối quan hệ phụ thuộc tài nguyên phức tạp
  • Xử lý hiệu quả nhiều loại tài nguyên khác nhau.

Trường hợp ngoại lệ: Nội dung do người dùng tạo ra: Nếu trò chơi của bạn có nội dung do người dùng tạo ra (như hình đại diện hoặc vật phẩm tùy chỉnh), hãy cân nhắc sử dụng GLB:

  • Định dạng chuẩn giúp việc tạo nội dung trở nên dễ tiếp cận hơn.
  • Khả năng tương thích lâu dài tốt hơn giữa các phiên bản Unity .
  • Dễ dàng tích hợp với bên thứ ba hơn (ví dụ: hình đại diện ReadyPlayerMe)

Trường hợp ngoại lệ: Một trò chơi Unity dựa trên Hệ thống Thành phần Thực thể (ECS) . Nếu bạn đang tận dụng kiến ​​trúc ECS của Unity, bạn nên sử dụng hệ thống quản lý nội dung Entities Content Management) để quản lý tài nguyên trong thời gian chạy.

Đối với các dự án công nghiệp, sự lựa chọn phụ thuộc nhiều hơn vào các yêu cầu cụ thể.

Hãy chọn GLB khi:

  • Làm việc với các mô hình 3D tiêu chuẩn
  • Cần có khả năng tương thích đa nền tảng.
  • Xử lý nội dung do người dùng tải lên
  • Cần có các bản cập nhật độc lập với nền tảng
  • Cần có sự ổn định định dạng lâu dài.

Hãy chọn 3DDS khi:

  • Làm việc với các mô hình CAD/BIM lớn
  • Cần phải tăng dần tải trọng.
  • Cần tối ưu hóa bộ nhớ.
  • Bảo toàn cấu trúc phân cấp phức tạp và siêu dữ liệu là ưu tiên hàng đầu.
  • Cần có khả năng điều chỉnh độ chính xác động.
Họa sĩ kỹ thuật đang tải tài nguyên nâng lên Unity Asset Manager.

Bắt đầu với Asset Manager

Unity Asset Manager giúp bạn tổ chức và chuẩn bị tài sản trước khi chạy chương trình, tạo ra một quy trình hiệu quả cho bất kỳ chiến lược tải nào bạn chọn. Được tích hợp với Unity Editor và giải pháp chuẩn bị dữ liệu Pixyz của Unity, Asset Manager có thể:

  • Tập trung hóa các tài nguyên nguồn của bạn từ khâu tạo lập, chỉnh sửa đến trạng thái cuối cùng.
  • Chuyển đổi và chuẩn bị tài sản để triển khai trong thời gian thực.
  • Sắp xếp tài sản một cách hiệu quả trong quy trình làm việc của Unity Editor.
  • Chuyển đổi giữa các định dạng tài nguyên khác nhau
  • Hoạt động như một kho lưu trữ các tệp 3D thời gian thực có thể được sử dụng trong quá trình chạy.

Khi dự án của bạn phát triển, Asset Manager sẽ mở rộng quy mô song song với giấy phép Unity Editor của bạn để cung cấp thêm khả năng lưu trữ và quản lý.

Cho dù bạn đang chuẩn bị tài nguyên cho Asset Bundles, tạo tệp glTF hay thiết lập truyền phát 3DDS, Unity Asset Manager đều giúp bạn duy trì sự ngăn nắp và kiểm soát trong suốt quá trình phát triển.


Unity Asset Manager có thể đưa dữ liệu trực tiếp vào các ứng dụng đang chạy. Sau khi dữ liệu gLTF và 3DDS được tạo ra, chúng có thể được xem xét ngay lập tức trong thời gian chạy mà không cần thời gian biên dịch. Điều này giúp rút ngắn quá trình cho phép khách hàng công nghiệp đưa dữ liệu CAD và BIM của họ trực tiếp vào các ứng dụng Unity .

Ảnh chụp màn hình các tài sản nội thất văn phòng cho mô hình kỹ thuật số văn phòng trong Unity Asset Manager.

Khám phá thêm

Nếu bạn muốn tìm hiểu thêm về các giải pháp Unity Asset Manager , hãy tham khảo các nguồn tài liệu sau:

Có câu hỏi nào không?

Hãy chia sẻ kinh nghiệm và thắc mắc của bạn về việc tải tài nguyên trong Unity. Hãy tham gia cùng chúng tôi trên Unity Discussions .

Bắt đầu sử dụng Unity Asset Manager