Tất tần tật những điều bạn cần biết về Game-Ready Asset
“Game-ready asset” là gì? Vì sao loại tài sản này được các nhà làm game ưa chuộng? Ai là người tạo ra chúng? Làm thế nào để sở hữu bộ sưu tập tài sản “game-ready” đúng nghĩa, có thể sử dụng được cho nhiều dự án? Bài viết này sẽ giúp bạn tìm hiểu tất tần tật về loại tài sản đặc biệt này.
Game-ready asset là gì?
“Game-ready asset” là cụm từ khá quen thuộc đối với các Artist chuyên về mảng thiết kế và phát triển trò chơi điện tử. Rất nhiều người thường xuyên truy cập internet, mua các tài sản game để ứng dụng cho các dự án cá nhân của họ.
Game-ready asset hiểu đơn giản là các mô hình 3D đã được tối ưu hóa về mặt số lượng polygon (lưới hình đa giác) và có thể linh hoạt biến dạng, uốn cong theo nhiều kiểu khác nhau, được sử dụng cho các game engine.
Ví dụ về một bộ game-ready asset
Vậy khi nào một game asset được xem là đã “ready” để có thể sử dụng cho quá trình tạo ra các trò chơi điện tử? Đó là khi các asset có số lượng polygon đạt mức tối thiểu đồng thời có thể linh hoạt biến đổi về mặt hình dạng (như uốn cong) và hoạt động tốt. Đa phần, các kết cấu của vật thể được tạo ra từ những nguồn có số lượng polygon cao (high poly) và vật liệu cuối cùng được tạo ra trong game engine để có thể sử dụng được.
Trong nhiều trường hợp, ready-asset đã được sử dụng cho phim hoặc trailer giới thiệu trò chơi điện tử tiếp tục được đem bán dưới dạng một game asset. Tuy nhiên, sau khi đưa vào trong một phần mềm, các lỗ hổng sẽ bắt đầu xuất hiện.
Ví dụ: Vật thể quá lớn hoặc quá nhỏ, không phù hợp để đưa vào môi trường tạo lập hoặc định dạng rig (hệ thống điều khiển) không tích hợp với định dạng hỗ trợ của phần mềm.
Một số game asset hỗ trợ rất tốt cho công việc phát triển trò chơi chuyên nghiệp nhưng một số khác được tối ưu hóa nhưng lại gây nhầm lẫn cho người sử dụng bằng cách đặt tên quá phức tạp hoặc các thành phần không được sắp xếp theo trình tự. Chính vì vậy, một trong những điều quan trọng cần lưu ý là nên đặt tên cho các asset theo kích thước, khu vực sử dụng để người dùng có thể hiểu rõ về từng file.
Tóm lại, để tạo ra game asset, bạn cần có:
- Các công cụ hoặc phần mềm mỹ thuật để lên concept.
- Công cụ tạo hình 3D (3D Modeling) để điêu khắc hình dạng ba chiều của một asset.
- Phần mềm để quản lý, lưu trữ asset đã tạo để tái sử dụng cho các dự án sáng tạo tiếp theo.
Hướng dẫn tạo một game-ready asset đơn giản
Game-ready asset được sử dụng ở đâu?
Nếu là một người mới trong lĩnh vực thiết kế game, bạn cần biết rằng các tài sản “chưa sẵn sàng” (non-ready) sử dụng sẽ có độ phức tạp và số lượng polygon ở mức cao, gần như không thể hiển thị trong các công cụ game engine. Do đó, bạn cần tạo ra một model hoàn chỉnh, chẳng hạn như nhân vật đã có trang phục, trang bị đầy đủ phụ kiện, có thể đi lại,… để các nền tảng trò chơi hoặc Metaverse có thể hiển thị tài sản đó trong thời gian thực. Asset của bạn đảm bảo phải nhẹ và đầy đủ các chi tiết.
Game-ready asset được ứng dụng trong rất nhiều lĩnh vực khác nhau
Một “game-ready asset” có thể sử dụng trong:
- Bất kỳ các ứng dụng kết xuất thời gian thực nào cần để chạy trơn tru.
- Ngành công nghiệp game (bao gồm cả game độc lập và game AAA ).
- Phát triển trò chơi dành cho di động.
- Metaverse.
- Các ứng dụng thực tế ảo (VR).
- Mô phỏng (Simulation).
- Ứng dụng dành cho Web 3D.
Đặc điểm của game-ready asset
Yêu cầu tối thiểu để các asset 3D được xem là “ready” phải đảm bảo số lượng polygon đã được giảm xuống đáng kể. Điều này cực kỳ quan trọng vì nó cần xử lý kết xuất thời gian thực mà một game engine sẽ sử dụng. Tuy nhiên, số lượng polygon thấp hơn không phải lúc nào cũng đồng nghĩa rằng asset đó có chất lượng cao hơn mà còn phụ thuộc vào nhiều yếu tố khác. Các yếu tố đó sẽ được tiếp tục phân tích ở bên dưới.
Texture Mapping
Texture mapping (hay Diffuse mapping), một kỹ thuật chuyển các pixel từ một tấm textures sang bề mặt 3D, ban đầu được gọi là thuật ngữ “Texture Mapping”. Tuy nhiên, hiện nay trên mô hình 3D hoặc hình ảnh do máy tính tạo ra, Texture Mapping là một kỹ thuật để xác định chi tiết tần số cao, kết cấu bề mặt hoặc thông tin về màu sắc.
Kể từ khi các giới thiệu mới về kỹ thuật render tách lớp, multi-texturing, mipmaps và các biểu đồ phức tạp hơn như height mapping, bump mapping, normal mapping, displacement mapping, reflection mapping, specular mapping và nhiều biến thể khác, hiện nay các Artist đã có thể mô phỏng trong thời gian thực gần như hoàn hảo bằng cách giảm đáng kể số lượng polygon và tính toán ánh sáng cần thiết để tạo ra một cảnh 3D chân thực và có thể mang đi sử dụng.
Light Baking and Baked Shadows
Việc tính toán trước các điểm nhấn và đổ bóng cho một cảnh tĩnh (static) bằng phần mềm chuyên dụng như 3ds Max được gọi là “Light baking” (kỹ thuật bắt sáng). Kết quả của tính toán đó sẽ được lưu trong một Lightmap. Để mô phỏng ánh sáng, trình kết xuất cần hiểu được nơi nào để làm cho một mô hình sáng hơn hoặc tối hơn.
Hiệu suất được cải thiện bằng Light baking chỉ xảy ra khi các tính toán thời gian thực được giảm bớt. Trong trường hợp này, card đồ họa có thể hiển thị các cảnh phức tạp với tốc độ khung hình cao hơn. Mặc dù Lightmaps tĩnh có thể được bắt sáng với nguồn ánh sáng cố định, nhưng vẫn cần những nguồn sáng di động trên đó. Hiện tại, không thể có ánh sáng tương tác với các đối tượng động trong khi chúng đồng thời phát ra bóng Lightmap tĩnh.
Ngày nay, có một quy trình chuẩn để loại bỏ các hiện tượng bắt sáng đó là sắp xếp từng phần low và high poly thành một nhóm và sau đó xuất dưới dạng FBX với hậu tố low và high poly.
Low Poly
Số lượng polygon của mô hình 3D phải được giảm xuống mức mà một Game Engine có thể dễ dàng quản lý để kết xuất hình ảnh mô hình một cách hiệu quả. Điều này đồng nghĩa với việc tổng số đa giác của mô hình cần giảm từ hàng triệu xuống chỉ còn hàng trăm. Quy trình này được gọi là “retopology” và thường là một bước bổ sung mà 3D Modeller phải thực hiện để đảm bảo asset có thể sẵn sàng sử dụng trong game.
Một trong những phương pháp phổ biến để đạt được mục tiêu này là lập biểu đồ lặp lại cho từng polygon. Tất nhiên, công đoạn này có thể sẽ mất nhiều thời gian và công sức. Bên cạnh phương pháp thủ công này, các Artist có thể tiến hành các tùy chọn tự động retopology nhưng quy trình này thường yêu cầu một số hình thức tương tác cá nhân và quá trình này có thể mất thêm nhiều thời gian hơn.
Occlusion Mapping
Occlusion Mapping (hay Ambient Occlusion) là một kỹ thuật đổ bóng (Shading) và kết xuất (Rendering) được sử dụng trong đồ họa máy tính 3D, tạo hình (Modeling) và diễn hoạt (Animation) để xác định mức độ tiếp xúc của từng điểm trong một cảnh với ánh sáng môi trường.
Ví dụ như khi càng đi xa ra khỏi một đường ống, bên trong sẽ càng bị che khuất (do đó sẽ tối hơn) so với các bề mặt được tiếp xúc với bên ngoài.
Normal Map
Khi số lượng polygon của một mô hình 3D được giảm xuống đồng nghĩa với việc các chi tiết của vật thể cũng sẽ bị mất đi đáng kể. Normal Map lúc này đóng vai trò giảm nhẹ một số tác động của sự mất đi các chi tiết của vật thể 3D.
Khi được áp dụng vào một mô hình 3D, Normal Map là một loại texture map, được sử dụng để điều khiển cách ánh sáng tương tác với đối tượng, giúp đạt được hiệu ứng mong muốn. Để tạo ra bản đồ này cần có hai phiên bản khác nhau của cùng một mô hình, một với số lượng polygon cao và một với số lượng polygon thấp.
Bắt sáng (Baking) là tên của tiến trình này, nó thực hiện nhiệm vụ chiếu các chi tiết đặc tả của các asset ở dạng high-poly lên phiên bản low-poly.
Bump Mapping
Trong đồ họa máy tính, phương pháp “Bump Mapping” được sử dụng để mô phỏng độ gồ ghề trên bề mặt của một đối tượng. Để làm điều này, các pháp tuyến của bề mặt đối tượng bị xáo trộn và pháp tuyến nhiễu loạn (perturbed normal) được sử dụng để tính toán ánh sáng cho đối tượng đó. Về cơ bản, bề mặt của đối tượng không thay đổi nhưng kết quả sẽ trông thô ráp hơn. Phương pháp này giúp cho asset vừa nhẹ nhàng, vừa tự nhiên.
Parallax Occlusion Mapping
Kỹ thuật Parallax Mapping trước đây đã được cải tiến thành Parallax Occlusion Mapping (POM). Thay vì phải tạo ra khối mới, Parallax Occlusion Mapping cho phép sử dụng displacement map (tương tự như bản đồ địa hình) để xác định không gian 3D trên các bề mặt được tô màu theo quy trình cụ thể.
Điều này giúp giải phóng các chu kỳ xử lý cần thiết nhằm tạo ra cùng một hiệu ứng thông qua các tính toán hình khối, cho phép các nhà lập trình của các chương trình kết xuất 3D thêm độ phức tạp vào các bề mặt một cách phù hợp theo góc nhìn và các điểm bị che khuất trong thời gian thực (tự đổ bóng cũng khả thi).
Minimized Texture Resolutions
Khi quá tập trung vào giảm số lượng polygon, việc giảm kích thước độ phân giải của các Texture đôi khi bị bỏ qua. Khi chuyển từ một độ phân giải texture sang một độ phân giải khác, thường sẽ có sự gia tăng đáng kể về kích thước. Theo đó, không gian lưu trữ ổ đĩa cũng sẽ tăng lên với kích thước lớn hơn khoảng 3,5 lần.
Ví dụ, nếu bạn có một texture với độ phân giải 512×512 pixel, kích thước của tệp này là khoảng 654 kilobyte. Khi độ phân giải tăng lên 1024×1024 pxl, kích thước tệp sẽ là khoảng 2,17 megabyte. Kích thước tệp sẽ chiếm khoảng 7,43 megabyte khi độ phân giải tăng lên 2048x2048pxl.
Có thể thấy, sức ép đặt lên tài nguyên của hệ thống sẽ dần tích lũy nhanh chóng, chưa kể là khi xem xét đến khả năng một mô hình có thể có nhiều hơn một Texture. Dần dần, các game-ready asset sẽ đi kèm với các Texture 2K hoặc 4K với kích thước tệp khổng lồ. Những Texture này hoàn toàn dư thừa về mặt hiển thị chi tiết trên bề mặt mô hình.
Kích thước Texture lý tưởng cho một game-ready asset là Texture được điều chỉnh tỷ lệ lên hoặc xuống tùy thuộc vào yêu cầu của từng asset.
Good UVs
Bản đồ Texture của mô hình hiện diện dưới dạng 2D được trải trên một mặt phẳng gọi là UV. UV có thể được tạo ra bằng nhiều phương pháp, cả tự động và thủ công. Nếu muốn xây dựng một UV, asset của bạn cần phải có các đường “seam”.
Những đường seam này mang tính phân tách và định hình các chi tiết của asset hiển thị trong không gian hai chiều. Texture đã tạo có thể có sự khác biệt tùy thuộc vào vị trí của những đường seam này.
Đối với một mô hình chỉ được hiển thị dưới dạng hình ảnh, tính không nhất quán của các UV có thể không quá quan trọng nhưng trong game thì lại rất cần thiết. Bởi vì khác với phim ảnh hay hoạt hình, người chơi trong game có thể xem được toàn bộ các mặt của mô hình.
Một game-ready asset tốt thường có các đường seam được bố trí ở những vị trí đặc thù, chẳng hạn như dọc theo các cạnh chi tiết, nơi các điểm không hợp lý có xu hướng trở nên ít rõ ràng hơn. Asset nên sử dụng càng nhiều diện tích càng tốt khi trải UV. Nếu phần không gian không được sử dụng hiệu quả, asset có thể phải cần tăng chất lượng Texture cao hơn để bù đắp cho các chi tiết bị mất.
LOD (Level of Detail)
Bạn có thể áp dụng những gì được gọi là Cấp độ chi tiết (Level of Detail – LOD) nhờ vào một asset game-ready hoàn chỉnh. Tại đây, kết cấu của asset có thể được thay đổi tùy theo khoảng cách của mô hình so với camera. Điều này giúp tiết kiệm tài nguyên vì bạn có thể sử dụng mô hình có polygon thấp và Texture có độ phân giải thấp khi mô hình ở xa camera và ngược lại, sử dụng mô hình có polygon cao và kết cấu có độ phân giải cao khi mô hình ở gần camera.
Các nghệ sĩ kỹ thuật chuyên nghiệp tại Dream Farm Studios có thể:
- Cung cấp LOD cho các game asset của bạn dựa trên khái và ý tưởng của bạn để biến chúng thành game-ready.
- Tạo ra một tài sản game-ready từ đầu bằng công nghệ tiên tiến và tự thêm LOD vào cho chúng.
LOD hoạt động thế nào trong game-ready asset?
Bạn có thể sử dụng LOD nếu asset có nhiều phiên bản với số lượng poly được giảm xuống hoặc các Texture có kích thước và độ phân giải khác nhau.
Mô hình súng của Jordan Newman với các LOD khác nhau là một ví dụ về vấn đề đang được đề cập đến
Bởi vì nó bao gồm việc thay đổi hình học của mô hình để tạo ra các biến thể. Việc tạo ra các biến thể của một mô hình có thể mất rất nhiều thời gian. Vì lý do này, việc tìm kiếm các mô hình với LOD trong bất kỳ cửa hàng mô hình nào có thể là một thử thách lớn.
Chuyển từ độ phân giải cao sang game-ready
Chuyển asset từ high-resolution sang game-ready là cả một quá trình đầy khó khăn và tiêu tốn nhiều thời gian. Nếu không thực hiện đúng cách, game-ready asset của bạn có thể không hoạt động đúng trên các nền tảng hoặc game engine. Bất kể khả năng của thiết bị đích, bạn không nên lạm dụng quá nhiều poly hơn mức quy chuẩn.
Các asset chưa được tối ưu hóa sức mạnh có thể tiếp tục được sử dụng cho một trò chơi khác hoặc thêm vào một vài fps để cải thiện trải nghiệm người dùng.
Trong khi bạn có thể tự tìm kiếm các asset từ trang mua bán trực tuyến như GameDev Market, Sprite Database, Unreal Marketplace, Unity Asset Store, Blender Market và GoGraph,… bạn nên để các công ty mạnh về công nghệ hoặc có đội ngũ chuyên gia giàu kinh nghiệm cung cấp cho bạn game-ready asset đã được tùy chỉnh để sử dụng.
Nếu bạn cần đặt hàng hoặc tìm kiếm các bộ game-ready asset để sử dụng cho các công việc phát triển trò chơi điện tử, công nghệ thực tế ảo, web3,… nhưng không có đủ tài nguyên hoặc kỹ năng để tự mình tạo ra, kho tài nguyên của Dream Farm Studios chính là nơi lý tưởng dành cho bạn.
*Nguồn bài viết: Dream Farms Studios
Phận Phạm