เนื้อหาในเว็บไซต์นี้ได้รับการแปลโดยใช้ปัญญาประดิษฐ์ (AI) หรือเทคโนโลยีการแปลด้วยเครื่อง และอาจมีข้อผิดพลาด

Skip to content

CubePart: เครื่องสร้าง 3 มิติแบบควบคุมส่วนด้วยคำศัพท์เปิด

การสร้างสินทรัพย์ที่พร้อมใช้งานในเกมอย่างมีประสิทธิภาพ

SEO image for CubePart: An Open-Vocabulary Part-Controllable 3D Generator

แบบจำลองการสร้างแบบ 3 มิติสมัยใหม่สามารถสร้างวัตถุ 3 มิติที่สวยงามและซับซ้อนจากข้อความได้ แต่สำหรับนักพัฒนาเกม แบบจำลอง 3 มิติแบบรวมเป็นหนึ่งเดียวไม่มีประโยชน์ ตัวอย่างเช่น รถยนต์จำเป็นต้องขับได้ ล้อต้องหมุนแยกกัน ประตูต้องเปิดได้ และไฟหน้าต้องเปิดได้ 

ปัจจุบัน ศิลปิน 3D ต้องตัดโมเดลที่สร้างขึ้นด้วยตนเองและตั้งชื่อชิ้นส่วน—กระบวนการที่ไม่สามารถขยายขนาดได้ดี ความก้าวหน้าของเราคือ CubePart: กรอบการทำงาน AI เชิงสร้างสรรค์ตัวแรกที่ช่วยให้การสร้างตาข่าย 3D ที่สามารถควบคุมชิ้นส่วนและใช้คำศัพท์เปิดได้ CubePart ผลิตชุดตาข่ายที่ประกอบกันเป็นชิ้นที่แตกต่าง มีฟังก์ชันการทำงาน และมีการติดป้ายกำกับอย่างถูกต้อง ซึ่งตรงกับความต้องการในการเขียนโปรแกรมของนักพัฒนาได้ทันที

CubePart ขยายแนวคิดของโครงสร้างคงที่ที่เราได้แนะนำใน 4D Generation เพื่อเพิ่มศักยภาพให้ผู้สร้างสามารถกำหนดรายการชิ้นส่วนที่วัตถุควรถูกแยกออกเป็นได้ ชุดของเมชที่สร้างโดย CubePart สามารถนำไปใช้ในเอนจินเกมได้ทันที และสามารถควบคุมได้ด้วยแอนิเมชัน ฟิสิกส์ และสคริปต์เกมเพลย์โดยไม่ต้องทำความสะอาดด้วยตนเอง เราได้เผยแพร่ผลงานวิจัย CubePart ของเราบน arXiv และอัปเดตคลัง Cube แบบโอเพนซอร์สของเราเพื่อรองรับการสร้างที่สามารถควบคุมได้เป็นชิ้นส่วน ในปลายปีนี้ เราจะนำเสนอผลการวิจัยของเราที่งาน SIGGRAPH 

สคีมา: สัญญา API สำหรับสินทรัพย์ 3 มิติแบบโต้ตอบ

ใน Roblox พฤติกรรมเชิงโต้ตอบถูกนำมาใช้ในสคริปต์ที่ทำงานบนส่วนต่างๆ ซึ่งเป็นลูกที่มีชื่อเฉพาะของสินทรัพย์ แม้แต่สินทรัพย์ที่คล้ายกันอาจต้องการส่วนที่แตกต่างกันโดยสิ้นเชิงขึ้นอยู่กับเกมหรือสถานการณ์ การจัดหมวดหมู่แบบตายตัวจะจำกัดความคิดสร้างสรรค์และฟังก์ชันการทำงาน ดังนั้น CubePart จึงเสนออินพุตสองแบบ: 

  1. ข้อความคำอธิบายทั่วไปที่อธิบายลักษณะของวัตถุ: เช่น "รถแข่งธีมแมงกะพรุน"
  2. รายการส่วนประกอบที่จำเป็นซึ่งระบุไว้อย่างเฉพาะเจาะจงและเปิดกว้าง เรียกว่า สคีมา (schema): เช่น "ล้อหน้าซ้าย", "ล้อหน้าขวา", "ล้อหลังซ้าย", "ล้อหลังขวา", "ปืน", "ไฟหน้า", "ท่อไอเสีย", "ตัวถัง" 

สคีมาคือสัญญา API ระหว่างสินทรัพย์และโค้ดเกมเพลย์ และ CubePart ช่วยให้ผู้สร้างสามารถสร้างสินทรัพย์ที่สอดคล้องกับสัญญาได้ การควบคุมด้วยคำศัพท์เปิดนี้ช่วยให้ CubePart สามารถจับความหลากหลายของสินทรัพย์และประสบการณ์ใน Roblox ได้

การผลิตในสองขั้นตอน 

CubePart เป็นสถาปัตยกรรมแบบการแพร่กระจายสองขั้นตอนที่สร้างขึ้นบนการแทนรูปร่างแฝงของ VecSet 

ในภาพประกอบด้านล่าง ผู้ใช้ป้อนข้อความสองข้อความ 

  1. ข้อความตัวอย่างสำหรับระบบ: "รถลากที่มีลักษณะการ์ตูน" 
  2. สคีมา: "ตัวรถ", "แชสซี", "ล้อ", "ไฟสัญญาณบนหลังคา", "ชุดลากจูง"

ขั้นตอนที่ 1 มีหน้าที่กำหนดรูปร่างพื้นฐานของวัตถุ (รถลากที่มีลักษณะการ์ตูน) ขั้นตอนนี้สร้างแฝงเดียวสำหรับวัตถุทั้งหมดโดยใช้สถาปัตยกรรม MMDiT พร้อมตัวเข้ารหัสข้อความ Qwen-VL ที่ฝึกฝนบนคู่ข้อมูลเมช-ข้อความประมาณ 4.7 ล้านคู่ นี่คือขั้นตอนที่กินข้อมูลมาก: การแปลงภาษาที่มีคำศัพท์เปิดกว้างให้เป็นรูปทรงเรขาคณิต 3 มิติเป็นส่วนที่ยากของการสร้าง 3 มิติ และต้องการคลังข้อมูลขนาดใหญ่และหลากหลายเพื่อให้ได้ผลลัพธ์ที่ดี เรายังปรับแต่งขั้นที่ 1 เพิ่มเติมให้มีความตระหนักถึงโครงสร้าง (schema-aware) 

ขั้นตอนที่ 2 นำเอาแลตเทนท์จากขั้นตอนที่ 1 มาสร้างแลตเทนท์ส่วนหนึ่งสำหรับแต่ละรายการของสคีมาเพื่อสร้างวัตถุใหม่ด้วยส่วนประกอบ สำหรับตัวอย่างรถลากการ์ตูนของเรา ขั้นตอนที่ 2 จะสร้างแลตเทนท์ส่วนแยกต่างหากสำหรับห้องโดยสาร, โครงรถ, ล้อ, ไฟบนหลังคา, และชุดลาก เพื่อสร้างรถลากขั้นสุดท้ายที่มีส่วนประกอบที่ชัดเจนและใช้งานได้ ข้อมูล 3 มิติที่มีป้ายกำกับส่วนประกอบนั้นหายากกว่าข้อมูลเมช-เท็กซ์อย่างมาก ในขั้นตอนที่ 1 ที่ทำการดูดซับการจับคู่ข้อความที่ซับซ้อนกับรูปร่างจากกลุ่มข้อมูลขนาดใหญ่ ขั้นตอนที่ 2 จะไม่ต้องเรียนรู้ตำแหน่งขอบเขตของส่วนต่าง ๆ บนวัตถุที่โมเดลเข้าใจอยู่แล้ว แต่จะเรียนรู้เพียงตำแหน่งขอบเขตของส่วนต่าง ๆ บนวัตถุนั้น ๆ เท่านั้น เราสามารถเห็นการทดสอบการตัดส่วน (Ablation) ได้ในเอกสารวิจัย ซึ่งเป็นหลักฐานโดยตรงสำหรับการกล่าวอ้างนี้: การลบการฝึกอบรมล่วงหน้าในขั้นตอนที่ 1 ออกไป จะทำให้ความสามารถในการทั่วไปของขั้นตอนที่ 2 ในกรณีที่มีคำศัพท์ไม่จำกัดลดลงอย่างเห็นได้ชัด สรุปได้ว่า ขั้นตอนที่ 1 คือสิ่งที่ทำให้ขั้นตอนที่ 2 สามารถทั่วไปได้ 
นวัตกรรมที่สำคัญอีกประการหนึ่งในสถาปัตยกรรมของเราคือวิธีที่ส่วนต่างๆ สื่อสารกัน วิธีแก้ปัญหาของเราคือการแทรกบล็อกความสนใจข้ามส่วนที่เฉพาะเจาะจงแทนที่จะแก้ไขบล็อกที่มีอยู่ โดยมีการฉายผลลัพธ์ที่เริ่มต้นเป็นศูนย์เพื่อให้เริ่มต้นเป็นไม่มีผลและเรียนรู้การสื่อสารระหว่างส่วนโดยไม่รบกวนเส้นทางที่ฝึกฝนไว้ล่วงหน้า หลักการนี้จะคุ้นเคยกับผู้อ่านของ ControlNet ซึ่งนำมาใช้ที่นี่ในการแยกส่วน 3 มิติ สำหรับตัวอย่างรถลากของเรา บล็อกความสนใจข้ามส่วนจะช่วยให้แน่ใจว่าส่วนหัวและส่วนลากถูกรวมเข้าด้วยกันอย่างราบรื่นและวางตำแหน่งถูกต้องเมื่อเทียบกับแชสซีและล้อ

ชุดข้อมูลและกระบวนการ VLM ของเรา 

เพื่อฝึกอบรม CubePart เราได้สร้างชุดข้อมูลที่มีมากกว่า 460,000 รายการ—ใหญ่กว่าชุดข้อมูลสาธารณะก่อนหน้านี้ถึง 11 เท่า1—และ 2.02 ล้านชิ้นส่วน แทนที่จะใช้การติดป้ายกำกับด้วยมือ เราได้สร้างกระบวนการอัตโนมัติโดยใช้โมเดลวิสัยทัศน์-ภาษา (VLMs)

ระบบประมวลผลสร้างภาพ (pipeline) แปลงโมเดล 3 มิติหลายพันแบบจากหลายมุมมองโดยใช้วิธีการจับคู่: ภาพที่มีพื้นผิว (สำหรับบริบทเชิงความหมาย) และภาพที่มีสีบางส่วน (สำหรับการติดตามขอบเขตที่แม่นยำ) ทั้งสองภาพถูกประทับด้วยเครื่องหมายที่มีหมายเลขเดียวกัน ทำให้ VLM มีที่จับที่สามารถระบุด้วยข้อความเพื่อใช้เหตุผลในพื้นที่ 3 มิติ และจัดกลุ่มและตั้งชื่อแต่ละส่วนได้

ต่างจากชุดข้อมูลที่เผยแพร่ก่อนหน้านี้ซึ่งทุกล้อของยานพาหนะถูกระบุเพียงว่า "ล้อ" ชุดข้อมูลของเราสอนให้ AI รู้จักการแยกแยะเชิงพื้นที่ (เช่น การแยก "ล้อหน้าซ้าย" จาก "ล้อหลังขวา") ความแม่นยำในการจับคู่นี้คือสิ่งที่เอนจิ้นเกมต้องการ

สิ่งที่ CubePart เปิดโอกาสและอนาคตที่กำลังจะมาถึง

CubePart ช่วยให้ผู้สร้างสามารถสร้างสินทรัพย์ที่ตรงกับโค้ดเกมเพลย์ของพวกเขาและมีความเข้ากันได้โดยตรงกับงานแอนิเมชัน ฟิสิกส์ และสคริปต์ที่มีอยู่ CubePart ยังสามารถแยกองค์ประกอบของเมชที่ศิลปินสร้างไว้แล้วออกเป็นสคีมาใหม่ ซึ่งมีประโยชน์สำหรับการอัปเกรดสินทรัพย์เก่า ไม่ใช่แค่การสร้างสินทรัพย์ใหม่เท่านั้น

ยังมีงานอีกมากที่ต้องทำ CubePart จัดการการแยกส่วนของวัตถุแข็งได้ แต่เรากำลังทำงานเกี่ยวกับน้ำหนักของจุดยอดที่มีผิวหุ้มสำหรับการบิดเบือนของตัวละครอินทรีย์ การให้ความสนใจข้ามส่วนช่วยลดการทับซ้อนได้อย่างมากแต่ไม่สามารถกำจัดได้ทั้งหมด การให้เหตุผลเชิงพื้นที่—"ด้านหน้าซ้าย" เทียบกับ "ด้านหลังขวา"—ยังคงมีพื้นที่ให้ปรับปรุงอีกมาก

เรามองว่าการสร้างแบบขับเคลื่อนด้วยสคีมาเป็นขั้นตอนที่ทำให้การสร้าง 3 มิติแบบอัตโนมัติมีประโยชน์บนแพลตฟอร์มที่ทุกสินทรัพย์มีส่วนร่วมในการจำลอง ในไม่ช้า เทคโนโลยีนี้จะพร้อมใช้งานสำหรับผู้สร้าง Roblox โดยตรงภายใน Roblox Studio

1เมื่อเปรียบเทียบกับ PartVerseXL