Tiêu chuẩn tạo mô hình 3D
1. Định dạng file & dung lượng cho phép
Định dạng file
| Loại | Định dạng hỗ trợ | Khuyến nghị |
|---|---|---|
| Model File | .GLB, .OBJ, .FBX | .GLB |
| Textures | .PNG, .JPG, .JPEG | - |
Glb sẽ được load thẳng. Obj và fbx sẽ đóng assetbundle
Dung lượng
| Loại | Tối đa | Khuyến nghị |
|---|---|---|
| 1 model | ≤ 5MB | ≤ 3MB |
| Toàn scene | ≤ 20MB | ≤ 10MB |
Tip: Tối ưu kích thước texture sẽ giúp giảm đáng kể dung lượng mô hình.
Scene là vùng hiển thị trên màn hình thiết bị.
2. Thông số kỹ thuật mô hình
Topology
- Số lượng node:
- 1 model: ≤ 20 (khuyến nghị: ≤ 5)
- Toàn scene: ≤ 200 (khuyến nghị: ≤ 10)
- Số lượng triangles:
- 1 model: ≤ 50,000 (tốt nhất: 4,000 – 15,000)
- Toàn scene: ≤ 300,000 (khuyến nghị: ≤ 100,000)
Tham khảo:
| Loại mô hình | Đỉnh (vertices) | Tam giác (triangles) |
|---|---|---|
| Low-detail character | 2,000 – 10,000 | 4,000 – 20,000 |
| High-detail character | 10,000 – 20,000 | 20,000 – 40,000 |
| Simple prop | 500 – 1,500 | 1,000 – 3,000 |
| Complex prop | 1,500 – 5,000 | 3,000 – 10,000 |
| Basic environment | 5,000 – 15,000 | 10,000 – 30,000 |
| Detailed environment | 15,000 – 30,000 | 30,000 – 60,000 |
3. Yêu cầu chung về mô hình
- Quy ước đặt tên: Chỉ sử dụng chữ cái, số, dấu gạch dưới (
_)
(Không dùng ký hiệu hoặc khoảng trắng)
- Căn chỉnh điểm trung tâm:
- Tâm nằm ở giữa hoặc chân mô hình
- Đặt tại gốc tọa độ (0,0,0)
- Cấu trúc mô hình: Dùng mặt tam giác hoặc tứ giác
- Reset Transform:
- Scale = 1
- Rotation = 0
- Position = 0
- Tỷ lệ thực: Mô hình có kích thước gần đúng với vật thể thật
4. UV Mapping Requirements
Để đảm bảo mô hình 3D hiển thị chính xác và đạt hiệu năng tối ưu trên Unity dành cho ứng dụng AR trên kính, tất cả mô hình phải đáp ứng các yêu cầu về UV Mapping sau:
Yêu cầu
- Mỗi mesh bắt buộc phải có UV Channel 0 (UV0) để ánh xạ các texture (Base Color, Metallic, Roughness, Normal Map…). Mô hình không có UV0 sẽ không được chấp nhận.
- Toàn bộ UV phải nằm trong vùng tọa độ 0–1. Không sử dụng UDIM hoặc các tile UV ngoài phạm vi này.
- Các UV Island không được chồng lấn (Overlap), ngoại trừ trường hợp sử dụng Mirror UV có chủ đích và không ảnh hưởng đến chất lượng hiển thị.
- UV phải được unwrap hợp lý, hạn chế hiện tượng UV Stretch và đảm bảo Texel Density đồng đều trên toàn bộ mô hình để tránh hiện tượng texture bị mờ hoặc chất lượng không đồng nhất.
- Các UV Island phải có khoảng cách (Padding) đủ lớn để tránh hiện tượng Texture Bleeding khi sử dụng Mipmap.
- Hạn chế chia nhỏ UV thành quá nhiều island hoặc tạo quá nhiều đường seam không cần thiết nhằm tối ưu chất lượng texture và giảm lỗi hiển thị.
- Không để xảy ra hiện tượng Flipped UV đối với các mô hình sử dụng Normal Map.
- Khi sử dụng Normal Map, mô hình phải được export đầy đủ Normal và Tangent.
- Khuyến nghị sử dụng Texture Atlas để nhiều đối tượng có thể dùng chung một Material, giúp giảm số lượng Draw Call và cải thiện hiệu năng.
- UV Channel 1 (UV1) chỉ yêu cầu đối với các mô hình sử dụng Baked Lighting/Lightmap. Đối với các ứng dụng AR sử dụng Realtime Lighting, UV1 không bắt buộc.
Padding khuyến nghị
| Kích thước Texture | Padding tối thiểu |
|---|---|
| 512 × 512 | ≥ 4 px |
| 1024 × 1024 | ≥ 8 px |
| 2048 × 2048 | ≥ 16 px |
Tiêu chí nghiệm thu
Mô hình được xem là đạt yêu cầu khi đáp ứng đầy đủ các tiêu chí sau:
- Có UV0 hợp lệ.
- UV nằm hoàn toàn trong vùng 0–1.
- Không có UV Overlap ngoài các trường hợp được cho phép.
- Không có hiện tượng UV Stretch hoặc Flipped UV.
- Texel Density đồng đều trên toàn bộ mô hình.
- Padding giữa các UV Island đáp ứng yêu cầu theo độ phân giải texture.
- Export đầy đủ Normal và Tangent khi sử dụng Normal Map.
- Đáp ứng các yêu cầu tối ưu hiệu năng của Unity dành cho ứng dụng AR trên kính.
5. Materials & Textures
| Loại | Tối đa | Khuyến nghị |
|---|---|---|
| Số lượng Material | ≤ 10 | ≤ 5 |
| Số lượng Texture | ≤ 10 | ≤ 5 |
| Kích thước | ≤ 2048×2048 | Power of 2 |
Quy định kỹ thuật:
- Shader: Dùng bộ mặc định của URP (Unity Universal Render Pipeline)
- Không embed texture trong FBX – giữ texture rời để import vào Unity
- Hỗ trợ PBR Materials:
- Metallic-Roughness
- Specular-Glossiness
- Hỗ trợ Unlit Materials nếu cần thiết
6. Animation
| Loại | Tối đa | Khuyến nghị |
|---|---|---|
| Số lượng bone | ≤ 80 | ≤ 60 |
| Số lượng anim | ≤ 10 | ≤ 5 |
| Bone influence | ≤ 4 | ≤ 4 |
Yêu cầu kỹ thuật:
- Frame rate: 30 FPS
- Bone influence: Mỗi vertex ≤ 4 bones
- Bắt đầu từ frame 0
- Anim dùng vị trí tương đối (relative), không dùng tọa độ tuyệt đối
- Anim dài nên được làm loop
Last updated on