Bridge to Omniverse / Isaac Sim

ส่งโมเดลจากเว็บแอป Meshy ไปยัง stage ของ NVIDIA Omniverse หรือ Isaac Sim ของคุณโดยตรง พร้อมใช้งานฟิสิกส์และป้ายกำกับเชิงความหมาย (semantic label) ในระหว่างการนำเข้า


ก่อนเริ่มต้น

  • คุณต้องมีแพ็กเกจ Pro ขึ้นไป สำหรับแพ็กเกจ Free และ Starter การคลิก Send to OV/Isaac จะเปิดตัวเลือกการอัปเกรด

  • คุณต้องใช้เว็บแอป Meshy บน Windows สำหรับระบบปฏิบัติการอื่น ๆ Send to OV/Isaac จะไม่สามารถใช้งานได้

  • ติดตั้งส่วนขยาย Meshy Bridge ใน Isaac Sim หรือแอป Omniverse Kit ของคุณ สำหรับขั้นตอนทั้งหมด ดูที่ Meshy for Omniverse / Isaac Sim

เริ่มต้น bridge

ส่วนขยายจะรัน bridge ตลอดเวลาที่เปิดใช้งาน ดังนั้นคุณไม่ต้องเริ่มอะไรเพิ่มเติม

หากต้องการเตรียมแอปให้พร้อม ให้ทำตามขั้นตอนต่อไปนี้:

  1. เปิด Isaac Sim หรือแอป Omniverse Kit ของคุณ

  2. คลิก Window > Extensions แล้วตรวจสอบว่า MESHY BRIDGE ถูกเปิดใช้งานอยู่

    หน้าต่าง Extensions ที่เปิดใช้งาน MESHY BRIDGE และเลือก ENABLED และ AUTOLOAD

  3. เปิดหรือสร้าง USD stage หากต้องการสร้างใหม่ ให้คลิก File > New

เปิดแอปค้างไว้ในขณะที่คุณส่งโมเดลจาก Meshy

ส่งโมเดล

หากต้องการส่งโมเดลไปยัง Omniverse หรือ Isaac Sim ให้ทำตามขั้นตอนต่อไปนี้:

  1. ในเว็บแอป Meshy บน Windows ให้เปิดโมเดลที่เสร็จสมบูรณ์แล้วในตัวแสดงผล

  2. ในแถบเครื่องมือของตัวแสดงผล คลิก DCC Bridge (ไอคอนปลั๊ก)

    ตัวแสดงผลของเว็บแอป Meshy ที่มีลูกศรชี้ไปยังไอคอน DCC Bridge ในแถบเครื่องมือ

  3. คลิก Send to OV/Isaac Meshy จะตรวจสอบว่า bridge กำลังทำงานอยู่ จากนั้นจะเปิดกล่องโต้ตอบ Sim-Ready Properties

    เมนู DCC Bridge ในเว็บแอป Meshy ที่มีลูกศรชี้ไปยัง Send to OV/Isaac

  4. ไม่บังคับ: เปลี่ยนการตั้งค่า Sim-Ready สำหรับรายละเอียดของแต่ละการตั้งค่า ดูที่ การตั้งค่า Sim-Ready

  5. ในกล่องโต้ตอบ Sim-Ready Properties ให้คลิก Send to OV/Isaac หากต้องการยกเลิกโดยไม่ส่ง ให้คลิก Cancel

Meshy จะส่งโมเดลเป็นไฟล์ USDZ พร้อมด้วยชื่อของโมเดลและการตั้งค่า Sim-Ready ของคุณ ส่วนขยายจะดาวน์โหลดไฟล์และเพิ่มโมเดลลงใน stage ที่เปิดอยู่ภายใต้ /World ในรูปแบบ prim ที่ตั้งชื่อตามโมเดลนั้น นอกจากนี้ยังจับคู่แกนขึ้น (up axis) และหน่วยของโมเดลให้ตรงกับ stage ด้วย

การตั้งค่า Sim-Ready

กล่องโต้ตอบ Sim-Ready Properties จะกำหนดพฤติกรรมของโมเดลในการจำลองฟิสิกส์และวิธีการติดป้ายกำกับ คุณสามารถส่งได้โดยไม่ต้องเปลี่ยนการตั้งค่าใด ๆ

กล่องโต้ตอบ Sim-Ready Properties ที่ตั้งค่า Semantic Class เป็น table เลือก Dynamic และ Auto, Convex Hull และแถบเลื่อนแรงเสียดทาน

กล่องโต้ตอบนี้มีการตั้งค่าดังต่อไปนี้:

  • Semantic Class: ไม่บังคับ ป้ายกำกับคลาส เช่น chair, table หรือ robot ส่วนขยายจะเขียนป้ายกำกับนี้เป็นป้ายกำกับเชิงความหมาย (semantic label) และยังเขียนเป็นป้ายกำกับคลาสแบบ legacy สำหรับ Isaac Sim เวอร์ชันเก่าด้วย
  • Wikidata QCode: ไม่บังคับ รหัส Wikidata เช่น Q15026 โดยจะขึ้นต้นด้วย Q ตามด้วยตัวเลขที่ไม่ขึ้นต้นด้วย 0
  • Height (m): ไม่บังคับ ความสูงจริงของโมเดลในหน่วยเมตร หากปล่อยว่างไว้ ส่วนขยายจะปรับขนาดโมเดลตามหน่วยของไฟล์และ stage
  • Body Type: Dynamic (ค่าเริ่มต้น), Kinematic หรือ Static
  • Mass (kg): Auto (ค่าเริ่มต้น), Mass หรือ Density Auto จะไม่ตั้งค่ามวลหรือความหนาแน่น ทำให้เอนจินฟิสิกส์ใช้ค่าเริ่มต้นและรูปทรงของ collider Mass จะตั้งค่ามวลเป็นกิโลกรัม Density จะตั้งค่าความหนาแน่นเป็น kg/m³ และป้ายกำกับจะเปลี่ยนเป็น Density (kg/m³) body แบบ Static จะไม่มีการตั้งค่ามวล
  • Collision Approximation: Convex Hull (ค่าเริ่มต้น), Convex Decomposition, Mesh Simplification, Bounding Cube, Bounding Sphere หรือ Triangle Mesh สำหรับ body แบบ Dynamic รายการนี้จะไม่มี Mesh Simplification และ Triangle Mesh ไม่สามารถใช้งานการชนแบบ SDF ได้
  • Static Friction, Dynamic Friction และ Restitution: ค่าแมททีเรียลฟิสิกส์ตั้งแต่ 0 ถึง 1 สำหรับ collider ของโมเดล ค่าเริ่มต้นคือ 0.50, 0.50 และ 0.00

ตรวจสอบการนำเข้า

หลังจาก Meshy แสดงข้อความ "Model sent to omniverse" โมเดลจะปรากฏใน stage ที่เปิดอยู่ภายใต้ /World

Stage ของ Isaac Sim ที่มีโมเดล woodland ที่นำเข้ามาแล้ว พร้อมด้วย prim และเมชของ Meshy ที่แสดงในแผง Stage

ส่วนขยายจะเพิ่ม UsdPhysics.CollisionAPI และ UsdPhysics.MeshCollisionAPI ให้กับแต่ละเมชในโมเดล สำหรับ body แบบ dynamic หรือ kinematic ส่วนขยายจะเพิ่ม UsdPhysics.RigidBodyAPI และ UsdPhysics.MassAPI ให้กับ prim ของโมเดลด้วย

หากต้องการทดสอบฟิสิกส์ ให้คลิก Play ใน Isaac Sim body แบบ dynamic จะเคลื่อนไหวไปพร้อมกับการจำลอง และ body แบบ static จะอยู่กับที่ ส่วน body แบบ kinematic จะเคลื่อนไหวได้ด้วยแอนิเมชันหรือสคริปต์เท่านั้น และ body อื่น ๆ ยังคงชนกับมันได้

ส่งโมเดลที่มีแอนิเมชัน

คุณส่งโมเดลที่มีแอนิเมชันด้วยวิธีเดียวกับโมเดลแบบ static Meshy จะส่งตัวละครที่ริกไว้พร้อมกับแอนิเมชันที่เลือก โมเดล Smart Rig ไม่มี DCC Bridge จึงไม่สามารถส่งได้

ทหารโรมันที่มีแอนิเมชันนำเข้าสู่ Isaac Sim พร้อมด้วยอาร์เมเจอร์และเมชที่แสดงในแผง Stage

การแก้ปัญหา

ตารางต่อไปนี้แสดงปัญหาที่พบบ่อย สาเหตุ และวิธีแก้ไข

ปัญหาสาเหตุวิธีแก้ไข
Meshy แสดงข้อความ "Failed to send model to omniverse" ก่อนที่กล่องโต้ตอบ Sim-Ready Properties จะเปิดขึ้นIsaac Sim หรือแอป Kit ของคุณยังไม่ได้เปิด หรือส่วนขยายปิดอยู่เปิดแอป แล้วเปิดใช้งาน MESHY BRIDGE ใน Window > Extensions จากนั้นส่งโมเดลอีกครั้ง
กล่องโต้ตอบเปิดขึ้น แต่การส่งล้มเหลว และ http://127.0.0.1:5331/status ในเบราว์เซอร์ของคุณไม่แสดง "dcc": "omniverse"แอปอื่นใช้พอร์ต 5331 อยู่ ทำให้ส่วนขยายไม่สามารถเริ่ม bridge ได้ปิดแอปอื่นนั้น แล้วปิดและเปิด MESHY BRIDGE อีกครั้งใน Window > Extensions ตรวจสอบว่าหน้าสถานะแสดง "dcc": "omniverse"
Meshy แสดงข้อความ "Failed to send model to omniverse" หลังจากที่คุณคลิก Send to OV/Isaac ในกล่องโต้ตอบ และหน้าสถานะแสดง "dcc": "omniverse"ไม่มี USD stage เปิดอยู่ Console ของแอปจะแสดง no active USD stageเปิดหรือสร้าง stage ด้วย File > New จากนั้นส่งโมเดลอีกครั้ง
Send to OV/Isaac ในกล่องโต้ตอบไม่สามารถใช้งานได้Wikidata QCode, Height (m) หรือค่ามวลหรือความหนาแน่นไม่ถูกต้องป้อน QCode ในรูปแบบ Q15026 และความสูง มวล หรือความหนาแน่นที่มากกว่า 0
Send to OV/Isaac ในเมนู DCC Bridge ไม่สามารถใช้งานได้คุณใช้เว็บแอป Meshy บน macOS หรือ Linuxใช้เว็บแอป Meshy บน Windows

ขั้นตอนถัดไป

  • หากต้องการเพิ่มแอนิเมชันให้กับตัวละครก่อนส่ง ดูที่ แอนิเมชัน