Custom Search
แสดงบทความที่มีป้ายกำกับ AI แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ AI แสดงบทความทั้งหมด

วันอาทิตย์ที่ 8 พฤศจิกายน พ.ศ. 2569

กลับมาแล้ว: จาก 3ds Max สู่ AI — สร้างตัวละครอนิเมะ "มะลิริน" ให้เต้นด้วย Blender + ComfyUI

สวัสดีครับ หายไปนานมาก บล็อกนี้เคยเป็นที่จดความรู้ 3ds Max, ZBrush และ V-Ray ตั้งแต่ปี 2009 วันนี้กลับมาพร้อมของเล่นใหม่ คือการสร้างตัวละครอนิเมะออริจินัลให้เต้นได้ด้วย Blender + ComfyUI ทั้งหมดรันบนเครื่องตัวเอง

ตัวละครตัวแรกชื่อ มะลิริน (MaliRin) ผมเงินไล่ฟ้า ตาสีอำพัน กิ๊บดอกมะลิขอบทอง ริบบิ้นกรมท่า ช่องใหม่ที่ลงคลิปชื่อ Gkeng Gen CG

ภาพรวมขั้นตอน

  1. ออกแบบตัวละคร — โมเดล 3D ใน Blender → แปลงเป็นภาพอนิเมะด้วย Qwen Image Edit
  2. หาท่าเต้น — ไฟล์ motion capture ที่ใช้เชิงพาณิชย์ได้
  3. ใส่ท่าให้โมเดล 3D — retarget ใน Blender แล้วเรนเดอร์เป็น "วิดีโอขับ"
  4. แปลงเป็นอนิเมะ — Wan Animate 2 ใน ComfyUI ใช้วิดีโอขับ + ภาพตัวละคร
  5. เพลง + ตัดต่อ — ทำเพลงใหม่ด้วย AI แล้วต่อด้วย ffmpeg

1. ออกแบบตัวละคร: จาก 3D สู่ภาพอนิเมะ

เริ่มจากโมเดล 3D ที่มีโครงกระดูกพร้อมขยับ (ซ้าย) เรนเดอร์หน้าตรงแล้วให้ Qwen Image Edit วาดใหม่เป็นสไตล์อนิเมะ (กลาง) จากนั้นแก้ต่ออีกสองรอบ ให้ดูเป็นผู้ใหญ่ชัดเจน และเปลี่ยนกิ๊บเป็นดอกมะลิขอบทอง (ขวา) ภาพขวาสุดนี้คือ "ภาพอ้างอิงหลัก" ที่ใช้ทุกคลิปต่อจากนี้ ตัวละครจะได้หน้าตาเหมือนเดิมทุกคลิป

เคล็ดลับ: สั่งแก้ทีละอย่าง และเขียนในคำสั่งว่า "ส่วนอื่นเหมือนเดิมทุกอย่าง" ทุกครั้ง แล้วลองหลาย seed เลือกภาพที่เพี้ยนน้อยที่สุด

2. ท่าเต้น: ใช้ motion capture ที่ใช้เชิงพาณิชย์ได้

ถ้าจะลงช่องที่หารายได้ ไม่ควรดึงท่าจากคลิปของคนอื่น ผมเลยใช้ CMU Graphics Lab Motion Capture Database ของมหาวิทยาลัย Carnegie Mellon ซึ่งระบุว่าใส่ในงานเชิงพาณิชย์ได้ (ห้ามแค่เอาไฟล์ท่าไปขายต่อ) ไฟล์ที่ใช้คือ 55_02 ท่าแลมบาดา

ก่อนเลือก ผมเขียนสคริปต์ Python วาดโครงท่าออกมาดูก่อน และวัดว่าท่าไหนหมุนตัวหรือหันหลังบ่อย เพราะ AI วาดด้านหลังตัวละครได้ไม่ดีนัก ท่านี้หันหน้าเข้ากล้องเกือบตลอด จึงเหมาะที่สุด

3. ใส่ท่าให้โมเดล 3D ใน Blender

แปลงไฟล์ BVH ให้เป็นทิศของแต่ละท่อนกระดูก แล้วหมุนกระดูกตัวละครตามทิศนั้นไล่จากสะโพกไปปลายมือ ข้อดีคือสัดส่วนคนเต้นไม่ต้องเท่ากับตัวละคร ต่อด้วยล็อกเท้าไม่ให้ไถล ดันกระโปรงไม่ให้ทะลุขา และให้ตามองกล้อง สุดท้ายตั้งกล้องเคลื่อนช้า ๆ แล้วเรนเดอร์ด้วย EEVEE ได้ "วิดีโอขับ" ขนาด 480×848 ที่ 16 fps

4. แปลงเป็นอนิเมะด้วย Wan Animate 2

ใส่วิดีโอขับกับภาพอ้างอิงหลักเข้า Wan Animate 2 (รุ่น distill int8) ใน ComfyUI โมเดลจะวาดตัวละครของเราให้ขยับตามท่าในวิดีโอ

  • โมเดลขนาด 15.9 GB ใหญ่กว่า VRAM 16 GB ของการ์ดจอ จึงต้องแบ่งรันทีละท่อน ท่อนแรก 81 เฟรม ท่อนต่อไปท่อนละ 80 เฟรม และล้าง VRAM ก่อนเริ่มทุกท่อน
  • บน RTX 5060 Ti 16GB ใช้เวลาราว 7–12 นาทีต่อท่อน คลิป 14 วินาทีใช้ราวครึ่งชั่วโมง
  • ข้อความบอกฉากหลังแทบไม่มีผล โมเดลใช้ฉากหลังตามภาพอ้างอิง

5. ปัญหาที่เจอ: มือหลุดขอบภาพ

ผลรอบแรก มือที่ยกขึ้นหลุดขอบบนเกือบทั้งคลิป ผมคิดว่าแก้ได้ด้วยการถอยกล้องใน Blender ให้ตัวละครเล็กลง แต่ผลออกมาเหมือนเดิม (ภาพซ้ายคือวิดีโอขับที่ถอยกล้องแล้ว ภาพขวาคือผลจาก Wan)

สาเหตุคือ Wan Animate จะขยายตัวละครให้เต็มกรอบเท่ากับภาพอ้างอิง ไม่ได้ดูขนาดตัวในวิดีโอขับ ภาพอ้างอิงของผมยืนเต็มความสูงภาพ ตัวที่วาดออกมาจึงเต็มกรอบเสมอ วิธีแก้คือแก้ที่ภาพอ้างอิงแทน: ย่อตัวละครลงแล้วเว้นที่ว่างเหนือหัว

ผลหลังแก้ภาพอ้างอิง: มือที่ยกอยู่ในกรอบครบทุกเฟรม (เดิมหลุดขอบ 201 จาก 224 เฟรม) จากนั้นครอปภาพให้ตัวละครใหญ่ขึ้นตอนตัดต่อ และต่อท้ายด้วยช่วง "ยิ้มตอนจบ" ที่ทำด้วย Wan 2.2 TI2V-5B จากเฟรมสุดท้าย

6. เพลง

ห้ามใส่เพลงดังที่มีลิขสิทธิ์ เพราะ YouTube จะเคลมรายได้ทันที ผมใช้ Lyria ทำเพลงบรรเลงใหม่ทั้งเพลง แนวแลมบาดาผสมเสียงขิมให้มีความเป็นไทยนิด ๆ ส่วนบน TikTok ใช้เพลงจากคลังเพลงในแอปแทน

เครื่องที่ใช้

  • การ์ดจอ RTX 5060 Ti 16GB · RAM 64GB
  • Blender 5.2 · ComfyUI · Python

ติดตามคลิปของมะลิรินและตัวละครอื่น ๆ ได้ที่
YouTube: youtube.com/@GkengGenCG
TikTok: tiktok.com/@gkeng.gencg

ท่าเต้น: CMU Graphics Lab Motion Capture Database (mocap.cs.cmu.edu) · คลิปและภาพในบทความสร้างด้วย AI