Mùa thu 2026 · Gửi từ Căn cứ Tĩnh Lặng
Ghé studio trên Mặt Trăng ↗
Làm game

Tripo AI: kiểm tra mô hình thế nào? Blender rigging và animation với Claude

Làm game bằng AI: 52 boss RPG tạo bằng Tripo AI, gắn xương và làm animation trong Blender. Claude viết script Blender Python soát lỗi từng khung hình.

Minh họa kiểm tra mô hình Tripo AI: phi hành gia cầm kính lúp soi con boss nấm đứng trên bàn xoay, vòng quét màu cam bao quanh toàn thân
Minh họa kiểm tra mô hình Tripo AI: phi hành gia cầm kính lúp soi con boss nấm đứng trên bàn xoay, vòng quét màu cam bao quanh toàn thân

Mình đang làm game bằng AI. Bài trước mình thử tạo mô hình 3D bằng AI, dùng Tripo AI (hay còn gọi là Tripo 3D) để chuyển concept art quái tượng đá thành mô hình 3D, rồi dùng Blender script giảm polygon, gắn xương, làm động tác. Lần đó chỉ làm một con. Sau đó mình cho boss của từng chương trong game RPG đang thiết kế đi qua đúng quy trình đó, một lèo 52 con.

Làm xong mới thấy cái khó thật sự nằm ở phía sau: con nào đứng yên cũng đẹp, nhưng vừa vung vũ khí, vừa tung đòn đánh mạnh là vai bị kéo ra thành một dải màu dài, nắm đấm xoay quá đà lộ ra vết cắt, hoa văn thì bị nhòe thành từng mảng màu. 52 con boss, mỗi con năm sáu động tác, mỗi động tác vài chục khung hình, ngồi lật từng khung trong Blender bằng mắt thì xem không xuể.

Nên mình cùng Claude Opus làm ra một "quy trình nghiệm thu boss": trước tiên để chương trình đo từng khung hình xem mô hình Tripo AI sau khi gắn xương bị hỏng ở đâu, rồi chụp lại khung tệ nhất cho mình xem. Bài này lấy boss chương 8 là "Trinh sát Bào tử" làm ví dụ, đi một lượt từ đầu tới cuối.

Boss làm ví dụ: Trinh sát Bào tử

Trinh sát Bào tử là một cây nấm cao gầy 2,4 mét: chiếc mũ nấm nhọn màu cam có ba đốm mắt vàng, dưới mũ là gương mặt híp mắt cười gian, khoác áo choàng ngắn màu rêu, sau lưng đeo ống nhòm gỗ chạm khắc, tay phải cầm cây gậy đầu cong treo một chiếc đèn nhỏ.

Concept art: Claude thiết kế theo cốt truyện, Codex vẽ

Mình nhờ Claude đọc cốt truyện của từng chương, thiết kế boss hợp với bối cảnh màn đó, rồi tự viết prompt giao cho Codex CLI 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. Trinh sát Bào tử xuất hiện ở chương rừng, dẫn theo một đám lính nấm, nên Claude thiết kế nó thành một trinh sát nấm cao gầy, mấy đốm mắt trên mũ như đang canh chừng xung quanh. Prompt nó tự viết ra là đoạn này:

Character: SPORE SCOUT (孢子斥候), a 2.4 m forest boss: a tall thin long-legged mushroom scout that leads mushroom soldiers; eye-spots on its cap.
A tall lanky chunky KayKit-style mushroom: a tall narrow conical cap in rusty orange with three big painted eye-spot markings (rings of yellow around black dots), a long thin pale stem body with a sly face (two small glowing yellow eyes and a narrow grin), long thin arms and long stilt-like legs ending in flat root feet. Gear: a scout's short hooded cloak in moss green over the shoulders, a leather bandolier strap with buckles, a spyglass of carved wood strapped on the back, wrapped leather cloth bands on the shins, holding a long thin walking stick with a small glowing spore bulb in one hand down at its side.

Prompt Claude viết lúc nào cũng chia ba lớp: một câu nói rõ nhân vật là ai, cao bao nhiêu, làm gì trong cốt truyện; tiếp theo là ngoại hình (mũ nấm, thân, mặt, tay chân); cuối cùng liệt kê trang bị (áo choàng, dây đeo, ống nhòm, xà cạp, gậy). Viết càng cụ thể thì ảnh Codex vẽ càng ít phải làm lại, sau này đem đối chiếu với mô hình cũng có sẵn một danh sách để soát từng mục.

Cả quá trình mình gần như không phải tự tay làm gì, phần lớn thời gian chỉ là review: xem thiết kế có hợp cốt truyện không, ảnh có đúng chất không, không đúng thì nhờ nó sửa.

Các prompt này đều được lưu thành file, đặt trên trang xem trước mà mình sẽ nhắc tới ở dưới. Thẻ của mỗi con boss có một link "prompt", lúc nào cũng mở lại xem ban đầu mình muốn gì được.

Nó rất hợp để làm ví dụ, vì rắc rối gì cũng có đủ:

  • Tay chân dài mảnh: tay chân vừa gập là chỗ mảnh dễ bị kéo rách nhất.
  • Cây gậy: vũ khí phải nằm trong tay, xoay theo nắm đấm, không được xuyên qua người.
  • Mũ nấm to: mũ nối với cái thân mảnh, đầu hơi nghiêng là đường nối có thể bị nứt.
  • Rất nhiều chi tiết nhỏ: đốm mắt, đường khâu chữ X trên xà cạp, khóa dây đeo, dễ mất nhất khi giảm polygon và tô màu.

Ải 1: đặt file GLB cạnh concept art

Bên trái là concept art của Trinh sát Bào tử, bên phải là mô hình 3D trong game, bên dưới có thể chuyển động tác
Trang đối chiếu 3D của mình: bên trái là concept art, bên phải là file GLB game thực sự dùng, chuyển được động tác, kéo chuột để xoay.

Ải đầu tiên đơn giản nhất mà cũng hay bị bỏ qua nhất: đặt concept art và mô hình đã làm xong cạnh nhau mà xem.

Mình nhờ Claude Opus làm một trang web đối chiếu (dùng three.js đọc file GLB): bên trái là concept art đưa cho Tripo, bên phải là mô hình 3D game thực sự tải lên. Menu thả xuống chuyển được giữa đứng yên, đi bộ, tấn công, đánh mạnh, trúng đòn, gục ngã, dùng chuột xoay xem được. Cả 52 con boss nằm chung một trang, bấm một cái là mở, không cần lần nào cũng mở Blender.

Ải này xem tổng thể:

  • Dáng: tỉ lệ, chiều cao, hình dạng mũ nấm có đúng không.
  • Phụ kiện: áo choàng, dây đeo, ống nhòm sau lưng, đèn nhỏ trên gậy còn đủ không.
  • Vũ khí: gậy có nằm trong tay không, lúc vung có xuyên qua người không.
  • Phát sáng: mắt và đèn nhỏ còn sáng không.

Ải 2: xương và animation trong Blender, khung hình chính ở mọi góc, mọi động tác

Ảnh tổng quan của Trinh sát Bào tử: trên cùng là concept art, tiếp theo là mặt trước, mặt bên, phía sau, chéo trước và hai ảnh trọng số, bên dưới là khung hình chính của đi bộ, tấn công, đánh mạnh, trúng đòn, gục ngã
Mỗi con boss một ảnh tổng quan: bốn góc, hai ảnh trọng số, cộng thêm mấy khung hình dồn lực nhất của từng động tác.

Trang đối chiếu hợp để xem "nhìn có đúng không", nhưng lỗi giữa chừng động tác thường lóe lên rồi mất. Nên mỗi lần dựng lại mô hình, Blender script tiện tay render luôn một ảnh tổng quan:

  • Bốn góc: mặt trước, mặt bên, phía sau, chéo trước, để chắc phía sau và hai bên cũng đầy đủ.
  • Ảnh trọng số (weight paint) trong Blender: mỗi xương một màu, nhìn là biết từng mảng lưới đang được xương nào kéo theo. Ranh giới màu phải nằm đúng khớp; nếu màu của cánh tay lấn sang ngực thì lúc giơ tay ngực sẽ bị kéo theo.
  • Khung hình chính: mỗi động tác chọn vài khung dồn lực nhất, như lúc tấn công chỉ gậy về phía trước, lúc đánh mạnh giơ gậy lên cạnh đầu vẽ vòng tròn, lúc gục ngã mũ nấm đập xuống đất.

Một ảnh là xem hết động tác của một con boss, nhanh hơn nhiều so với kéo tới kéo lui trên timeline của Blender.

Ải 3: để Claude viết script Blender Python, đo từng khung xem hỏng chỗ nào

Ảnh kiểm tra khung tệ nhất của Trinh sát Bào tử ở đòn đánh mạnh và tấn công: mặt trước, 3/4, mặt bên, chéo sau, cận cảnh chỗ tệ nhất và bản đồ nhiệt
Ảnh kiểm tra: chương trình tìm ra khung tệ nhất của đánh mạnh (trên) và tấn công (dưới), chụp từ năm góc, ngoài cùng bên phải là bản đồ nhiệt.

Xem ảnh thì vẫn sót, nên ải thứ ba giao cho chương trình. Mình nhờ thẳng Claude sửa, và nó tự viết một script kiểm tra bằng Blender Python: mở mô hình ra, chạy qua từng khung hình của từng động tác, so với tư thế đứng yên, đo ra mấy loại lỗi này:

Đo cái gì

Nghĩa là lỗi gì

Cạnh bị rách

Một cạnh bị kéo dài gấp mấy lần, trên màn hình là một dải màu bị kéo dài hoặc một mảnh nhọn

Bị bóp dẹt

Một mặt bị ép tới gần như không còn diện tích, hay gặp ở mặt trong khớp

Lật mặt

Mặt bị lật ra sau, trong game sẽ thấy lỗ thủng

Đường nối bị hở

Khe giữa bộ phận được cắt rời (nắm đấm, vũ khí) với thân bị kéo rộng

Góc xoay của xương

Một xương xoay quá 110 độ, thường là do động tác làm quá đà

Đo xong, script chọn ra khung tệ nhất, chụp từ bốn góc mặt trước, 3/4, mặt bên, chéo sau, cộng thêm cận cảnh chỗ tệ nhất; ảnh cuối là bản đồ nhiệt: chỗ nào càng đỏ là bị kéo càng nặng. Mình chỉ cần nhìn một ảnh đó là biết lỗi nằm ở vai, cổ tay hay dưới mũ nấm.

Ngoài ra còn có một ngưỡng: bất kỳ khung nào của tấn công và đánh mạnh có quá 8 cạnh bị rách, quá 30 mặt bị bóp dẹt, hoặc có đỉnh không được xương nào kéo, có mảnh vụn rời khỏi thân lơ lửng, thì script không xuất GLB. Mô hình hỏng không vào được game, không phải đợi tới lúc chơi mới phát hiện.

Kết quả kiểm tra lần đầu của Trinh sát Bào tử:

  • Nắm đấm: lúc vung gậy, nắm đấm xoay 150 đến 180 độ, giữa nắm đấm cắt rời và cánh tay lộ ra vết cắt.
  • Gục ngã: lúc ngã mũ nấm nghiêng quá nhiều, vòng thân mảnh dưới mũ bị kéo hở, có 6 cạnh bị rách.

Cách sửa là nhét một "quả cầu khớp" vào khớp nắm đấm, lúc xoay quá đà thì vết cắt chỉ thấy quả cầu, giống khớp của mô hình đồ chơi cử động được; còn độ nghiêng của mũ lúc ngã thì giảm một nửa. Sửa xong: tấn công 0 cạnh, đánh mạnh 1 cạnh, gục ngã 0 cạnh, đứng yên, đi bộ, trúng đòn đều là 0, qua ngưỡng ngon lành.

Ải 4: backface culling, tìm lỗ thủng từ phía sau và ở cận cảnh

Ảnh kiểm tra backface culling của Trinh sát Bào tử: mặt trước, mặt bên, phía sau, nhìn từ trên phía sau, nhìn từ dưới lên, cận cảnh mặt, các khung tấn công và cận cảnh nắm đấm
Game chỉ vẽ mặt trước của lưới, nên phải kiểm tra từ phía sau, từ trên, từ dưới và ở cận cảnh xem có lỗ thủng không.

Để tiết kiệm hiệu năng, game chỉ vẽ mặt hướng ra ngoài của lưới. Mô hình nhìn trong Blender thì đầy đủ, vào game có thể nhìn từ một góc nào đó lại thấy trống rỗng.

Nên có thêm một ảnh bật "backface culling" (loại bỏ mặt sau), render theo đúng cách game vẽ: mặt trước, mặt bên, phía sau, nhìn từ trên, nhìn từ dưới, cộng thêm cận cảnh mặt và nắm đấm. Ảnh nhìn từ dưới lên đặc biệt quan trọng, vì nếp gấp dưới mũ nấm và đường nối ở thân mảnh bình thường camera ít khi quay tới, mà có lỗ là sẽ lòi ra ngay trong một đoạn cắt cảnh nào đó.

Ải 5: bake texture, texture 4K của Tripo có giống concept art không

Hàng trên là bản cũ 8 mảng màu, hàng dưới là bản mới dùng texture toàn thân, bên trái là concept art
Trên: bản cũ chỉ có 8 mảng màu. Dưới: bản mới bake texture gốc của Tripo về toàn thân, đốm mắt, đường khâu, khóa đều quay lại.

Bốn ải trước xem "hình dạng", ải cuối xem "màu sắc".

Mô hình Tripo AI tạo ra có kèm texture 4K, chi tiết rất nhiều. Nhưng ở bản đầu của quy trình, để mô hình nhẹ hơn, mình gom toàn bộ màu của con boss thành 8 mảng màu, kết quả là đốm mắt trên mũ chỉ còn một cục vàng, đường khâu chữ X trên xà cạp biến mất, khóa dây đeo nhòe thành một đống.

Bản thứ hai chuyển sang "texture toàn thân": mô hình sau khi giảm polygon được trải UV lại trong Blender, mỗi pixel quay về mô hình gốc của Tripo tìm điểm gần nhất để lấy màu, tức là bake lại chi tiết của texture 4K. Ảnh trên, hàng trên là các mảng màu bản cũ, hàng dưới là bản mới: con ngươi đen của đốm mắt, đường khâu trên xà cạp, khóa trên áo choàng đều quay lại, gần như y hệt concept art ngoài cùng bên trái.

Cái giá là file mỗi con boss nặng thêm 0,2 đến 0,5 MB. Trinh sát Bào tử từ 1,19 MB lên 1,56 MB, chạy trên điện thoại vẫn rất nhẹ.

Lỗi thường gặp khi rigging trong Blender và cách sửa

Chạy kiểm tra một lượt hết 52 con, lỗi thật ra chỉ có mấy loại:

Lỗi

Trông như thế nào

Cách sửa

Vùng chuyển tiếp ở khớp quá hẹp

Vừa xoay tay là vai bị kéo ra một dải màu

Cho trọng số xương chuyển tiếp từ từ quanh khớp, thêm một "xương phụ" chia bớt độ xoay

Khung vùng cố định quá rộng

Mũ giáp, cán cờ sau lưng vừa động là mép khung bị rách

Thu hẹp khung, chừa một chút chuyển tiếp ở mép

Nách bị tính vào eo

Giơ tay lên thì nách bị eo kéo lại

Dời tâm vùng chuyển tiếp ở eo xuống thấp

Lộ vết cắt nắm đấm

Nắm đấm xoay quá đà, thấy được mặt cắt

Nhét một quả cầu khớp vào khớp

Giơ tay lộ mảnh thừa

Mảnh thân vốn bị cánh tay che giờ lòi ra

Gắn xương xong thì xóa mảnh thừa dưới cánh tay

Chi tiết bị mảng màu xóa mất

Hoa văn, đường khâu, đinh tán biến mất

Chuyển sang texture toàn thân

Thứ tự sửa cũng rất quan trọng: chỉnh cái rẻ trước (kích thước khung, độ rộng vùng chuyển tiếp), rồi mới chỉnh cái đắt (biên độ động tác, cắt lại bộ phận). Có những cách sửa nhìn thì hợp lý nhưng thực tế còn tệ hơn, ví dụ khoanh thêm nhiều bộ phận vào vùng cố định lại sinh thêm một vòng cạnh cứng, số cạnh rách từ 4 tăng lên 17 đến 51. Nên mỗi lần sửa là phải chạy lại kiểm tra, để con số lên tiếng.

Sửa xong lượt này, cả 52 con boss đều qua ngưỡng: 30 con không còn chỗ rách nào, 22 con còn lại chỉ còn 1 đến 3 cạnh, dưới camera trong game thì không nhìn ra.

Những lỗi tránh được ngay từ trước khi tạo bằng Tripo AI

Rất nhiều lỗi thật ra tránh được ngay từ trước khi đưa vào Tripo. Mình giao mấy quy tắc này cho Claude, lúc viết prompt cho Codex vẽ concept art nó sẽ luôn ghi rõ:

  • Tư thế đứng chính diện: nhân vật hình người đứng tư thế chữ A, hai chân đặt phẳng; quái bốn chân đứng trên đất thì quay mặt trước, lệch tối đa 15 độ. Chỉ loài thủy sinh lơ lửng mới dùng góc 3/4.
  • Vũ khí không che thân: vũ khí dài như gậy, thước đo thì dựng bên hông, đừng chắn ngang ngực, không thì Tripo sẽ dính vũ khí với thân thành một khối, sau này rất khó cắt ra.
  • Thứ bay phất phơ thì làm đặc: khói bay, tóc bay, Tripo sẽ làm thành một cục đặc. Mình đổi thành những lọn khói ngắn ôm sát người, khói thật thì để hiệu ứng trong game lo.
  • Hoa văn không được giống chữ: khóa, huy hiệu, hoa văn khắc không được trông giống chữ cái hay con số, chữ giả do AI tạo ra phóng to lên nhìn rất kỳ.
  • Mỗi ảnh chỉ một con: ném nguyên tấm thiết kế vào, Tripo sẽ làm ba con thành một mô hình (bài trước mình đã dính rồi).

Quy trình nghiệm thu boss của mình

Từ lúc tạo bằng Tripo tới lúc vào game, con boss nào cũng đi qua đúng năm ải.
Từ lúc tạo bằng Tripo tới lúc vào game, con boss nào cũng đi qua đúng năm ải.

Cuối cùng mình gom lại thành một checklist, con boss nào trước khi lên game cũng phải tick theo:

  • So với concept art: dáng, phụ kiện, vũ khí đều đủ, vũ khí nằm trong tay, không xuyên qua người.
  • Mọi khung hình của đứng yên, đi bộ đều không bị rách (chạy liên tục, dễ bị thấy nhất).
  • Mỗi khung của tấn công, đánh mạnh có tối đa 8 cạnh bị rách, mục tiêu là 0 đến 3.
  • Khung dồn lực nhất của đánh mạnh: vai, nách, khuỷu tay, cổ tay, cổ không có dải màu bị kéo dài hay mảnh nhọn.
  • Giơ tay lên thì hông không lộ mảnh vụn, cũng không có mảnh nhỏ lơ lửng giữa không trung.
  • Bật backface culling không có lỗ thủng, đặc biệt xem phía sau, góc nhìn từ dưới lên và cận cảnh.
  • Texture: thấy được hoa văn, đường khâu, đinh tán, màu cùng tông với concept art.
  • Những chỗ phát sáng như mắt, đèn vẫn còn sáng.

Kết: để AI đo, để người xem

Dùng Tripo AI tạo mô hình 3D rất nhanh, một con boss vài phút là xong; thứ thật sự tốn thời gian là phần sau: "chắc chắn nó gắn xương xong, đặt vào cảnh 3D của Godot rồi vẫn không bị vỡ". Cách của mình là chia việc: cái gì định lượng được thì giao cho chương trình đo từng khung, cái gì không đo được thì chụp thành ảnh cho người xem. Blender script do Claude viết gom 52 con boss với mấy nghìn khung hình lại thành mỗi con một ảnh khung tệ nhất, mình chỉ cần bỏ ra vài giây xem ảnh đó là xong. Với mình, chỗ đáng giá nhất khi dùng Blender kết hợp AI không phải là nặn hình, mà là những việc kiểm tra lặp đi lặp lại nhưng đòi hỏi chính xác như thế này.

Nếu bạn cũng đang dùng AI tạo mô hình 3D để làm game và đang kẹt ở bước gắn xương hay làm động tác, cứ ghé Threads hoặc X của mình và để lại bình luận dưới bài đăng nhé.