Code Monkey home page Code Monkey logo

comfyui-3d-pack's Introduction

ComfyUI-3D-Pack

Make ComfyUI generates 3D assets as good & convenient as it generates image/video!
This is an extensive node suite that enables ComfyUI to process 3D inputs (Mesh & UV Texture, etc.) using cutting edge algorithms (3DGS, NeRF, etc.) and models (InstantMesh, CRM, TripoSR, etc.)

FeaturesRoadmapInstallRunTipsSupporters

Currently support:

  • For use case please check Example Workflows. [Last update: 02/06/2024]

  • Era3D Diffusion Model: pengHTYX/Era3D

    • Single image to 6 multi-view images & normal maps with resulution: 512X512
    • Note: you need at least 16GB vram to run this model
  • InstantMesh Reconstruction Model: TencentARC/InstantMesh

    • Sparse multi-view images with white background to 3D Mesh with RGB texture
    • Works with arbitrary MVDiffusion models (Probably works best with Zero123++, but also works with CRM MVDiffusion model)

    2024-05-23.17-35-22.mp4
    2024-05-23.17-32-31.mp4

  • Zero123++: SUDO-AI-3D/zero123plus

    • Single image to 6 view images with resulution: 320X320
  • CRM: thu-ml/CRM

    • Three stages pipeline:

      1. Single image to 6 view images (Front, Back, Left, Right, Top & Down)
      2. Single image & 6 view images to 6 same views CCMs (Canonical Coordinate Maps)
      3. 6 view images & CCMs to 3D mesh
    • Note: For low vram pc, if you can't fit all three models for each stages into your GPU memory, then you can divide those three stages into different comfy workflow and run them separately

      2024-03-12.22-05-10.mp4

  • TripoSR: VAST-AI-Research/TripoSR | ComfyUI-Flowty-TripoSR

    • Generate NeRF representation and using marching cube to turn it into 3D mesh

      2024-03-05.22-38-36.mp4

  • Wonder3D: xxlong0/Wonder3D

    • Generate spatial consistent 6 views images & normal maps from a single image Wonder3D_FatCat_MVs
  • Large Multiview Gaussian Model: 3DTopia/LGM

    • Enable single image to 3D Gaussian in less than 30 seconds on a RTX3080 GPU, later you can also convert 3D Gaussian to mesh

      2024-02-08.23-36-31.mp4

  • Triplane Gaussian Transformers: VAST-AI-Research/TriplaneGaussian

    • Enable single image to 3D Gaussian in less than 10 seconds on a RTX3080 GPU, later you can also convert 3D Gaussian to mesh

      2024-02-08.23-57-37.mp4

  • Preview 3DGS and 3D Mesh: 3D Visualization inside ComfyUI:

  • Stack Orbit Camera Poses: Automatically generate all range of camera pose combinations

    • You can use it to conditioning the StableZero123 (You need to Download the checkpoint first), with full range of camera poses in one prompt pass

    • You can use it to generate the orbit camera poses and directly input to other 3D process node (e.g. GaussianSplatting and BakeTextureToMesh)

    • Example usage:


    • Coordinate system:

      • Azimuth: In top view, from angle 0 rotate 360 degree with step -90 you get (0, -90, -180/180, 90, 0), in this case camera rotates clock-wise, vice versa.
      • Elevation: 0 when camera points horizontally forward, pointing down to the ground is negitive angle, vice versa.
  • FlexiCubes: nv-tlabs/FlexiCubes

    • Multi-View depth & mask (optional normal maps) as inputs

    • Export to 3D Mesh

    • Usage guide:

      • voxel_grids_resolution: determine mesh resolution/quality
      • depth_min_distance depth_max_distance : distance from object to camera, object parts in the render that is closer(futher) to camera than depth_min_distance(depth_max_distance) will be rendered with pure white(black) RGB value 1, 1, 1(0, 0, 0)
      • mask_loss_weight: Control the silhouette of reconstrocted 3D mesh
      • depth_loss_weight: Control the shape of reconstrocted 3D mesh, this loss will also affect the mesh deform detail on the surface, so results depends on quality of the depth map
      • normal_loss_weight: Optional. Use to refine the mesh deform detail on the surface
      • sdf_regularizer_weight: Helps to remove floaters in areas of the shape that are not supervised by the application objective, such as internal faces when using image supervision only
      • remove_floaters_weight: This can be increased if you observe artifacts in flat areas
      • cube_stabilizer_weight: This does not have a significant impact during the optimization of a single shape, however it helps to stabilizing training in somecases

      2024-04-12-16-21-24.mp4

  • Instant NGP: nerfacc

    • Multi-View images as inputs
    • Export to 3D Mesh using marching cubes
  • 3D Gaussian Splatting

    • Improved Differential Gaussian Rasterization
    • Better Compactness-based Densification method from Gsgen,
    • Support initialize gaussians from given 3D mesh (Optional)
    • Support mini-batch optimazation
    • Multi-View images as inputs
    • Export to standard 3DGS .ply format supported
  • Gaussian Splatting Orbit Renderer

    • Render 3DGS to images sequences or video, given a 3DGS file and camera poses generated by Stack Orbit Camera Poses node
  • Mesh Orbit Renderer

    • Render 3D mesh to images sequences or video, given a mesh file and camera poses generated by Stack Orbit Camera Poses node
  • Fitting_Mesh_With_Multiview_Images

    • Bake Multi-View images into UVTexture of given 3D mesh using Nvdiffrast, supports:
    • Export to .obj, .ply, .glb
  • NeuS

    • Fit a coarse mesh from sparse multi-view images & normal maps, as little as 4 to 6 views, pretty good at reconstruct the shape from reference images but texture lacking details.
  • Deep Marching Tetrahedrons

    • Allow convert 3DGS .ply file to 3D mesh
      Note: I didn't spent time to turn the hyperprameters yet, the result will be improved in the future!
  • Save & Load 3D file

    • .obj, .ply, .glb for 3D Mesh
    • .ply for 3DGS
  • Switch Axis for 3DGS & 3D Mesh

    • Since different algorithms likely use different coordinate system, so the ability to re-mapping the axis of coordinate is crucial for passing generated result between differnt nodes.
  • Customizable system config file

    • Custom clients IP address

Roadmap:

  • Add DMTet algorithm to allow conversion from points cloud(Gaussian/.ply) to mesh (.obj, .ply, .glb)

  • Integrate Triplane Meets Gaussian Splatting: Fast and Generalizable Single-View 3D Reconstruction with Transformers

  • Add interactive 3D UI inside ComfuUI to visulaize training and generated results for 3D representations

  • Add a new node to generate renderer image sequence given a 3D gaussians and orbit camera poses (So we can later feed it to the differentiable renderer to bake it onto a given mesh)

  • Integrate LGM: Large Multi-View Gaussian Model for High-Resolution 3D Content Creation

  • Add camera pose estimation from raw multi-views images

  • Add & Improve a few best MVS algorithms (e.g instant-ngp, NeuS2, GaussianPro, etc.)

  • Improve 3DGS/Nerf to Mesh conversion algorithms:

    • Support to training DMTet with images(RGB, Alpha, Normal Map)
    • Find better methods to converts 3DGS or Points Cloud to Mesh (Normal maps reconstruction maybe?)
  • Add a general SDS/ISM Optimization algorithm to allow training 3D representations with diffusion model

    • Need to do some in-depth research on Interval Score Matching (ISM), since math behind it makes perfect sense and also there are so many ways we could improve upon the result obtained from LucidDreamer
    • On Hold since runtime cost to generate an is too big (3+hours for an average RTX GPU like 3080)

Install:

[IMPORTANT!!!]
Currently this package is only been tested in following setups:

  • Windows 10/11 (Tested on my laptop)
  • Ubuntu 23.10 (Tested by @watsieboi)
  • ComfyUI python_embed/Miniconda/Conda Python 3.11.x
  • Torch version >= 2.1.2+cu121

Assume you have already downloaded ComfyUI & Configed your CUDA environment.

Install Method 0: Directly inside ComfyUI Windows Python Embeded Environment

Currently support: (python3.10/3.11/3.12 cuda12.1)

First install Visual Studio Build Tools 2022/2019 with Workloads: Desktop development with C++ (There are a few JIT torch cpp extension that builds in runtime)

Go to the Comfy3D root directory: ComfyUI Root Directory\ComfyUI\custom_nodes\ComfyUI-3D-Pack and run:

# Run .bat with python version corresponding to the version of your ComfyUI python environment

# install_windows_portable_win_py310_cu121.bat
install_windows_portable_win_py311_cu121.bat
# install_windows_portable_win_py312_cu121.bat

Install Method 1: Using Miniconda(Works on Windows & Linux & Mac)

Note: In some edge cases Miniconda fails but Anaconda could fix the issue

Setup with Miniconda:

First download Miniconda (One of the best way to manage a clean and separated python envirments)

Then running following commands to setup the Miniconda environment for ComfyUI:

# Go to your Your ComfyUI root directory, for my example:
cd C:\Users\reall\Softwares\ComfyUI_windows_portable 

conda create -p ./python_miniconda_env/ComfyUI python=3.11

# conda will tell what command to use to activate the env
conda activate C:\Users\reall\Softwares\ComfyUI_windows_portable\python_miniconda_env\ComfyUI

# update pip
python -m pip install --upgrade pip

# You can using following command to installing CUDA only in the miniconda environment you just created if you don't want to donwload and install it manually & globally:
# conda install -c "nvidia/label/cuda-12.1.0" cuda-toolkit

# Install the main packahes
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121

pip install -r ./ComfyUI/requirements.txt

# Then go to ComfyUI-3D-Pack directory under the ComfyUI Root Directory\ComfyUI\custom_nodes for my example is:
cd C:\Users\reall\Softwares\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack

Install with Miniconda:

Go to the Comfy3D root directory: ComfyUI Root Directory\ComfyUI\custom_nodes\ComfyUI-3D-Pack and run:

install_miniconda.bat

Just in case install_miniconda.bat may not working in your OS, you could also run the following commands under the same directory: (Works with Linux & macOS)

pip install -r requirements.txt

pip install -r requirements_post.txt

Plus:

Install and run with docker:

Gpu support during Docker build time is required to install all requirenents. On Linux host you could setup nvidia-container-runtime. On Windows it is quite different and not checked at moment.

Linux setup:
  1. Install nvidia-container-runtime:

    sudo apt-get install nvidia-container-runtime
  2. Edit/create the /etc/docker/daemon.json with content:

    {
        "runtimes": {
            "nvidia": {
                "path": "/usr/bin/nvidia-container-runtime",
                "runtimeArgs": []
            } 
        },
        "default-runtime": "nvidia" 
    }
  3. Restart docker daemon:

    sudo systemctl restart docker

Finally build and run docker container with:

docker build -t comfy3d . && docker run --rm -it -p 8188:8188 --gpus all comfy3d

Run:

Copy the files inside folder __New_ComfyUI_Bats to your ComfyUI root directory, and double click run_nvidia_gpu_miniconda.bat to start ComfyUI!

  • Alternatively you can just activate the Conda env: python_miniconda_env\ComfyUI, and go to your ComfyUI root directory then run command python ./ComfyUI/main.py

Tips

  • OpenGL world & camera coordinate system:
    World            Camera        
  
     +y              up  target                                              
     |               |  /                                            
     |               | /                                                
     |______+x       |/______right                                      
    /                /         
   /                /          
  /                /           
 +z               forward           

elevation: in (-90, 90), from +y to -y is (-90, 90)
azimuth: in (-180, 180), from +z to +x is (0, 90)
  • Wonder3D world & camera coordinate system:

wonder3d_coordinate

  • Three.js coordinate system: (z-axis is pointing towards you and is coming out of the screen)

right_hand_coordinate_system

  • If you encounter OpenGL errors (e.g., [F glutil.cpp:338] eglInitialize() failed), then set force_cuda_rasterize to true on corresponding node
  • If after the installation, your ComfyUI get stucked at starting or running, you could following the instruction in following link to solve the problem: Code Hangs Indefinitely When Evaluating Neuron Models on GPU

Supporters

comfyui-3d-pack's People

Contributors

haohaocreates avatar if-ai avatar jaeh avatar kalemas avatar mrforexample avatar yanwenkun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

comfyui-3d-pack's Issues

installed all the dependencies and still there is an error it shows with simple_knn

not sure why this and can you pin point to the problem here

Traceback (most recent call last):
  File "D:\AI\comfyUI\nodes.py", line 1893, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "D:\AI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\__init__.py", line 8, in <module>
    module = importlib.import_module(f".{nodes_filename}", package=__name__)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Python311\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "D:\AI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 13, in <module>
    from .algorithms.main_3DGS import GaussianSplatting, GSParams
  File "D:\AI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS.py", line 9, in <module>
    from .main_3DGS_renderer import Renderer
  File "D:\AI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS_renderer.py", line 30, in <module>
    from simple_knn._C import distCUDA2
ModuleNotFoundError: No module named 'simple_knn'

Cannot import D:\AI\ComfyUI\custom_nodes\ComfyUI-3D-Pack module for custom nodes: No module named 'simple_knn'

[Bug] After updating, the following error causes Import Failed: ModuleNotFoundError: No module named 'nvdiffrast'

Thanks for releasing this. Looking forward to testing it out.

I had installed earlier and got no error mesages, however after updating to Commit 4 [0d5e579] a couple hours ago, the following error appears:

Traceback (most recent call last):
File "/blah/ComfyUI/nodes.py", line 1810, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/blah/ComfyUI/custom_nodes/ComfyUI-3D-Pack/init.py", line 8, in
module = importlib.import_module(f".{nodes_filename}", package=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/blah/miniconda3/lib/python3.11/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "/blah/ComfyUI/custom_nodes/ComfyUI-3D-Pack/nodes.py", line 6, in
from .diff_rast.diff_texturing import DiffTextureBaker
File "/blah/ComfyUI/custom_nodes/ComfyUI-3D-Pack/diff_rast/diff_texturing.py", line 8, in
from ..diff_rast.diff_mesh_renderer import Renderer
File "/blah/ComfyUI/custom_nodes/ComfyUI-3D-Pack/diff_rast/diff_mesh_renderer.py", line 8, in
import nvdiffrast.torch as dr
ModuleNotFoundError: No module named 'nvdiffrast'

Cannot import /blah/ComfyUI/custom_nodes/ComfyUI-3D-Pack module for custom nodes: No module named 'nvdiffrast'

I tried 'pip install nvdiffrast' but got the follwing response:

ERROR: Could not find a version that satisfies the requirement nvdiffrast (from versions: none)
ERROR: No matching distribution found for nvdiffrast

I'm guessing it could be something to do with a torch version conflict, I am using (and require) version 2.1.2 for several other custom nodes. I tried uninstalling and doing a fresh install via the manager and the issue persists.

Any ideas?

Ubuntu 23.10 successful install 😄

I successfully installed on Ubuntu without deviating from the original install instructions too much. Here's how I got this code working:

  • conda create --name comfy -y python=3.11
  • conda activate comfy
  • python -m pip install --upgrade pip
  • conda install -c "nvidia/label/cuda-12.1.0" cuda-toolkit (I've found this to be more successful than globally installing CUDA when you need different versions for different environments)

From there I followed the normal install instructions and "Install Plan B". That got me 95% of the way there, then it was a matter of installing a couple random dependencies as they popped up (matplotlib and some others). Next I downloaded the zero123 model and boom the code runs beautifully. Thank you MrForExample for the amazing implementation, this is truly groundbreaking!! I'm inspired to experiment with building my own GS related nodes in ComfyUI :)

No module named 'diff_gaussian_rasterization'

Hi ,

This looks interesting and pip install -r requirements.txt
went fine. Then on running " comfy ui " the diff_gaussian_rasterization
module can't be imported in `main_3dgs_renderer' ..

How can I install `diff_gaussian_rasterization' , which seems to be a
submodule of the INRIA 'gaussian splitting' repo ? I'll try installing from
that repo though this has the actual code :
[ https://github.com/graphdeco-inria/diff-gaussian-rasterization ]

** ComfyUI startup time: 2024-01-31 15:27:10.696087
** Platform: Windows
** Python version: 3.10.7 (tags/v3.10.7:6cc6b13, Sep  5 2022, 14:08:36) [MSC v.1933 64 bit (AMD64)]
** Python executable: C:\Users\chuan_l\AppData\Local\Programs\Python\Python310\python.exe

Traceback (most recent call last):
  File "C:\Users\chuan_l\Documents\Repo\ComfyUI\nodes.py", line 1893, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\chuan_l\Documents\Repo\ComfyUI\custom_nodes\ComfyUI-3D-Pack\__init__.py", line 8, in <module>
    module = importlib.import_module(f".{nodes_filename}", package=__name__)
  File "C:\Users\chuan_l\AppData\Local\Programs\Python\Python310\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1050, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1027, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 688, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 883, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "C:\Users\chuan_l\Documents\Repo\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 19, in <module>
    from .algorithms.main_3DGS import GaussianSplatting, GSParams
  File "C:\Users\chuan_l\Documents\Repo\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS.py", line 11, in <module>
    from .main_3DGS_renderer import Renderer
  File "C:\Users\chuan_l\Documents\Repo\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS_renderer.py", line 26, in <module>
    from diff_gaussian_rasterization import (
ModuleNotFoundError: No module named 'diff_gaussian_rasterization'

Cannot import C:\Users\chuan_l\Documents\Repo\ComfyUI\custom_nodes\ComfyUI-3D-Pack module for custom nodes: No module named 'diff_gaussian_rasterization'

Thanks !

Import Failed bug

Hi I have follow all the instruction but I have import failed bug I'm using windows 10 and 24go vram nvidia card
arfff

how to avoid miniconda?

I don't have miniconda installed on my system and i use venv from python to run my comfy
is it possible to run this repo?
if so, can I have a guide to install it please?

Error while installing

I got this error during installation:

error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.29.30133\bin\HostX86\x64\cl.exe' failed with exit code 2
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pytorch3d
Running setup.py clean for pytorch3d
Building wheel for torch-scatter (setup.py) ... done
Created wheel for torch-scatter: filename=torch_scatter-2.1.2-cp311-cp311-win_amd64.whl size=3106178 sha256=930e53c86f48547dd34af4098eadb89f7467e3dc770562cb8145fbaf0a593a61
Stored in directory: C:\Users\rafae\AppData\Local\Temp\pip-ephem-wheel-cache-hgjnvqf_\wheels\fa\26\ab\08e8b8230fe29a7c209f0f26e92b097146f076d2184f24598f
Building wheel for simple-knn (setup.py) ... done
Created wheel for simple-knn: filename=simple_knn-0.0.0-cp311-cp311-win_amd64.whl size=403491 sha256=af65de468c93dbec8595ccda36ecb05a1f14d6b82c42b3deecb2dbfc5a4f70eb
Stored in directory: C:\Users\rafae\AppData\Local\Temp\pip-ephem-wheel-cache-hgjnvqf_\wheels\cb\f8\29\513f7a4dc0ff322452961b34dd416713467ce2bee930dfd229
Building wheel for kiui (setup.py) ... done
Created wheel for kiui: filename=kiui-0.2.4-py3-none-any.whl size=1189924 sha256=e82a60d07d79f79a9e3ed8a26ef116c32831813fb55bb92975f288cef9a9dd12
Stored in directory: C:\Users\rafae\AppData\Local\Temp\pip-ephem-wheel-cache-hgjnvqf_\wheels\20\3c\17\e791a15a84c4c4e2281c95331ff68b27a12f93ce8aa4c0aaf9
Building wheel for pygltflib (setup.py) ... done
Created wheel for pygltflib: filename=pygltflib-1.16.1-py3-none-any.whl size=27197 sha256=197a8b7eeeb7a496e9e8f6b94431aa52a261ec593186ca1c0795d9f8611f8eeb
Stored in directory: c:\users\rafae\appdata\local\pip\cache\wheels\04\ff\8c\86754a2795e826568c0464a00ca03ca29a5468148bb0406d65
Successfully built diff-gaussian-rasterization nvdiffrast torch-scatter simple-knn kiui pygltflib
Failed to build pytorch3d
ERROR: Could not build wheels for pytorch3d, which is required to install pyproject.toml-based projects
The system cannot find the path specified.
Install Finished!
Press any key to continue . . .

ComfyUI-3D-Pack is missing

Hi
I followed every step as it was described on windows 11.
When executing the steps described in the install documentation, everything seems to install without any errors.
But in the last step when I check under custom_nodes/ the folder is empty. It doesnt contain a folder "ComfyUI-3D-Pack".
What could be the reason?

**Then go to ComfyUI-3D-Pack directory under the ComfyUI Root Directory\ComfyUI\custom_nodes for my example is:**
cd C:\Users\reall\Softwares\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack
 **Finally you can double click following .bat script or run it in CLI:**
install.bat

thank you.

Kr,
Peter

Tried the installation on portable and regular comfy rep but it fails. Import failed.. Any solution would be appreciated..

C:\Users\User\Downloads\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable>.\python_embeded\python.exe -s ComfyUI\main.py --windows-standalone-build
Total VRAM 12282 MB, total RAM 32655 MB
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce RTX 4070 : cudaMallocAsync
VAE dtype: torch.bfloat16
Using pytorch cross attention
Traceback (most recent call last):
File "C:\Users\User\Downloads\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1893, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\Users\User\Downloads\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack_init
.py", line 18, in
module = importlib.import_module(f".{nodes_filename}", package=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "importlib_init_.py", line 126, in import_module
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "C:\Users\User\Downloads\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 13, in
from plyfile import PlyData
ModuleNotFoundError: No module named 'plyfile'

Cannot import C:\Users\User\Downloads\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack module for custom nodes: No module named 'plyfile'

Import times for custom nodes:
0.0 seconds (IMPORT FAILED): C:\Users\User\Downloads\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack

Starting server

Is impossible to install this extension in comfyui!!

Im trying to install the pack but always i got the same problems! i began to try in my comfyui portable version not work! i go ahead to a comfyui install envriroment in windows and I´m also getting the same problems!

first problem is in the step of the diff-gaussian-rasterization install i got always errors:

errorsss

any help how can solve this and can install the pack?

Point Cloud Optimization

Hi - I decided to move the issues to a new thread as the last one was mostly just me figuring out how to play with your nodes!
I did manage to improve the quality of the splat by refining some parameters but the point cloud itself is not optimised for marching tetrahedrons - below I show the splat, along with the point cloud and generated mesh (without texture) -

image

My question is, can we find a way to remove the points which are not contributing to the RGB values? Specifically, can we eliminate the Alpha value points from the cloud?

I also came across and implemented this project, SuGaR (check this issue) which also suggests a method to extract textures and meshes from Gaussian Splatting which is very efficient (tested on provided and my own datasets) - I do hope you take a look once because it did work very well at extracting meshes from gaussian splats :) - The UV Maps were bad, but still, the quality was decent.

ERROR: Failed building wheel for pointnet2-ops

I have tried installing this multiple times and keep running into: ERROR: Failed building wheel for pointnet2-ops

I am using miniconda, have a Nvidia 3080, and using Windows 11.

This is my first time creating a GitHub Issue so if I am doing something wrong / need to include specific pieces of information please let me know.

Here is a larger part of the error:

nvcc error   : 'cl.exe' died with status 0xC0000409

      ninja: build stopped: subcommand failed.
      Traceback (most recent call last):
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 2096, in _run_ninja_build
          subprocess.run(
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\subprocess.py", line 571, in run
          raise CalledProcessError(retcode, process.args,
      subprocess.CalledProcessError: Command '['ninja', '-v', '-j', '1']' returned non-zero exit status 1.

      The above exception was the direct cause of the following exception:

      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\models\snowflake\pointnet2_ops_lib\setup.py", line 22, in <module>
          setup(
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\__init__.py", line 103, in setup
          return distutils.core.setup(**attrs)
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\core.py", line 185, in setup
          return run_commands(dist)
                 ^^^^^^^^^^^^^^^^^^
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\core.py", line 201, in run_commands
          dist.run_commands()
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\dist.py", line 989, in run_command
          super().run_command(command)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\wheel\bdist_wheel.py", line 364, in run
          self.run_command("build")
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\dist.py", line 989, in run_command
          super().run_command(command)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\command\build.py", line 131, in run
          self.run_command(cmd_name)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\dist.py", line 989, in run_command
          super().run_command(command)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\command\build_ext.py", line 88, in run
          _build_ext.run(self)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 345, in run
          self.build_extensions()
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 871, in build_extensions
          build_ext.build_extensions(self)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 467, in build_extensions
          self._build_extensions_serial()
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 493, in _build_extensions_serial
          self.build_extension(ext)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\command\build_ext.py", line 249, in build_extension
          _build_ext.build_extension(self, ext)
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\setuptools\_distutils\command\build_ext.py", line 548, in build_extension
          objects = self.compiler.compile(
                    ^^^^^^^^^^^^^^^^^^^^^^
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 843, in win_wrap_ninja_compile
          _write_ninja_file_and_compile_objects(
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 1774, in _write_ninja_file_and_compile_objects
          _run_ninja_build(
        File "C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 2112, in _run_ninja_build
          raise RuntimeError(message) from e
      RuntimeError: Error compiling objects for extension
      [end of output]

As for the "nvcc error : 'cl.exe' died with status 0xC0000409" part, when I run nvcc in the miniconda prompt I get this output:

(C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\python_miniconda_env\ComfyUI) C:\ComfyUI\new_ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack>nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Wed_Feb__8_05:53:42_Coordinated_Universal_Time_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0

Building of all other wheels works:

ERROR: Failed building wheel for pointnet2-ops
Running setup.py clean for pointnet2-ops
Building wheel for simple-knn (setup.py) ... done
Created wheel for simple-knn: filename=simple_knn-0.0.0-cp311-cp311-win_amd64.whl size=365349 sha256=78b43cd461bf2512dd308dfc39e22ecc58372c414c5524b578d8416200723703
Stored in directory: c:\users\notja\appdata\local\pip\cache\wheels\d0\dd\2b\97965447ecdac866e6fb89f97e8a4b0fabc167392bffcb988a
Building wheel for diff-gaussian-rasterization (setup.py) ... done
Created wheel for diff-gaussian-rasterization: filename=diff_gaussian_rasterization-0.0.0-cp311-cp311-win_amd64.whl size=490085 sha256=63771790aaf93509b32b2c0b2c1f17ac7c0ee215b8da3767b668da5bafef8f04
Stored in directory: C:\Users\notja\AppData\Local\Temp\pip-ephem-wheel-cache-wq7ad9vr\wheels\a9\c6\3b\59b39a0f60badb061da8b34f4e15bc89813f388c73f72a4369
Building wheel for nvdiffrast (setup.py) ... done
Created wheel for nvdiffrast: filename=nvdiffrast-0.3.1-py3-none-any.whl size=141467 sha256=e8bd81bba59dded7b0fa9db5dd938cba745fffff0d7cd77f6817ca5eb2bc85af
Stored in directory: C:\Users\notja\AppData\Local\Temp\pip-ephem-wheel-cache-wq7ad9vr\wheels\b5\a7\d7\a47411b2b358c07b037dae28028ba02c100c03fe3fd2392e5c
Building wheel for pytorch3d (setup.py) ... done
Created wheel for pytorch3d: filename=pytorch3d-0.7.5-cp311-cp311-win_amd64.whl size=5466565 sha256=33a875653a3db80378d0a917a1fed99031e4947cf232105e3461ac50c992b88c
Stored in directory: C:\Users\notja\AppData\Local\Temp\pip-ephem-wheel-cache-wq7ad9vr\wheels\08\90\1b\df18c3e3634f86278e793b87f37ea4c58d0c36731196122518
Building wheel for torch-scatter (setup.py) ... done
Created wheel for torch-scatter: filename=torch_scatter-2.1.2-cp311-cp311-win_amd64.whl size=3286750 sha256=b855ac01b016444f0a85dbb56f320b2d2fe75d9860cb00c412f467697c423336
Stored in directory: C:\Users\notja\AppData\Local\Temp\pip-ephem-wheel-cache-wq7ad9vr\wheels\fa\26\ab\08e8b8230fe29a7c209f0f26e92b097146f076d2184f24598f
Building wheel for kiui (setup.py) ... done
Created wheel for kiui: filename=kiui-0.2.4-py3-none-any.whl size=1190200 sha256=24cced4a106ccb967d976cbc9bbc283e66e6c42ce4556a7b14f00463419de674
Stored in directory: C:\Users\notja\AppData\Local\Temp\pip-ephem-wheel-cache-wq7ad9vr\wheels\20\3c\17\e791a15a84c4c4e2281c95331ff68b27a12f93ce8aa4c0aaf9
Successfully built simple-knn diff-gaussian-rasterization nvdiffrast pytorch3d torch-scatter kiui
Failed to build pointnet2-ops
ERROR: Could not build wheels for pointnet2-ops, which is required to install pyproject.toml-based projects

I got this error installing pip install -r requirements_post.txt on Mac

pip install -r requirements_post.txt
Processing ./tgs/models/snowflake/pointnet2_ops_lib
Installing build dependencies ... done
Getting requirements to build wheel ... error
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> [20 lines of output]
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in
main()
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
return hook(config_settings)
^^^^^^^^^^^^^^^^^^^^^
File "/private/var/folders/kq/_smxhsxd15d894bvmrfcx5ym0000gp/T/pip-build-env-g75lvbsa/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 325, in get_requires_for_build_wheel
return self._get_build_requires(config_settings, requirements=['wheel'])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/private/var/folders/kq/_smxhsxd15d894bvmrfcx5ym0000gp/T/pip-build-env-g75lvbsa/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 295, in _get_build_requires
self.run_setup()
File "/private/var/folders/kq/_smxhsxd15d894bvmrfcx5ym0000gp/T/pip-build-env-g75lvbsa/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 480, in run_setup
super().run_setup(setup_script=setup_script)
File "/private/var/folders/kq/_smxhsxd15d894bvmrfcx5ym0000gp/T/pip-build-env-g75lvbsa/overlay/lib/python3.11/site-packages/setuptools/build_meta.py", line 311, in run_setup
exec(code, locals())
File "", line 6, in
ModuleNotFoundError: No module named 'torch'
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

× Getting requirements to build wheel did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
(base) eduroam-int-dhcp-97-213-21:ComfyUI-3D-Pack-main albertofernandez2$

Gets installed in Ubuntu 23.10, but it won't work

I managed to install the custom node from the ComfyUI manager in an updated comfyUI on Ubuntu 23.10 without any errors. However it won't work. ComfyUI signals that it has an import error.

## Loading: Workspace Manager (V1.0.0)
### Loading: ComfyUI-Inspire-Pack (V0.63)

[rgthree] Loaded 34 epic nodes.
[rgthree] Will use rgthree's optimized recursive execution.

[comfy_mtb] | INFO -> loaded 63 nodes successfuly
[comfy_mtb] | INFO -> Some nodes (2) could not be loaded. This can be ignored, but go to http://None:8188/mtb if you want more information.
Traceback (most recent call last):
  File "/media/vicente/Samsung870VQO1TB/comfyui/ComfyUI/nodes.py", line 1893, in load_custom_node
    module_spec.loader.exec_module(module)
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/media/vicente/Samsung870VQO1TB/comfyui/ComfyUI/custom_nodes/ComfyUI-3D-Pack/__init__.py", line 18, in <module>
    module = importlib.import_module(f".{nodes_filename}", package=__name__)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/media/vicente/Samsung870VQO1TB/comfyui/ComfyUI/custom_nodes/ComfyUI-3D-Pack/nodes.py", line 26, in <module>
    from .algorithms.main_3DGS import GaussianSplatting, GaussianSplattingCameraController, GSParams
  File "/media/vicente/Samsung870VQO1TB/comfyui/ComfyUI/custom_nodes/ComfyUI-3D-Pack/algorithms/main_3DGS.py", line 12, in <module>
    from .main_3DGS_renderer import GaussianSplattingRenderer
  File "/media/vicente/Samsung870VQO1TB/comfyui/ComfyUI/custom_nodes/ComfyUI-3D-Pack/algorithms/main_3DGS_renderer.py", line 24, in <module>
    from diff_gaussian_rasterization import (
ModuleNotFoundError: No module named 'diff_gaussian_rasterization'

Cannot import /media/vicente/Samsung870VQO1TB/comfyui/ComfyUI/custom_nodes/ComfyUI-3D-Pack module for custom nodes: No module named 'diff_gaussian_rasterization'

Notes about compiling the dependencies

These instructions can be adapted to compile your requirements and avoid using miniconda on Windows.

# using git bash for the sake of simplicity
# enable developer mode
# google this: allow os.symlink on windows by adding your username to the local security policy entry for it.
# you will have to restart your computer
# install chocolatey using powershell, then install the prereqs for compilation on Windows
choco install -y visualstudio2022buildtools
choco install -y visualstudio2022-workload-vctools --package-parameters "--add Microsoft.VisualStudio.Component.VC.Llvm.ClangToolset --add Microsoft.VisualStudio.Component.VC.Llvm.Clang"
choco install -y cuda

# now clone threestudio
git clone [email protected]:threestudio-project/threestudio.git
cd threestudio/
python -m venv venv
source venv/scripts/activate
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121
# include missing dependencies from their repo
pip install ninja wheel mediapipe
pip install -r requirements.txt --no-build-isolation
# you will watch nerfacc and tiny-cuda compile for a while
# download stable_zero123.ckpt from https://huggingface.co/stabilityai/stable-zero123 and put it into ./load/zero123
# run. modify your configs/stable-zero123.yaml data.random_camera.batch_size, trainer.precision and trainer.gradient_accumulation_steps for much better performance
python launch.py --config configs/stable-zero123.yaml --train --gpu 0 data.image_path=./load/images/hamburger_rgba.png

'NoneType' object has no attribute 'v'

Thanks for this awesome work ,buddy !

when I test the "Bake_Multi-View-Renders_into_UV_Texture.json" example file , error message pop up and stopped at "Bake Texture To Mesh" node, the error message is bellow:

AttributeError: 'NoneType' object has no attribute 'v'

File "/home/young/Github/ComfyUI/execution.py", line 154, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/young/Github/ComfyUI/execution.py", line 84, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/young/Github/ComfyUI/execution.py", line 77, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/young/Github/ComfyUI/custom_nodes/ComfyUI-3D-Pack/nodes.py", line 399, in bake_texture
texture_baker = DiffTextureBaker(reference_images, reference_masks, reference_orbit_camera_poses, reference_orbit_camera_fovy, mesh,
File "/home/young/Github/ComfyUI/custom_nodes/ComfyUI-3D-Pack/diff_rast/diff_texturing.py", line 29, in init
self.renderer = Renderer(mesh, force_cuda_rasterize).to(self.device)
File "/home/young/Github/ComfyUI/custom_nodes/ComfyUI-3D-Pack/diff_rast/diff_mesh_renderer.py", line 53, in init
self.v_offsets = nn.Parameter(torch.zeros_like(self.mesh.v), requires_grad=True)
AttributeError: 'NoneType' object has no attribute 'v'

"3DGS_Multi-View_Renders_to_ply.json" work success.


OS: ubuntu20.04
Pytoch:2.1.2
pytorch3d-0.7.5
cuda118
python 3.10

OSError: [Errno 40] Too many levels of symbolic links: 'hipconfig'

Getting this error:

(comfyui) root@a100-instance-ajna:~/ComfyUI/custom_nodes/ComfyUI-3D-Pack# pip install ./diff-gaussian-rasterization
Processing ./diff-gaussian-rasterization
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [23 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/root/ComfyUI/custom_nodes/ComfyUI-3D-Pack/diff-gaussian-rasterization/setup.py", line 13, in <module>
          from torch.utils.cpp_extension import CUDAExtension, BuildExtension
        File "/root/anaconda3/envs/comfyui/lib/python3.11/site-packages/torch/utils/cpp_extension.py", line 22, in <module>
          from .hipify import hipify_python
        File "/root/anaconda3/envs/comfyui/lib/python3.11/site-packages/torch/utils/hipify/hipify_python.py", line 34, in <module>
          from .cuda_to_hip_mappings import CUDA_TO_HIP_MAPPINGS
        File "/root/anaconda3/envs/comfyui/lib/python3.11/site-packages/torch/utils/hipify/cuda_to_hip_mappings.py", line 34, in <module>
          rocm_path = subprocess.check_output(["hipconfig", "--rocmpath"]).decode("utf-8")
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/comfyui/lib/python3.11/subprocess.py", line 466, in check_output
          return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/comfyui/lib/python3.11/subprocess.py", line 548, in run
          with Popen(*popenargs, **kwargs) as process:
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/root/anaconda3/envs/comfyui/lib/python3.11/subprocess.py", line 1026, in __init__
          self._execute_child(args, executable, preexec_fn, close_fds,
        File "/root/anaconda3/envs/comfyui/lib/python3.11/subprocess.py", line 1950, in _execute_child
          raise child_exception_type(errno_num, err_msg, err_filename)
      OSError: [Errno 40] Too many levels of symbolic links: 'hipconfig'
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

I haven't encountered any OSError or Symbolic link error before, fairly good at managing cuda versions so please do suggest what I can do to get the updated pack working?

I need a tutorial.I need help

Hi, your tutorial is a bit too brief. I want to know if you need to overwrite it with a project file or just copy the workflow and model. I referred to your installation process and it failed. I am using the already installed comfyui, but I don't know how to import the workflow, and I haven't seen any new nodes. I need your help

Node types were not found (no nodes from this)

I'm running a non-portable Comfyui & not a single node from this came up. I originally installed using git clone, as if it was normal, realized that didn't work, came here, did the step-by-step for miniconda, I didn't notice any errors (it was a lot of text so I hope I didn't miss anything) but launched from the .bat & get nothing but a bunch of red.

Windows11, non-portable ComfyUI, just updated today

?? what to do/try here? I'm sure it's something simple. I tried using the "Large_Multiview_Gaussian_Model_to_3DGS and_3DMesh"

_When loading the graph, the following node types were not found:
[Comfy3D] Save 3DGS
[Comfy3D] Large Multiview Gaussian Model
[Comfy3D] Load Diffusers Pipeline
[Comfy3D] Load Large Multiview Guassian Model
[Comfy3D] Preview 3DMesh
[Comfy3D] Save 3D Mesh
[Comfy3D] Switch 3DGS Axis
[Comfy3D] Preview 3DGS
[Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes
[Comfy3D] MVDream Model

Nodes that have failed to load will show as red on the graph._

This is my text from my terminal:

**E:\ComfyUI>.\python_miniconda_env\ComfyUI\python.exe -s ComfyUI\main.py --windows-standalone-build
Total VRAM 12288 MB, total RAM 16172 MB
xformers version: 0.0.24
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce RTX 3060 : cudaMallocAsync
VAE dtype: torch.bfloat16
Using xformers cross attention
Adding extra search path checkpoints E:/stable-diffusion-webui/models/Stable-diffusion
Adding extra search path configs E:/stable-diffusion-webui/models/Stable-diffusion
Adding extra search path vae E:/stable-diffusion-webui/models/VAE
Adding extra search path loras E:/stable-diffusion-webui/models/Lora
Adding extra search path loras E:/stable-diffusion-webui/models/LyCORIS
Adding extra search path upscale_models E:/stable-diffusion-webui/models/ESRGAN
Adding extra search path upscale_models E:/stable-diffusion-webui/models/RealESRGAN
Adding extra search path upscale_models E:/stable-diffusion-webui/models/SwinIR
Adding extra search path embeddings E:/stable-diffusion-webui/embeddings
Adding extra search path hypernetworks E:/stable-diffusion-webui/models/hypernetworks
Adding extra search path controlnet E:/stable-diffusion-webui/models/ControlNet
Starting server

To see the GUI go to: http://127.0.0.1:8188**

image

Stuck on Convert 3DGS to Mesh with NeRF and Marching Cubes

The project works good but I have some issues with the node called [Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes. For some reason it get stuck on [Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes and never pass this node.

If I remove this node and just check the preview 3DGS then it runs without any issues.

There arent any errors in the commandline.

Running it on one of my 3090s so memory shouldnt be any issue.

Any ideas of what causing it?

error when run pip install -r requirements_post.txt in miniconda

I:\COMFYUI_PORTABLE\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack>pip install -r requirements_post.txt
Processing i:\comfyui_portable\comfyui_windows_portable\comfyui\custom_nodes\comfyui-3d-pack\tgs\models\snowflake\pointnet2_ops_lib
Preparing metadata (setup.py) ... done
Processing i:\comfyui_portable\comfyui_windows_portable\comfyui\custom_nodes\comfyui-3d-pack\simple-knn
Preparing metadata (setup.py) ... done
Collecting git+https://github.com/ashawkey/diff-gaussian-rasterization (from -r requirements_post.txt (line 6))
Cloning https://github.com/ashawkey/diff-gaussian-rasterization to d:\timp\temp\pip-req-build-wey3xsjh
Running command git clone --filter=blob:none --quiet https://github.com/ashawkey/diff-gaussian-rasterization 'D:\timp\Temp\pip-req-build-wey3xsjh'
Resolved https://github.com/ashawkey/diff-gaussian-rasterization to commit d986da0d4cf2dfeb43b9a379b6e9fa0a7f3f7eea
Running command git submodule update --init --recursive -q
Preparing metadata (setup.py) ... done
Collecting git+https://github.com/NVlabs/nvdiffrast/ (from -r requirements_post.txt (line 7))
Cloning https://github.com/NVlabs/nvdiffrast/ to d:\timp\temp\pip-req-build-sho1t6kx
Running command git clone --filter=blob:none --quiet https://github.com/NVlabs/nvdiffrast/ 'D:\timp\Temp\pip-req-build-sho1t6kx'
Resolved https://github.com/NVlabs/nvdiffrast/ to commit c5caf7bdb8a2448acc491a9faa47753972edd380
Preparing metadata (setup.py) ... done
Collecting git+https://github.com/facebookresearch/pytorch3d.git@stable (from -r requirements_post.txt (line 8))
Cloning https://github.com/facebookresearch/pytorch3d.git (to revision stable) to d:\timp\temp\pip-req-build-y0fulfq6
Running command git clone --filter=blob:none --quiet https://github.com/facebookresearch/pytorch3d.git 'D:\timp\Temp\pip-req-build-y0fulfq6'
Running command git checkout -q 2f11ddc5ee7d6bd56f2fb6744a16776fab6536f7
Resolved https://github.com/facebookresearch/pytorch3d.git to commit 2f11ddc5ee7d6bd56f2fb6744a16776fab6536f7
Preparing metadata (setup.py) ... done
Collecting git+https://github.com/rusty1s/pytorch_scatter.git (from -r requirements_post.txt (line 9))
Cloning https://github.com/rusty1s/pytorch_scatter.git to d:\timp\temp\pip-req-build-8v60srpv
Running command git clone --filter=blob:none --quiet https://github.com/rusty1s/pytorch_scatter.git 'D:\timp\Temp\pip-req-build-8v60srpv'
Resolved https://github.com/rusty1s/pytorch_scatter.git to commit c095c62e4334fcd05e4ac3c4bb09d285960d6be6
Preparing metadata (setup.py) ... done
Collecting git+https://github.com/ashawkey/kiuikit.git (from -r requirements_post.txt (line 10))
Cloning https://github.com/ashawkey/kiuikit.git to d:\timp\temp\pip-req-build-wqr0pz3d
Running command git clone --filter=blob:none --quiet https://github.com/ashawkey/kiuikit.git 'D:\timp\Temp\pip-req-build-wqr0pz3d'
Resolved https://github.com/ashawkey/kiuikit.git to commit d87db9c0e41217ec1c63cfe51e12fb85f0d73bf4
Preparing metadata (setup.py) ... done
Collecting xformers (from -r requirements_post.txt (line 12))
Using cached xformers-0.0.24-cp311-cp311-win_amd64.whl.metadata (1.0 kB)
Requirement already satisfied: torch>=1.4 in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (2.2.0+cu121)
Requirement already satisfied: numpy in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from nvdiffrast==0.3.1->-r requirements_post.txt (line 7)) (1.26.3)
Collecting fvcore (from pytorch3d==0.7.5->-r requirements_post.txt (line 8))
Using cached fvcore-0.1.5.post20221221-py3-none-any.whl
Collecting iopath (from pytorch3d==0.7.5->-r requirements_post.txt (line 8))
Using cached iopath-0.1.10-py3-none-any.whl
Requirement already satisfied: lazy_loader in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from kiui==0.2.4->-r requirements_post.txt (line 10)) (0.3)
Requirement already satisfied: varname in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from kiui==0.2.4->-r requirements_post.txt (line 10)) (0.13.0)
Requirement already satisfied: objprint in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from kiui==0.2.4->-r requirements_post.txt (line 10)) (0.2.3)
Requirement already satisfied: filelock in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (3.9.0)
Requirement already satisfied: typing-extensions>=4.8.0 in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (4.8.0)
Requirement already satisfied: sympy in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (1.12)
Requirement already satisfied: networkx in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (3.2.1)
Requirement already satisfied: jinja2 in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (3.1.2)
Requirement already satisfied: fsspec in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (2024.2.0)
Collecting yacs>=0.1.6 (from fvcore->pytorch3d==0.7.5->-r requirements_post.txt (line 8))
Using cached yacs-0.1.8-py3-none-any.whl (14 kB)
Requirement already satisfied: pyyaml>=5.1 in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from fvcore->pytorch3d==0.7.5->-r requirements_post.txt (line 8)) (6.0.1)
Requirement already satisfied: tqdm in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from fvcore->pytorch3d==0.7.5->-r requirements_post.txt (line 8)) (4.66.2)
Collecting termcolor>=1.1 (from fvcore->pytorch3d==0.7.5->-r requirements_post.txt (line 8))
Using cached termcolor-2.4.0-py3-none-any.whl.metadata (6.1 kB)
Requirement already satisfied: Pillow in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from fvcore->pytorch3d==0.7.5->-r requirements_post.txt (line 8)) (10.2.0)
Collecting tabulate (from fvcore->pytorch3d==0.7.5->-r requirements_post.txt (line 8))
Using cached tabulate-0.9.0-py3-none-any.whl (35 kB)
Collecting portalocker (from iopath->pytorch3d==0.7.5->-r requirements_post.txt (line 8))
Using cached portalocker-2.8.2-py3-none-any.whl.metadata (8.5 kB)
Requirement already satisfied: executing<3.0,>=2.0 in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from varname->kiui==0.2.4->-r requirements_post.txt (line 10)) (2.0.1)
Requirement already satisfied: MarkupSafe>=2.0 in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from jinja2->torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (2.1.3)
Collecting pywin32>=226 (from portalocker->iopath->pytorch3d==0.7.5->-r requirements_post.txt (line 8))
Using cached pywin32-306-cp311-cp311-win_amd64.whl.metadata (6.5 kB)
Requirement already satisfied: mpmath>=0.19 in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from sympy->torch>=1.4->pointnet2-ops==3.0.0->-r requirements_post.txt (line 2)) (1.3.0)
Requirement already satisfied: colorama in i:\comfyui_portable\comfyui_windows_portable\python_miniconda_env\comfyui\lib\site-packages (from tqdm->fvcore->pytorch3d==0.7.5->-r requirements_post.txt (line 8)) (0.4.6)
Using cached xformers-0.0.24-cp311-cp311-win_amd64.whl (205.4 MB)
Using cached termcolor-2.4.0-py3-none-any.whl (7.7 kB)
Using cached portalocker-2.8.2-py3-none-any.whl (17 kB)
Using cached pywin32-306-cp311-cp311-win_amd64.whl (9.2 MB)
Building wheels for collected packages: pointnet2-ops, simple-knn, diff-gaussian-rasterization, nvdiffrast, pytorch3d, torch-scatter, kiui
Building wheel for pointnet2-ops (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [32 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\pointnet2_ops
copying pointnet2_ops\pointnet2_modules.py -> build\lib.win-amd64-cpython-311\pointnet2_ops
copying pointnet2_ops\pointnet2_utils.py -> build\lib.win-amd64-cpython-311\pointnet2_ops
copying pointnet2_ops_version.py -> build\lib.win-amd64-cpython-311\pointnet2_ops
copying pointnet2_ops_init_.py -> build\lib.win-amd64-cpython-311\pointnet2_ops
running egg_info
writing pointnet2_ops.egg-info\PKG-INFO
writing dependency_links to pointnet2_ops.egg-info\dependency_links.txt
writing requirements to pointnet2_ops.egg-info\requires.txt
writing top-level names to pointnet2_ops.egg-info\top_level.txt
reading manifest file 'pointnet2_ops.egg-info\SOURCES.txt'
writing manifest file 'pointnet2_ops.egg-info\SOURCES.txt'
creating build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src
creating build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\ball_query.cpp -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\ball_query_gpu.cu -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\bindings.cpp -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\group_points.cpp -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\group_points_gpu.cu -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\interpolate.cpp -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\interpolate_gpu.cu -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\sampling.cpp -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
copying pointnet2_ops_ext-src\src\sampling_gpu.cu -> build\lib.win-amd64-cpython-311\pointnet2_ops_ext-src\src
running build_ext
I:\COMFYUI_PORTABLE\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py:381: UserWarning: Error checking compiler version for cl: [WinError 2] Не удается найти указанный файл
warnings.warn(f'Error checking compiler version for {compiler}: {error}')
error: [WinError 2] Не удается найти указанный файл
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pointnet2-ops
Running setup.py clean for pointnet2-ops
Building wheel for simple-knn (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [6 lines of output]
running bdist_wheel
running build
running build_ext
I:\COMFYUI_PORTABLE\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py:381: UserWarning: Error checking compiler version for cl: [WinError 2] Не удается найти указанный файл
warnings.warn(f'Error checking compiler version for {compiler}: {error}')
error: [WinError 2] Не удается найти указанный файл
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for simple-knn
Running setup.py clean for simple-knn
Building wheel for diff-gaussian-rasterization (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [11 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\diff_gaussian_rasterization
copying diff_gaussian_rasterization_init_.py -> build\lib.win-amd64-cpython-311\diff_gaussian_rasterization
running build_ext
I:\COMFYUI_PORTABLE\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py:381: UserWarning: Error checking compiler version for cl: [WinError 2] Не удается найти указанный файл
warnings.warn(f'Error checking compiler version for {compiler}: {error}')
error: [WinError 2] Не удается найти указанный файл
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for diff-gaussian-rasterization
Running setup.py clean for diff-gaussian-rasterization
Building wheel for nvdiffrast (setup.py) ... done
Created wheel for nvdiffrast: filename=nvdiffrast-0.3.1-py3-none-any.whl size=141467 sha256=26339927a9d3776563c47ec6e409dc026bc8d6ba98e175fc84748afada8d7826
Stored in directory: D:\timp\Temp\pip-ephem-wheel-cache-gmmgy5wq\wheels\b5\a7\d7\a47411b2b358c07b037dae28028ba02c100c03fe3fd2392e5c
Building wheel for pytorch3d (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [244 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\projects
copying projects_init_.py -> build\lib.win-amd64-cpython-311\projects
creating build\lib.win-amd64-cpython-311\pytorch3d
copying pytorch3d_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d
creating build\lib.win-amd64-cpython-311\pytorch3d\common
copying pytorch3d\common\compat.py -> build\lib.win-amd64-cpython-311\pytorch3d\common
copying pytorch3d\common\datatypes.py -> build\lib.win-amd64-cpython-311\pytorch3d\common
copying pytorch3d\common\linear_with_repeat.py -> build\lib.win-amd64-cpython-311\pytorch3d\common
copying pytorch3d\common_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\common
creating build\lib.win-amd64-cpython-311\pytorch3d\datasets
copying pytorch3d\datasets\shapenet_base.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets
copying pytorch3d\datasets\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets
copying pytorch3d\datasets_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron
copying pytorch3d\implicitron\eval_demo.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron
copying pytorch3d\implicitron_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron
creating build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\experimental_gltf_io.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\mtl_io.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\obj_io.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\off_io.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\pluggable.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\pluggable_formats.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\ply_io.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
copying pytorch3d\io_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\io
creating build\lib.win-amd64-cpython-311\pytorch3d\loss
copying pytorch3d\loss\chamfer.py -> build\lib.win-amd64-cpython-311\pytorch3d\loss
copying pytorch3d\loss\mesh_edge_loss.py -> build\lib.win-amd64-cpython-311\pytorch3d\loss
copying pytorch3d\loss\mesh_laplacian_smoothing.py -> build\lib.win-amd64-cpython-311\pytorch3d\loss
copying pytorch3d\loss\mesh_normal_consistency.py -> build\lib.win-amd64-cpython-311\pytorch3d\loss
copying pytorch3d\loss\point_mesh_distance.py -> build\lib.win-amd64-cpython-311\pytorch3d\loss
copying pytorch3d\loss_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\loss
creating build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\ball_query.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\cameras_alignment.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\cubify.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\graph_conv.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\interp_face_attrs.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\iou_box3d.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\knn.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\laplacian_matrices.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\marching_cubes.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\marching_cubes_data.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\mesh_face_areas_normals.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\mesh_filtering.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\packed_to_padded.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\perspective_n_points.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\points_alignment.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\points_normals.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\points_to_volumes.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\sample_farthest_points.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\sample_points_from_meshes.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\subdivide_meshes.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops\vert_align.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
copying pytorch3d\ops_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\ops
creating build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\blending.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\cameras.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\camera_conversions.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\camera_utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\compositing.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\fisheyecameras.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\lighting.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\materials.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\splatter_blend.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
copying pytorch3d\renderer_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer
creating build\lib.win-amd64-cpython-311\pytorch3d\structures
copying pytorch3d\structures\meshes.py -> build\lib.win-amd64-cpython-311\pytorch3d\structures
copying pytorch3d\structures\pointclouds.py -> build\lib.win-amd64-cpython-311\pytorch3d\structures
copying pytorch3d\structures\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\structures
copying pytorch3d\structures\volumes.py -> build\lib.win-amd64-cpython-311\pytorch3d\structures
copying pytorch3d\structures_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\structures
creating build\lib.win-amd64-cpython-311\pytorch3d\transforms
copying pytorch3d\transforms\math.py -> build\lib.win-amd64-cpython-311\pytorch3d\transforms
copying pytorch3d\transforms\rotation_conversions.py -> build\lib.win-amd64-cpython-311\pytorch3d\transforms
copying pytorch3d\transforms\se3.py -> build\lib.win-amd64-cpython-311\pytorch3d\transforms
copying pytorch3d\transforms\so3.py -> build\lib.win-amd64-cpython-311\pytorch3d\transforms
copying pytorch3d\transforms\transform3d.py -> build\lib.win-amd64-cpython-311\pytorch3d\transforms
copying pytorch3d\transforms_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\transforms
creating build\lib.win-amd64-cpython-311\pytorch3d\utils
copying pytorch3d\utils\camera_conversions.py -> build\lib.win-amd64-cpython-311\pytorch3d\utils
copying pytorch3d\utils\checkerboard.py -> build\lib.win-amd64-cpython-311\pytorch3d\utils
copying pytorch3d\utils\ico_sphere.py -> build\lib.win-amd64-cpython-311\pytorch3d\utils
copying pytorch3d\utils\torus.py -> build\lib.win-amd64-cpython-311\pytorch3d\utils
copying pytorch3d\utils_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\utils
creating build\lib.win-amd64-cpython-311\pytorch3d\vis
copying pytorch3d\vis\plotly_vis.py -> build\lib.win-amd64-cpython-311\pytorch3d\vis
copying pytorch3d\vis\texture_vis.py -> build\lib.win-amd64-cpython-311\pytorch3d\vis
copying pytorch3d\vis_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\vis
creating build\lib.win-amd64-cpython-311\pytorch3d\common\workaround
copying pytorch3d\common\workaround\symeig3x3.py -> build\lib.win-amd64-cpython-311\pytorch3d\common\workaround
copying pytorch3d\common\workaround\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\common\workaround
copying pytorch3d\common\workaround_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\common\workaround
creating build\lib.win-amd64-cpython-311\pytorch3d\datasets\r2n2
copying pytorch3d\datasets\r2n2\r2n2.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\r2n2
copying pytorch3d\datasets\r2n2\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\r2n2
copying pytorch3d\datasets\r2n2_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\r2n2
creating build\lib.win-amd64-cpython-311\pytorch3d\datasets\shapenet
copying pytorch3d\datasets\shapenet\shapenet_core.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\shapenet
copying pytorch3d\datasets\shapenet_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\shapenet
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\blender_dataset_map_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\dataset_base.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\dataset_map_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\data_loader_map_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\data_source.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\frame_data.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\json_index_dataset.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\json_index_dataset_map_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\json_index_dataset_map_provider_v2.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\llff_dataset_map_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\load_blender.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\load_llff.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\orm_types.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\rendered_mesh_dataset_map_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\scene_batch_sampler.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\single_sequence_dataset.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\sql_dataset.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\sql_dataset_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\train_eval_data_loader_provider.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\types.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset\visualize.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
copying pytorch3d\implicitron\dataset_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\dataset
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\evaluation
copying pytorch3d\implicitron\evaluation\evaluate_new_view_synthesis.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\evaluation
copying pytorch3d\implicitron\evaluation\evaluator.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\evaluation
copying pytorch3d\implicitron\evaluation_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\evaluation
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
copying pytorch3d\implicitron\models\base_model.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
copying pytorch3d\implicitron\models\generic_model.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
copying pytorch3d\implicitron\models\metrics.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
copying pytorch3d\implicitron\models\model_dbir.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
copying pytorch3d\implicitron\models\overfit_model.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
copying pytorch3d\implicitron\models\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
copying pytorch3d\implicitron\models_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\third_party
copying pytorch3d\implicitron\third_party\hyperlayers.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\third_party
copying pytorch3d\implicitron\third_party\pytorch_prototyping.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\third_party
copying pytorch3d\implicitron\third_party_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\third_party
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\camera_utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\circle_fitting.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\config.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\depth_cleanup.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\eval_video_trajectory.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\image_utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\metric_utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\model_io.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\point_cloud_utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\rasterize_mc.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\stats.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\video_writer.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools\vis_utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
copying pytorch3d\implicitron\tools_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\tools
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\feature_extractor
copying pytorch3d\implicitron\models\feature_extractor\feature_extractor.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\feature_extractor
copying pytorch3d\implicitron\models\feature_extractor\resnet_feature_extractor.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\feature_extractor
copying pytorch3d\implicitron\models\feature_extractor_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\feature_extractor
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\global_encoder
copying pytorch3d\implicitron\models\global_encoder\autodecoder.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\global_encoder
copying pytorch3d\implicitron\models\global_encoder\global_encoder.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\global_encoder
copying pytorch3d\implicitron\models\global_encoder_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\global_encoder
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\base.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\decoding_functions.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\idr_feature_field.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\neural_radiance_field.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\scene_representation_networks.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\voxel_grid.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function\voxel_grid_implicit_function.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
copying pytorch3d\implicitron\models\implicit_function_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\implicit_function
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\base.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\lstm_renderer.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\multipass_ea.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\raymarcher.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\ray_point_refiner.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\ray_sampler.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\ray_tracing.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\rgb_net.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer\sdf_renderer.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
copying pytorch3d\implicitron\models\renderer_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\renderer
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\view_pooler
copying pytorch3d\implicitron\models\view_pooler\feature_aggregator.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\view_pooler
copying pytorch3d\implicitron\models\view_pooler\view_pooler.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\view_pooler
copying pytorch3d\implicitron\models\view_pooler\view_sampler.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\view_pooler
copying pytorch3d\implicitron\models\view_pooler_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\view_pooler
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\visualization
copying pytorch3d\implicitron\models\visualization\render_flyaround.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\visualization
copying pytorch3d\implicitron\models\visualization_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron\models\visualization
creating build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
copying pytorch3d\renderer\implicit\harmonic_embedding.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
copying pytorch3d\renderer\implicit\raymarching.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
copying pytorch3d\renderer\implicit\raysampling.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
copying pytorch3d\renderer\implicit\renderer.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
copying pytorch3d\renderer\implicit\sample_pdf.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
copying pytorch3d\renderer\implicit\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
copying pytorch3d\renderer\implicit_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\implicit
creating build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\clip.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\rasterizer.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\rasterize_meshes.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\renderer.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\shader.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\shading.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\textures.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh\utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
copying pytorch3d\renderer\mesh_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\mesh
creating build\lib.win-amd64-cpython-311\pytorch3d\renderer\opengl
copying pytorch3d\renderer\opengl\opengl_utils.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\opengl
copying pytorch3d\renderer\opengl\rasterizer_opengl.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\opengl
copying pytorch3d\renderer\opengl_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\opengl
creating build\lib.win-amd64-cpython-311\pytorch3d\renderer\points
copying pytorch3d\renderer\points\compositor.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points
copying pytorch3d\renderer\points\rasterizer.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points
copying pytorch3d\renderer\points\rasterize_points.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points
copying pytorch3d\renderer\points\renderer.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points
copying pytorch3d\renderer\points_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points
creating build\lib.win-amd64-cpython-311\pytorch3d\renderer\points\pulsar
copying pytorch3d\renderer\points\pulsar\renderer.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points\pulsar
copying pytorch3d\renderer\points\pulsar\unified.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points\pulsar
copying pytorch3d\renderer\points\pulsar_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\renderer\points\pulsar
creating build\lib.win-amd64-cpython-311\pytorch3d\implicitron_trainer
copying projects\implicitron_trainer\experiment.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron_trainer
copying projects\implicitron_trainer\visualize_reconstruction.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron_trainer
copying projects\implicitron_trainer_init_.py -> build\lib.win-amd64-cpython-311\pytorch3d\implicitron_trainer
copying pytorch3d\datasets\r2n2\r2n2_synset_dict.json -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\r2n2
copying pytorch3d\datasets\shapenet\shapenet_synset_dict_v1.json -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\shapenet
copying pytorch3d\datasets\shapenet\shapenet_synset_dict_v2.json -> build\lib.win-amd64-cpython-311\pytorch3d\datasets\shapenet
running build_ext
I:\COMFYUI_PORTABLE\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py:381: UserWarning: Error checking compiler version for cl: [WinError 2] Не удается найти указанный файл
warnings.warn(f'Error checking compiler version for {compiler}: {error}')
error: [WinError 2] Не удается найти указанный файл
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for pytorch3d
Running setup.py clean for pytorch3d
Building wheel for torch-scatter (setup.py) ... error
error: subprocess-exited-with-error

× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> [33 lines of output]
running bdist_wheel
running build
running build_py
creating build
creating build\lib.win-amd64-cpython-311
creating build\lib.win-amd64-cpython-311\torch_scatter
copying torch_scatter\placeholder.py -> build\lib.win-amd64-cpython-311\torch_scatter
copying torch_scatter\scatter.py -> build\lib.win-amd64-cpython-311\torch_scatter
copying torch_scatter\segment_coo.py -> build\lib.win-amd64-cpython-311\torch_scatter
copying torch_scatter\segment_csr.py -> build\lib.win-amd64-cpython-311\torch_scatter
copying torch_scatter\testing.py -> build\lib.win-amd64-cpython-311\torch_scatter
copying torch_scatter\utils.py -> build\lib.win-amd64-cpython-311\torch_scatter
copying torch_scatter_init_.py -> build\lib.win-amd64-cpython-311\torch_scatter
creating build\lib.win-amd64-cpython-311\torch_scatter\composite
copying torch_scatter\composite\logsumexp.py -> build\lib.win-amd64-cpython-311\torch_scatter\composite
copying torch_scatter\composite\softmax.py -> build\lib.win-amd64-cpython-311\torch_scatter\composite
copying torch_scatter\composite\std.py -> build\lib.win-amd64-cpython-311\torch_scatter\composite
copying torch_scatter\composite_init_.py -> build\lib.win-amd64-cpython-311\torch_scatter\composite
running egg_info
creating torch_scatter.egg-info
writing torch_scatter.egg-info\PKG-INFO
writing dependency_links to torch_scatter.egg-info\dependency_links.txt
writing requirements to torch_scatter.egg-info\requires.txt
writing top-level names to torch_scatter.egg-info\top_level.txt
writing manifest file 'torch_scatter.egg-info\SOURCES.txt'
reading manifest file 'torch_scatter.egg-info\SOURCES.txt'
reading manifest template 'MANIFEST.in'
adding license file 'LICENSE'
writing manifest file 'torch_scatter.egg-info\SOURCES.txt'
running build_ext
I:\COMFYUI_PORTABLE\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py:381: UserWarning: Error checking compiler version for cl: [WinError 2] Не удается найти указанный файл
warnings.warn(f'Error checking compiler version for {compiler}: {error}')
error: [WinError 2] Не удается найти указанный файл
[end of output]

note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for torch-scatter
Running setup.py clean for torch-scatter
Building wheel for kiui (setup.py) ... done
Created wheel for kiui: filename=kiui-0.2.4-py3-none-any.whl size=1190200 sha256=c6643f0d0088e8f0554e0dc988fdecfe9e912c9071557d6892fd3bbd0e3ea7eb
Stored in directory: D:\timp\Temp\pip-ephem-wheel-cache-gmmgy5wq\wheels\20\3c\17\e791a15a84c4c4e2281c95331ff68b27a12f93ce8aa4c0aaf9
Successfully built nvdiffrast kiui
Failed to build pointnet2-ops simple-knn diff-gaussian-rasterization pytorch3d torch-scatter
ERROR: Could not build wheels for pointnet2-ops, simple-knn, diff-gaussian-rasterization, pytorch3d, torch-scatter, which is required to install pyproject.toml-based projects

No module named 'shared_utils'

Hi MrForExample.

Finally was able to install without any errors after figuring out my Cuda/pytorch mismatch but ComfyUI fails to load with the following message: No module named 'shared_utils' although i can see the shared_utils folder and the files inside. Here is the complete message:

BTW: thanks for your help

C:\Work\AI\ComfyUI_windows_portable>.\python_miniconda_env\ComfyUI\python.exe -s ComfyUI\main.py --windows-standalone-build
Total VRAM 6144 MB, total RAM 65460 MB
xformers version: 0.0.24
Set vram state to: NORMAL_VRAM
Device: cuda:0 NVIDIA GeForce GTX 1660 Ti : cudaMallocAsync
VAE dtype: torch.float32
Using xformers cross attention
Traceback (most recent call last):
File "C:\Work\AI\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1893, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\Work\AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main_init
.py", line 18, in module = importlib.import_module(f".{nodes_filename}", package=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Work\AI\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in _call_with_frames_removed
File "C:\Work\AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main\nodes.py", line 18, in
from .mesh_processer.mesh import Mesh
File "C:\Work\AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main\mesh_processer\mesh.py", line 9, in
from shared_utils.sh_utils import SH2RGB
ModuleNotFoundError: No module named 'shared_utils'

Cannot import C:\Work\AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main module for custom nodes: No module named 'shared_utils'

Import times for custom nodes:
0.4 seconds (IMPORT FAILED): C:\Work\AI\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main

Starting server

To see the GUI go to: http://127.0.0.1:8188

USDZ file export

Would love to be able to export 3D objects as .usdz for viewing within WebXR. Any plans to add it?

trying to get in touch

Hi @MrForExample ! I'm trying to get in touch, would love to meet / chat, have some teams I am working with who would love to meet you. my email is rradovanovic [at] a16z.com, please let me know what is a good way to get in touch!

'NoneType' object has no attribute 'elements'

Hello again. All workflow works except for "Multi-View-Images_to_3DGS_to_3DMesh(DMTet and DiffRast).json".

Error:

Error occurred when executing [Comfy3D] Switch 3DGS Axis:

'NoneType' object has no attribute 'elements'

File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 302, in switch_axis_and_scale
switched_gs_ply = switch_ply_axis_and_scale(gs_ply, target_axis, target_scale, coordinate_invert_count)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\mesh_processer\mesh_utils.py", line 428, in switch_ply_axis_and_scale
xyz, features_dc, features_extra, opacities, scales, rots = read_gs_ply(plydata)
^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\mesh_processer\mesh_utils.py", line 338, in read_gs_ply
xyz = np.stack((np.asarray(plydata.elements[0]["x"]),
^^^^^^^^^^^^^^^^

chrome_z6RfzaF2tr

Circular import of diff gaussian rasterizer

My issue is this:

Traceback (most recent call last):
File "G:\ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1893, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "G:\ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack_init
.py", line 18, in
module = importlib.import_module(f".{nodes_filename}", package=name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\Lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1204, in _gcd_import
File "", line 1176, in _find_and_load
File "", line 1147, in _find_and_load_unlocked
File "", line 690, in _load_unlocked
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "G:\ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 27, in
from .algorithms.main_3DGS import GaussianSplatting, GaussianSplattingCameraController, GSParams
File "G:\ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS.py", line 12, in
from .main_3DGS_renderer import GaussianSplattingRenderer
File "G:\ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS_renderer.py", line 24, in
from diff_gaussian_rasterization import (
File "G:\diff-gaussian-rasterization\build\lib.win-amd64-cpython-39\diff_gaussian_rasterization_init
.py", line 15, in
from . import _C
ImportError: cannot import name 'C' from partially initialized module 'diff_gaussian_rasterization' (most likely due to a circular import) (G:\diff-gaussian-rasterization\build\lib.win-amd64-cpython-39\diff_gaussian_rasterization_init.py)

Cannot import G:\ComfyUI_windows_portable_nvidia_cu121_or_cpu\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack module for custom nodes: cannot import name 'C' from partially initialized module 'diff_gaussian_rasterization' (most likely due to a circular import) (G:\diff-gaussian-rasterization\build\lib.win-amd64-cpython-39\diff_gaussian_rasterization_init.py)

I guess this is due to me forcing the nodes.py to see that diff-gaussian-rasterization exists by pointing to it with sys command in nodes.py . Works. But cause this.

Traceback on run_nvidia_gpu_miniconda.bat

I managed to install all requirements, however I get some issues on running the bat.

`Traceback (most recent call last):
File "C:\StableDiffusion\ComfyUI_windows_portable\ComfyUI\nodes.py", line 1893, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 940, in exec_module
File "", line 241, in call_with_frames_removed
File "C:\StableDiffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main_init
.py", line 12, in
from .webserver.server import server
File "C:\StableDiffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main\webserver\server.py", line 7, in
from shared_utils.common_utils import cstr
ModuleNotFoundError: No module named 'shared_utils'

Cannot import C:\StableDiffusion\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack-main module for custom nodes: No module named 'shared_utils'
`

Any missing modules?

C++ Installation error

ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "D:\Github\Luwolf-Aura-Bot\ai\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Github\Luwolf-Aura-Bot\ai\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Github\Luwolf-Aura-Bot\ai\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Github\Luwolf-Aura-Bot\ai\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 1339, in convert_gs_ply
converter = GSConverterNeRFMarchingCubes(config_defaults[gs_config], gs_ply).cuda()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Github\Luwolf-Aura-Bot\ai\custom_nodes\ComfyUI-3D-Pack\algorithms\nerf_marching_cubes_converter.py", line 27, in init
from kiui.gridencoder import GridEncoder
File "D:\Github\Luwolf-Aura-Bot\ai\python_miniconda_env\ComfyUI\Lib\site-packages\kiui\gridencoder_init_.py", line 1, in
from .grid import GridEncoder
File "D:\Github\Luwolf-Aura-Bot\ai\python_miniconda_env\ComfyUI\Lib\site-packages\kiui\gridencoder\grid.py", line 9, in
from .backend import _backend
File "D:\Github\Luwolf-Aura-Bot\ai\python_miniconda_env\ComfyUI\Lib\site-packages\kiui\gridencoder\backend.py", line 41, in
raise RuntimeError("Could not locate a supported Microsoft Visual C++ installation")
RuntimeError: Could not locate a supported Microsoft Visual C++ installation

ValueError: not enough values to unpack (expected 4, got 2)

ERROR:root:!!! Exception during processing !!!
ERROR:root:Traceback (most recent call last):
File "/home/ec2-user/SageMaker/ComfyUI/execution.py", line 154, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
File "/home/ec2-user/SageMaker/ComfyUI/execution.py", line 84, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
File "/home/ec2-user/SageMaker/ComfyUI/execution.py", line 77, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
File "/home/ec2-user/SageMaker/ComfyUI/custom_nodes/ComfyUI-3D-Pack/nodes.py", line 334, in run_3DGS
gs.training()
File "/home/ec2-user/SageMaker/ComfyUI/custom_nodes/ComfyUI-3D-Pack/gaussian_splatting/main_3DGS.py", line 163, in training
out = self.renderer.render(ref_cam, bg_color=bg_color)
File "/home/ec2-user/SageMaker/ComfyUI/custom_nodes/ComfyUI-3D-Pack/gaussian_splatting/main_3DGS_renderer.py", line 1044, in render
rendered_image, radii, rendered_depth, rendered_alpha = rasterizer(
ValueError: not enough values to unpack (expected 4, got 2)

Above is the error, this was casue by the calling:

rendered_image, radii, rendered_depth, rendered_alpha = rasterizer(
            means3D=gaussians_xyz,
            means2D=screenspace_points,
            shs=shs,
            colors_precomp=colors_precomp,
            opacities=gaussians_opacity,
            scales=gaussians_scales,
            rotations=gaussians_rotations,
            cov3D_precomp=cov3D_precomp,
        )

looks like only return 2 values but required is 4.

How to fix it? thanks in advance

example workflow issues

I've installed this custom node correct and I was able to run the example workflow with Cammy correctly, but when I tried to run another example workflow like this one: Triplane_Gaussian_Transformers_to_3DGS(DMTet and DiffRast).json

I encountered the following errors:

[ERROR] An error occurred while retrieving information for the '[Comfy3D] Load Large Multiview Gaussian Model' node.
Traceback (most recent call last):
File "G:\3DComfyUI\ComfyUI\server.py", line 420, in get_object_info
out[x] = node_info(x)
^^^^^^^^^^^^
File "G:\3DComfyUI\ComfyUI\server.py", line 398, in node_info
info['input'] = obj_class.INPUT_TYPES()
^^^^^^^^^^^^^^^^^^^^^^^
File "G:\3DComfyUI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 1211, in INPUT_TYPES
"model_name": (get_list_filenames(os.path.join(ROOT_PATH, cls.checkpoints_dir)), ),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\3DComfyUI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\shared_utils\common_utils.py", line 122, in get_list_filenames
return [f for f in listdir(directory) if isfile(join(directory, f)) and (extension_filter is None or f.lower().endswith(extension_filter))]
^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'G:\3DComfyUI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\checkpoints/lgm'
[ERROR] An error occurred while retrieving information for the '[Comfy3D] Load Triplane Gaussian Transformers' node.
Traceback (most recent call last):
File "G:\3DComfyUI\ComfyUI\server.py", line 420, in get_object_info
out[x] = node_info(x)
^^^^^^^^^^^^
File "G:\3DComfyUI\ComfyUI\server.py", line 398, in node_info
info['input'] = obj_class.INPUT_TYPES()
^^^^^^^^^^^^^^^^^^^^^^^
File "G:\3DComfyUI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 1013, in INPUT_TYPES
"model_name": (get_list_filenames(os.path.join(ROOT_PATH, cls.checkpoints_dir)), ),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "G:\3DComfyUI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\shared_utils\common_utils.py", line 122, in get_list_filenames
return [f for f in listdir(directory) if isfile(join(directory, f)) and (extension_filter is None or f.lower().endswith(extension_filter))]
^^^^^^^^^^^^^^^^^^
FileNotFoundError: [WinError 3] The system cannot find the path specified: 'G:\3DComfyUI\ComfyUI\custom_nodes\ComfyUI-3D-Pack\checkpoints/tgs'

It seems like I'm missing a model/checkpoint.. related to Triplane Gaussian Transformers.. Could you point me to where to download the exact model/checkpoint needed for this.. thanks

Stand alone Vis component

hey folks, in case you are looking for a web-based visualization library with a clean python API, check out https://docs.vuer.ai.

I am actively developing this for VR/AR and robotics applications and would love to collaborate on this. We also support HTML cards in VR, and in the web page. (need examples) We support render and virtual camera rendering grabs, both in streaming mode (30 - 60 fps), and in on demand RPC. We are trying to use this for some real-time demos.

The python lib is very lightweight.

Screenshot 2024-02-15 at 12 13 14 AM

Manage to make it work for Google Colab !

As it was unclear if it was working for Google Colab, I test it and I manage to install it for ComfyUi without anaconda or anything using this :

!pip install pytorch==2.1.2 torchvision==0.16.2 torchaudio==2.1.2 pytorch-cuda=12.1 -c pytorch -c nvidia
!git clone https://github.com/MrForExample/ComfyUI-3D-Pack.git
%cd ComfyUI-3D-Pack
!pip install -r requirements.txt
!git clone --recursive https://github.com/ashawkey/diff-gaussian-rasterization
!pip install ./diff-gaussian-rasterization
!pip install ./simple-knn

!git clone --recursive https://github.com/NVlabs/nvdiffrast/
!pip install ./nvdiffrast

# Install pointnet2_ops
%cd tgs/models/snowflake/pointnet2_ops_lib
!python setup.py install
%cd ../../../../

!pip install git+https://github.com/rusty1s/pytorch_scatter.git
!pip install 'git+https://github.com/facebookresearch/detectron2.git'
import sys
import torch
pyt_version_str=torch.__version__.split("+")[0].replace(".", "")
version_str="".join([
    f"py3{sys.version_info.minor}_cu",
    torch.version.cuda.replace(".",""),
    f"_pyt{pyt_version_str}"
])
!pip install --no-index --no-cache-dir pytorch3d -f https://dl.fbaipublicfiles.com/pytorch3d/packaging/wheels/{version_str}/download.html

Its working perfectly on my side. Let me know ;)

model location

Thanks for your amazing work!
Can you explain in detail how to place the corresponding model?
image

No module named 'pointenet2_ops'

All dependencies installed correctly following procedure in readme.
Successfully ran example workflow "Multi-View-Images_to_3DGS_to_3DMesh(DMTet and DiffRast).json" (Worse quality than results using default settings from threestudio.)
Successfully ran example workflow "Using_Stack_Orbit_Camera_Poses_to_conditioning_StableZero123.json"

Error encountered for example workflow "Triplane_Gaussian_Transformers_to_3DGS.json"

Error occurred when executing [Comfy3D] Load Triplane Gaussian Transformers:

No module named 'pointnet2_ops'

  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 152, in recursive_execute
    output_data, output_ui = get_output_data(obj, input_data_all)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 82, in get_output_data
    return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\execution.py", line 70, in map_node_over_list
    results.append(getattr(obj, func)())
                   ^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 1027, in load_TGS
    tgs_model = TGS(cfg=cfg.system).to(device)
                ^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\triplane_gaussian_transformers.py", line 85, in __init__
    self.pointcloud_generator = find(self.cfg.pointcloud_generator_cls)(self.cfg.pointcloud_generator)
                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\utils\base.py", line 103, in __init__
    self.configure(*args, **kwargs)
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\models\pointclouds\simplepoint.py", line 60, in configure
    self.pointcloud_upsampling = tgs.find(self.cfg.pointcloud_upsampling_cls)(self.cfg.pointcloud_upsampling)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\__init__.py", line 9, in find
    module = importlib.import_module(module_string, package=__name__)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\AI\comfyui\ComfyUI_windows_portable\python_miniconda_env\ComfyUI\Lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "", line 1204, in _gcd_import
  File "", line 1176, in _find_and_load
  File "", line 1147, in _find_and_load_unlocked
  File "", line 690, in _load_unlocked
  File "", line 940, in exec_module
  File "", line 241, in _call_with_frames_removed
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\models\snowflake\model_spdpp.py", line 19, in 
    from .utils import fps_subsample
  File "C:\AI\comfyui\ComfyUI_windows_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\tgs\models\snowflake\utils.py", line 9, in 
    from pointnet2_ops.pointnet2_utils import furthest_point_sample, \

Windows 11
13th Gen Intel Core i9-13900K
NVIDIA GeForce RTX 4090

(Not necessarily a deal-breaker issue here. I don't know why I would want this example workflow considering the other 2 effectively provide an image-to-3d pipeline, with some modifications to the camera orbits.)

MVDream model error

I run the workflow first time it work but generate a cube with the model like in an ice cube, second time get this error:

Error occurred when executing [Comfy3D] MVDream Model:

Unable to infer channel dimension format

File "K:\ComfyUI\ComfyUI_Ex\ComfyUI\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\ComfyUI\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\ComfyUI\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 1213, in run_mvdream
mv_images = mvdream_pipe(prompt, reference_image, generator=generator, negative_prompt=prompt_neg, guidance_scale=mv_guidance_scale, num_inference_steps=num_inference_steps, elevation=elevation)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils_contextlib.py", line 115, in decorate_context
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\ComfyUI\custom_nodes\ComfyUI-3D-Pack\lgm\mvdream\pipeline_mvdream.py", line 468, in call
image_embeds_neg, image_embeds_pos = self.encode_image(image, device, num_images_per_prompt)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\ComfyUI\custom_nodes\ComfyUI-3D-Pack\lgm\mvdream\pipeline_mvdream.py", line 408, in encode_image
image = self.feature_extractor(image, return_tensors="pt").pixel_values
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\python_miniconda_env\ComfyUI\Lib\site-packages\transformers\image_processing_utils.py", line 552, in call
return self.preprocess(images, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\python_miniconda_env\ComfyUI\Lib\site-packages\transformers\models\clip\image_processing_clip.py", line 296, in preprocess
input_data_format = infer_channel_dimension_format(images[0])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "K:\ComfyUI\ComfyUI_Ex\python_miniconda_env\ComfyUI\Lib\site-packages\transformers\image_utils.py", line 206, in infer_channel_dimension_format
raise ValueError("Unable to infer channel dimension format")

Challange with No module named 'diff_gaussian_rasterization'

Hey everyone,

I tried the the last 3 days of commits and it ends up in the fail below.

"diff_gaussian_rasterization" First question is this a custom (developer module)?

Regards

Marcus

File "H:\Programme\StabilityMatrix\Data\Packages\ComfyUI\nodes.py", line 1893, in load_custom_node
module_spec.loader.exec_module(module)
File "", line 883, in exec_module
File "", line 241, in call_with_frames_removed
File "H:\Programme\StabilityMatrix\Data\Packages\ComfyUI\custom_nodes\ComfyUI-3D-Pack_init
.py", line 18, in
module = importlib.import_module(f".{nodes_filename}", package=name)
File "importlib_init_.py", line 126, in import_module
File "", line 1050, in _gcd_import
File "", line 1027, in _find_and_load
File "", line 1006, in _find_and_load_unlocked
File "", line 688, in _load_unlocked
File "", line 883, in exec_module
File "", line 241, in _call_with_frames_removed
File "H:\Programme\StabilityMatrix\Data\Packages\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 26, in
from .algorithms.main_3DGS import GaussianSplatting, GaussianSplattingCameraController, GSParams
File "H:\Programme\StabilityMatrix\Data\Packages\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS.py", line 12, in
from .main_3DGS_renderer import GaussianSplattingRenderer
File "H:\Programme\StabilityMatrix\Data\Packages\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\main_3DGS_renderer.py", line 24, in
from diff_gaussian_rasterization import (
ModuleNotFoundError: No module named 'diff_gaussian_rasterization'

Cannot import H:\Programme\StabilityMatrix\Data\Packages\ComfyUI\custom_nodes\ComfyUI-3D-Pack module for custom nodes: No module named 'diff_gaussian_rasterization'

Error when Convert 3DGS to Mesh with NeRF and Marching Cubes

Hi! Finally able to install (not from the first time).
Workflow "Using_Stack_Orbit_Camera_Poses_to_conditioning_StableZero123.json" works. But the "Triplane_Gaussian_Transformers_to_3DGS_and_3DMesh.json" shows an error at the final stage of converting gaussian points to mesh.

Error occurred when executing [Comfy3D] Convert 3DGS to Mesh with NeRF and Marching Cubes:

Ninja is required to load C++ extensions

File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\execution.py", line 152, in recursive_execute
output_data, output_ui = get_output_data(obj, input_data_all)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\execution.py", line 82, in get_output_data
return_values = map_node_over_list(obj, input_data_all, obj.FUNCTION, allow_interrupt=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\execution.py", line 75, in map_node_over_list
results.append(getattr(obj, func)(**slice_dict(input_data_all, i)))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\nodes.py", line 1336, in convert_gs_ply
converter = GSConverterNeRFMarchingCubes(config_defaults[gs_config], gs_ply).cuda()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\ComfyUI\custom_nodes\ComfyUI-3D-Pack\algorithms\nerf_marching_cubes_converter.py", line 27, in init
from kiui.gridencoder import GridEncoder
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\python_miniconda_env\ComfyUI\Lib\site-packages\kiui\gridencoder\__init__.py", line 1, in
from .grid import GridEncoder
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\python_miniconda_env\ComfyUI\Lib\site-packages\kiui\gridencoder\grid.py", line 9, in
from .backend import _backend
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\python_miniconda_env\ComfyUI\Lib\site-packages\kiui\gridencoder\backend.py", line 63, in
_backend = load(
^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 1306, in load
return _jit_compile(
^^^^^^^^^^^^^
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 1710, in _jit_compile
_write_ninja_file_and_build_library(
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 1793, in _write_ninja_file_and_build_library
verify_ninja_availability()
File "D:\Work\AI\StableDiffusion\ComfyUI_portable\python_miniconda_env\ComfyUI\Lib\site-packages\torch\utils\cpp_extension.py", line 1842, in verify_ninja_availability
raise RuntimeError("Ninja is required to load C++ extensions")

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.