Mùa thu 2026 · Gửi từ Căn cứ Tĩnh Lặng
Ghé studio trên Mặt Trăng ↗
terryl.inBản tin Mặt Trăng — ghi chép phát triển từ studio một người trên Mặt Trăng
Làm game

Tạo mô hình 3D bằng AI: Blender script vs Tripo AI chuyển ảnh thành 3D

Thử dùng AI 3D để tạo mô hình 3D từ concept art: so sánh Blender script với Tripo AI chuyển ảnh 2D thành 3D, rồi gắn xương, làm animation thành nhân vật game.

Minh họa tạo mô hình 3D bằng AI: hình chiếu ba chiều biến concept art tượng đá trên bàn thành mô hình 3D, bên cạnh là bản lỗi ghép từ các khối hộp
Minh họa tạo mô hình 3D bằng AI: hình chiếu ba chiều biến concept art tượng đá trên bàn thành mô hình 3D, bên cạnh là bản lỗi ghép từ các khối hộp

Dạo này mình đang làm một game RPG 3D và cần thêm một con quái mới: tượng đá. Nó là bức tượng nằm trong phế tích, tay cầm một cây thước đá dài, nhìn thì dữ nhưng tỉ lệ lại hơi dễ thương.

Cả quy trình mình giao hết cho AI: vẽ concept art trước, dùng AI 3D để tạo mô hình, rồi đưa vào Godot. Kết quả là bước một đẹp không chê vào đâu được, còn bước hai thì thảm họa. Bài này so sánh hai cách tạo mô hình 3D bằng AI: để AI viết Blender script dựng mô hình từ con số 0, và dùng Tripo AI chuyển ảnh 2D thành 3D từ concept art. Cuối cùng, mình chỉnh mô hình thành một nhân vật chuyển động được trong game.

Bước 1: Vẽ concept art bằng Codex, một lần là được

Concept art của quái tượng đá: mặt trước, mặt bên và tư thế đứng yên trên bệ đá
Concept art do Codex gọi gpt-image vẽ, kèm một nhân vật có sẵn trong game làm mẫu phong cách.

Concept art được vẽ bằng Codex CLI gọi gpt-image. Mình đưa nó một ảnh tham khảo là nhân vật có sẵn trong game, rồi mô tả rõ thiết kế của quái tượng đá:

  • Cao khoảng 2,2 mét, tỉ lệ kiểu đồ chơi: đầu to, chân ngắn
  • Đá màu xám nhạt bị phong hóa, trong các vết nứt có chút rêu
  • Mũ trùm tạc bằng đá, áo choàng có hình mặt trời trước ngực, thắt lưng có khóa vuông
  • Mắt là hai khe hẹp phát sáng xanh, cũng là nguồn sáng duy nhất trên người nó
  • Cùng một ảnh vẽ mặt trước, mặt bên và dáng đứng yên trên bệ đá

Ảnh trả về gần như đúng y những gì mình hình dung: tỉ lệ dễ thương, đủ chi tiết, đặt cạnh các nhân vật khác trong game cũng không bị lạc tông. Tới đây mọi thứ vẫn suôn sẻ.

Bước 2: Để AI viết Blender script dựng mô hình, kết quả lệch hẳn

Hàng trên là concept art, hàng dưới là mô hình Blender và các động tác
Trên: concept art. Dưới: mô hình do AI viết Blender Python script dựng ra.

Tiếp theo, mình nhờ AI viết một Blender Python script để "lắp" mô hình theo concept art. Đây cũng là kiểu dựng mô hình mà nhiều người nghĩ tới khi nghe "Blender AI": đầu là một khối hộp vát cạnh, thân và tay chân là vài khối hộp với hình trụ, rồi đặt từng món vào chỗ. Tiện tay nó làm luôn bộ xương và các animation đứng yên, đi bộ, tấn công, gục ngã.

Về mặt kỹ thuật thì nó làm đủ hết. Mô hình chuyển động được, xuất ra GLB cho Godot cũng được. Nhưng cứ đặt cạnh concept art là thấy khác biệt ngay:

Năm động tác của mô hình Blender: đứng yên, đi bộ, tấn công, đánh mạnh, gục ngã
Động tác thì có đủ, nhưng hình dáng khác concept art quá xa.
  • Nhìn như xếp hình: chiếc mũ trùm tròn trịa và đôi nắm đấm dày trong concept art biến thành một đống hộp ghép lại.
  • Sai tỉ lệ: tỉ lệ đầu với thân, kích thước bàn tay đều không đúng, mất luôn cái vẻ mập mạp dễ thương của concept art.
  • Mất chi tiết: nếp áo choàng, khóa thắt lưng, vết nứt trên đá rất khó làm từng cái bằng script, mà có làm được thì cũng cứng đơ.
  • Không có chất liệu: chất đá, vết bẩn và lớp rêu trong concept art chỉ còn lại một mảng xám phẳng lì.

Vì sao để AI viết script dựng mô hình lại thất bại

Vấn đề không nằm ở chỗ AI chưa đủ thông minh, mà là cách làm này vốn không hợp.

Dựng mô hình bằng script tức là bắt AI "dùng chữ để mô tả tọa độ và kích thước của từng khối". Cách này rất ổn với những thứ vuông vức như bàn, tường, cột. Nhưng nhân vật là một khối có đường cong, có độ dày, khó mà tách thành vài hình cơ bản. Thêm nữa, lúc viết script AI không nhìn thấy thứ mình đang làm ra, chỉ có thể render, so sánh rồi sửa, hết vòng này tới vòng khác, sửa đến cuối thì mỗi vòng chỉ khá lên được chút xíu.

Nói thẳng ra, concept art là thứ được "vẽ", còn mô hình lại được "lắp". Hai bên dùng hai cách làm hoàn toàn khác nhau, nên không khớp cũng là chuyện đương nhiên.

Cách giải: chuyển ảnh thành 3D, biến thẳng concept art thành mô hình

Đã có sẵn một concept art ưng ý thì cách trực tiếp hơn là: để công cụ nhìn ảnh và tạo luôn mô hình 3D từ đó. Loại công cụ này thường được gọi là "chuyển ảnh thành 3D" hay "chuyển ảnh 2D thành 3D" (image to 3D), nói cách khác là dùng AI để tạo mô hình 3D. Ảnh chụp, bản vẽ tay hay concept art do AI vẽ đều dùng làm đầu vào được. Mình chọn Tripo AI (hay còn được gọi là Tripo 3D).

Những gì Tripo làm được:

  • Chuyển ảnh thành 3D: tải lên một ảnh, hoặc nhiều góc của cùng một nhân vật, là ra mô hình 3D có texture.
  • Tự gắn xương: nhân vật hình người có thể được gắn xương tự động, sau đó áp animation vào.
  • Định dạng phổ biến: xuất được GLB, FBX, OBJ và nhiều định dạng khác, dùng thẳng trong Godot, Unity, Blender.
  • Có gói miễn phí: có thể dùng thử trước, hạn mức và giá cả xem trên trang chính thức.

Thử Tripo AI: chuyển concept art quái tượng đá thành mô hình 3D

Mình ném nguyên tấm concept art vào Tripo, không sửa gì cả. File GLB tải về trông thế này:

Mặt trước mô hình 3D Tripo tạo từ concept art: ba con quái tượng đá đứng cạnh nhau, gồm cả bản đứng trên bệ đá
Mô hình Tripo tạo ra, nhìn từ phía trước.

Cảm nhận đầu tiên của mình: đây mới đúng là con quái tượng đá mình muốn. Hình thoi trên mũ trùm, hình mặt trời trước ngực, khóa thắt lưng vuông, vòng gai trên cổ tay, cây thước đá có khắc vạch, đủ cả. Trong vết nứt còn có chút rêu, mắt cũng phát sáng xanh. Mấy chi tiết này mà làm từng cái bằng script thì chắc giờ mình vẫn còn đang sửa.

Mà nó cũng không phải một tấm ảnh dán lên tấm ván. Xoay sang góc khác, con nào cũng là một khối 3D hoàn chỉnh:

Mô hình Tripo nhìn chéo từ bên, cả ba con quái tượng đá đều là khối 3D hoàn chỉnh
Đổi góc nhìn, mũ trùm, nắm đấm và đôi ủng đều có độ dày thật.

Đặt ba cách làm cạnh nhau là thấy rõ khác biệt:

Trên: concept art. Giữa: bản Blender script. Dưới: bản Tripo
Trên: concept art. Giữa: AI viết Blender script. Dưới: Tripo.

Dù vậy, tải về xong cũng chưa bỏ thẳng vào game được. Mình gặp hai chỗ vướng:

  • Ba con thành một mô hình: mình tải lên nguyên tấm thiết kế, có mặt trước, mặt bên và bản đứng yên trên bệ. Tripo ngoan ngoãn làm đủ cả ba và gộp chung vào một mô hình. Trong game chỉ cần một con, nên lần sau phải cắt riêng mặt trước rồi mới tải lên, hoặc dùng chế độ nhiều góc nhìn, coi mặt trước và mặt bên là các góc khác nhau của cùng một nhân vật.
  • Số polygon quá cao: file có 1,87 triệu tam giác, nặng 64 MB, đưa vào game thì quá nặng. Nhân vật trong game thường chỉ vài nghìn mặt, nên trước khi đưa vào nhất định phải giảm polygon.

Chỉnh thành mô hình dùng được trong game: để Blender script làm đúng việc nó giỏi

Sau đó mình cắt concept art chỉ còn một con ở mặt trước rồi chạy lại qua Tripo. Lần này ra đúng một con quái tượng đá, nhưng số polygon vẫn rất cao: khoảng 1,9 triệu tam giác, ba texture 4K, file gần 70 MB, và không có xương.

Màn hình tạo mô hình của Tripo AI Studio: bên trái chọn HD Model và mô hình H3.1, giữa là quái tượng đá vừa tạo, góc trên bên phải hiện 1.914.658 tam giác
Màn hình tạo mô hình trong Tripo Studio. Lần này dùng HD Model với H3.1 (Best Quality), mỗi lần tạo tốn 40 credit. Góc trên bên phải chính là 1,9 triệu tam giác đó.

Mình dùng HD Model trong Tripo Studio, chọn mô hình AI H3.1 (Best Quality), với thiết lập này mỗi lần tạo tốn 40 credit. Chi tiết thì đúng là rất chuẩn, nhưng số polygon này là để render, không phải để chơi game.

Buồn cười là phần việc chỉnh mô hình tiếp theo lại quay về Blender script. Script không nặn ra được hình dáng đẹp, nhưng những việc có quy tắc rõ ràng như "đặt thẳng, giảm polygon, tô màu, gắn xương, làm animation" thì lại đúng sở trường của nó. Script này đã làm những việc sau:

  • Đặt thẳng: thống nhất hướng nhìn, cho chân chạm mặt đất, co chiều cao về một đơn vị cố định.
  • Tách cây thước ra: cắt món vũ khí dài mảnh khỏi thân, dựng lại thành một thanh gọn gàng (giữ luôn vạch khắc), gắn vào xương riêng, để lúc vung không kéo theo cả chân.
  • Dựng lại lớp vỏ rồi mới giảm polygon: lưới của Tripo có lỗ thủng, các bộ phận còn dính vào nhau, giảm polygon trực tiếp sẽ bị rách. Script bọc một lớp vỏ kín trước, rồi giảm xuống khoảng 16.000 tam giác.
  • Tô màu: lấy màu từ texture gốc, gom lại thành 6 mảng màu; mắt được làm riêng thành chất liệu phát sáng.
  • Xương và animation: 15 xương, làm các động tác đứng yên, đi bộ, tấn công, đánh mạnh, trúng đòn, gục ngã.

File cuối cùng chưa tới 1 MB, số polygon chỉ còn khoảng một phần trăm so với bản gốc, mà hình dáng vẫn là con quái tượng đá trong concept art:

Sáu động tác của quái tượng đá: A Đứng yên, B Đi bộ, C Tấn công, D Đánh mạnh, E Trúng đòn, F Gục ngã
Quái tượng đá bản game sau khi chỉnh: khoảng 16.000 tam giác và 15 xương. A Đứng yên, B Đi bộ, C Tấn công, D Đánh mạnh, E Trúng đòn, F Gục ngã.

So với bản xếp hình mà script dựng từ con số 0 lúc đầu, đây mới là con quái thật sự đưa vào game được.

Quy trình tạo mô hình 3D bằng AI của mình bây giờ

Từ concept art đến nhân vật trong game, năm bước.
Từ concept art đến nhân vật trong game, năm bước.
  1. Concept art: Codex gọi gpt-image, kèm một nhân vật có sẵn trong game làm mẫu phong cách.
  2. Tạo mô hình: cắt concept art còn một nhân vật, chạy qua Tripo, được mô hình có texture.
  3. Chỉnh sửa: dùng Blender script dựng lại lớp vỏ, giảm polygon, gom màu thành từng mảng, để đặt cạnh các nhân vật khác trong game không bị lạc lõng.
  4. Xương và animation: cũng script đó gắn xương và làm các động tác đứng yên, đi bộ, tấn công…
  5. Vào Godot: xuất GLB rồi nhập vào game.

Ba cách tạo mô hình 3D bằng AI: nên chọn cách nào

Cách làm

Hợp với

Nhược điểm

AI viết Blender script

Đạo cụ vuông vức, và các việc chỉnh sửa như giảm polygon, gắn xương

Dựng nhân vật và hình dáng hữu cơ từ đầu rất khó đẹp

Chuyển ảnh thành 3D (Tripo)

Đã có concept art ưng ý, cần làm nhân vật thật nhanh

Polygon rất cao, phải giảm; ảnh tải lên tốt nhất chỉ có một nhân vật

Mua asset có sẵn

Người, quái vật, đạo cụ phổ biến

Không tìm được nhân vật khớp hoàn toàn với thiết kế

Kết luận của mình: nhân vật thì tạo bằng chuyển ảnh thành 3D rồi chỉnh lại bằng script; đạo cụ vuông vức thì dựng bằng script; thứ gì phổ biến thì mua asset luôn. Kết hợp cả ba sẽ đỡ cực hơn nhiều so với cố dùng một cách cho mọi thứ.

Nếu bạn cũng đang có game hay sản phẩm 3D bị kẹt ở bước dựng mô hình, cứ ghé Threads hoặc X của mình và để lại bình luận dưới bài đăng nhé.

— Terry L