ทำให้การสร้างเนื้อหา 3 มิติใน ComfyUI ดีและสะดวกสบายเนื่องจากสร้างภาพ/วิดีโอ!
นี่คือชุดโหนดที่ครอบคลุมที่ช่วยให้ ComfyUI สามารถประมวลผลอินพุต 3 มิติ (พื้นผิวตาข่ายและ UV ฯลฯ) โดยใช้อัลกอริธึมล้ำสมัย (3DGS, NeRF ฯลฯ) และโมเดล (InstantMesh, CRM, TripoSR ฯลฯ)
สามารถติดตั้งได้โดยตรงจาก ComfyUI-Manager หรือไม่
gcc g++
สำหรับ Linux เพื่อให้ InstantNGP & Convert 3DGS to Mesh with NeRF and Marching_Cubes
ทำงานได้ เนื่องจากทั้งสองโหนดใช้ JIT torch cpp ส่วนขยายที่สร้างในรันไทม์ แต่ฉันวางแผนที่จะแทนที่โหนดเหล่านั้นในไม่ช้า สำหรับกรณีการใช้งาน โปรดดูตัวอย่างเวิร์กโฟลว์ [ อัปเดตล่าสุด: 01/สิงหาคม/2024 ]
StableFast3D : ความเสถียร-AI/เสถียร-เร็ว-3d
CharacterGen : zjp-shadow/CharacterGen
Unique3D : AiuniAI/Unique3D
Your ComfyUI root directory/ComfyUI/models/checkpoints
Your ComfyUI root directory/ComfyUI/models/controlnet
Your ComfyUI root directory/ComfyUI/models/ipadapter
Your ComfyUI root directory/ComfyUI/models/clip_vision
Your ComfyUI root directory/ComfyUI/models/upscale_models
Era3D MVDiffusion Model : pengHTYX/Era3D
แบบจำลองการสร้างใหม่ InstantMesh : TencentARC/InstantMesh
Zero123++ : SUDO-AI-3D/zero123plus
Convolutional Restruction Model : thu-ml/CRM
TripoSR : VAST-AI-การวิจัย/TripoSR | ComfyUI-Flowty-TripoSR
Wonder3D : xxlong0/Wonder3D
Large Multiview Gaussian Model : 3DTopia/LGM
หม้อแปลง Triplane Gaussian : VAST-AI-การวิจัย/TriplaneGaussian
ดูตัวอย่าง 3DGS และ 3D Mesh : การแสดงภาพ 3 มิติภายใน ComfyUI:
Stack Orbit Camera Poses : สร้างชุดท่ากล้องทุกช่วงโดยอัตโนมัติ
คุณสามารถใช้มันเพื่อปรับสภาพ StableZero123 ได้ (คุณต้องดาวน์โหลดจุดตรวจสอบก่อน) พร้อมโพสท่ากล้องครบวงจรในการส่งผ่านครั้งเดียว
คุณสามารถใช้มันเพื่อสร้างท่ากล้องวงโคจรและป้อนข้อมูลโดยตรงไปยังโหนดกระบวนการ 3 มิติอื่น ๆ (เช่น GaussianSplatting และ BakeTextureToMesh)
ตัวอย่างการใช้งาน:
ระบบพิกัด:
FlexiCubes : nv-tlabs/FlexiCubes
NGP ทันที : nerfacc
การสาดแบบเกาส์เซียน 3 มิติ
เครื่องเรนเดอร์วงโคจรแบบเกาส์เซียน
ตัวเรนเดอร์วงโคจรแบบตาข่าย
Fitting_Mesh_With_Multiview_Images
บันทึกและโหลดไฟล์ 3D
สลับแกนสำหรับ 3DGS และ 3D Mesh
ไฟล์กำหนดค่าระบบที่ปรับแต่งได้
รวม CharacterGen
ปรับปรุงอัลกอริธึมการแปลง 3DGS/Nerf เป็น Mesh:
เพิ่มและปรับปรุงอัลกอริธึม MVS ที่ดีที่สุด (เช่น 2DGS เป็นต้น)
เพิ่มการประมาณท่าทางกล้องจากภาพดิบหลายมุมมอง
nodes.py :
ประกอบด้วยโค้ดอินเทอร์เฟซสำหรับโหนด Comfy3D ทั้งหมด (เช่น โหนดที่คุณสามารถมองเห็นและใช้งานภายใน ComfyUI ได้จริง) คุณสามารถเพิ่มโหนดใหม่ได้ที่นี่
Gen_3D_โมดูล :
โฟลเดอร์ที่มีรหัสสำหรับโมเดล/ระบบกำเนิดทั้งหมด (เช่น โมเดลการแพร่กระจายหลายมุมมอง โมเดลการสร้างใหม่ 3 มิติ) ควรเพิ่มโมดูลกำเนิด 3D ใหม่ที่นี่
MVs_อัลกอริทึม :
โฟลเดอร์ที่มีโค้ดสำหรับอัลกอริธึมสเตอริโอหลายมุมมองทั้งหมด เช่น อัลกอริธึม (เช่น Gaussian Splatting, NeRF และ FlexiCubes) ที่ถ่ายภาพหลายมุมมองและแปลงเป็นรูปแบบ 3 มิติ (เช่น Gaussians, MLP หรือ Mesh) ควรเพิ่มอัลกอริทึม MVS ใหม่ที่นี่
เว็บ :
โฟลเดอร์ที่มีไฟล์และโค้ด (html, js, css) สำหรับทุกสิ่งที่เกี่ยวข้องกับ UI ของเบราว์เซอร์ (เช่น เค้าโครง HTML สไตล์ และตรรกะหลักสำหรับการดูตัวอย่าง 3D Mesh & Gaussians) ควรเพิ่ม UI เว็บใหม่ที่นี่
เว็บเซิร์ฟเวอร์ :
โฟลเดอร์ที่มีรหัสสำหรับการสื่อสารกับเบราว์เซอร์ เช่น จัดการกับคำขอเว็บไคลเอ็นต์ (เช่น การส่ง 3D Mesh ไปยังไคลเอนต์เมื่อมีการร้องขอด้วยเส้นทาง URL บางเส้นทาง) ควรเพิ่มฟังก์ชันที่เกี่ยวข้องกับเว็บเซิร์ฟเวอร์ใหม่ที่นี่
การกำหนดค่า :
โฟลเดอร์ที่มีไฟล์กำหนดค่าที่แตกต่างกันสำหรับโมดูลที่แตกต่างกัน ควรเพิ่มการกำหนดค่าใหม่ที่นี่ ใช้โฟลเดอร์ย่อยหากมีการกำหนดค่ามากกว่าหนึ่งรายการในโมดูลเดียว (เช่น Unique3D, CRM)
จุดตรวจ :
โฟลเดอร์ที่มีโมเดลที่ได้รับการฝึกอบรมล่วงหน้าทั้งหมดและไฟล์กำหนดค่าสถาปัตยกรรมโมเดลบางส่วนที่ตัวกระจายสัญญาณต้องการ จุดตรวจสอบใหม่หากสามารถดาวน์โหลดได้โดยอัตโนมัติโดยโหนด Load_Diffusers Pipeline
จากนั้นควรเพิ่มที่นี่
ติดตั้ง.py :
สคริปต์การติดตั้งหลักจะดาวน์โหลดและติดตั้ง Pre-builds โดยอัตโนมัติตามสภาพแวดล้อมรันไทม์ของคุณ หากไม่พบ Pre-builds ที่เกี่ยวข้อง สคริปต์ build จะเริ่มทำงานโดยอัตโนมัติ เรียกโดย ComfyUI-Manager ทันทีหลังจากติดตั้งการขึ้นต่อกันที่ระบุไว้ในข้อกำหนด .txt โดยใช้ pip
หากโมดูลใหม่ที่คุณพยายามเพิ่มต้องการแพ็คเกจเพิ่มเติมที่ไม่สามารถเพิ่มลงใน Requirement.txt และ build_config.remote_packages ได้ง่ายๆ คุณสามารถลองเพิ่มได้โดยแก้ไขสคริปต์นี้
_Pre_Builds :
โฟลเดอร์ที่มีไฟล์และโค้ดสำหรับสร้างการขึ้นต่อกันที่จำเป็นทั้งหมด หากคุณต้องการสร้างการขึ้นต่อกันเพิ่มเติมล่วงหน้า โปรดตรวจสอบ _Pre_Builds/README.md เพื่อดูข้อมูลเพิ่มเติม
World Camera
+y up target
| | /
| | /
|______+x |/______right
/ /
/ /
/ /
+z forward
z-axis is pointing towards you and is coming out of the screen
elevation: in (-90, 90), from +y to +x is (-90, 0)
azimuth: in (-180, 180), from +z to +x is (0, 90)
[F glutil.cpp:338] eglInitialize() failed
) ให้ตั้ง force_cuda_rasterize
เป็น true บนโหนดที่เกี่ยวข้อง