Thư viện C ++ mã nguồn mở cho các định dạng dữ liệu 3D
API C ++ cung cấp hỗ trợ tải cũng như xử lý các cảnh hình học từ các Định dạng dữ liệu 3D khác nhau. Bạn có thể tích hợp nó với các công cụ trò chơi và ràng buộc với các ngôn ngữ lập trình khác.
Asset-Importer-Lib (Assimp) là một thư viện mã nguồn mở mạnh mẽ được triển khai bằng C ++. Nó cung cấp cho các nhà phát triển phần mềm khả năng tải cũng như xử lý các cảnh hình học từ các định dạng dữ liệu 3d khác nhau bên trong các ứng dụng C ++ của riêng họ. Thư viện độc lập với nền tảng và cung cấp khả năng tích hợp dễ dàng với các công cụ trò chơi và ràng buộc với các ngôn ngữ lập trình khác.
Có một số định dạng tệp 3D trên khắp thế giới và thư viện Assimp đã hỗ trợ một số định dạng quan trọng trong số đó. Thư viện được tổ chức rất tốt và cung cấp hỗ trợ cho hơn 40 định dạng tệp 3D như Collada, 3D Studio Max 3DS và ASE, Biovision BVH, Stanford Polygon Library, AutoCAD DXF, Neutral File Format, Autodesk DXF, Object File Format, Milkshape 3D, LightWave Scene, và nhiều hơn nữa.
Thư viện rất hữu ích để nhập các phần tử từ nhiều nguồn khác nhau một lần và lưu trữ chúng ở định dạng dành riêng cho công cụ để truy cập dễ dàng và nhanh chóng. Phiên bản mới nhất cũng đã bao gồm hỗ trợ xuất tệp 3D sang các định dạng tệp được hỗ trợ khác. Thư viện hỗ trợ các tính năng như định vị bộ nhớ cache đỉnh nâng cao, phân chia tam giác đa giác tùy ý, tìm kiếm đa giác suy biến, chia nhỏ các mắt lưới lớn để khắc phục các giới hạn của GPU, tối ưu hóa các mắt lưới, đảm bảo tính toàn vẹn của dữ liệu tối đa bằng cách xác thực cấu trúc đầu ra và các nút cho ít lệnh vẽ hơn, v.v.
Bắt đầu với Assimp
Cách dễ nhất để cài đặt thư viện Assimp là thông qua cmake. Đầu tiên, bạn cần cài đặt cmake. Vui lòng sử dụng lệnh sau để cài đặt suôn sẻ. Để xây dựng thư viện, chỉ cần mở dấu nhắc lệnh, điều hướng vào thư mục repo và chạy cmake.
Cài đặt Assimp qua cmake
cmake CMakeLists.txt
Tải & Xử lý Mô hình 3D thông qua Thư viện C ++
Thư viện Nhập nội dung Mở (Assimp) đã bao gồm hỗ trợ truy cập và tải các mô hình 3D từ một số định dạng mô hình 3D phổ biến bên trong các ứng dụng C ++. Bạn cần cung cấp đường dẫn đến tệp mô hình 3D và nó sẽ bắt đầu tải mô hình. Bạn có thể dễ dàng tạo cá thể và lưu trữ tất cả thông tin về mô hình bên trong nó. Thư viện sẽ tải và đọc mô hình theo thứ tự các vật liệu phải được tải trước các mắt lưới và các mắt lưới phải trước các nút.
Chuyển đổi mô hình CAD qua C ++
Thư viện Assimp mã nguồn mở cung cấp cho các nhà phát triển phần mềm khả năng tải và chuyển đổi các mô hình CAD sang các mô hình 3D được hỗ trợ khác bằng các ứng dụng C ++. Bạn cần cung cấp địa chỉ của tệp CAD và sau khi tải, bạn có thể dễ dàng chuyển đổi tệp này sang các định dạng được hỗ trợ khác như DAE, STL, OBJ, PLY, STEP, 3MF, FBX và nhiều định dạng khác.
Nhập và áp dụng hoạt ảnh cho mô hình
Thư viện Nhập nội dung Mở (Assimp) cung cấp cho các nhà lập trình phần mềm khả năng áp dụng các hoạt ảnh vào các mô hình sử dụng mã C ++. Cách tiếp cận tốt nhất sẽ là tạo hiệu ứng động các nút trong đồ thị cảnh, sau đó bạn có thể tính toán ma trận xương từ trạng thái hiện tại của đồ thị cảnh.