diff --git a/Gen_3D_Modules/TRELLIS/trellis/utils/postprocessing_utils.py b/Gen_3D_Modules/TRELLIS/trellis/utils/postprocessing_utils.py index 7b52db3..8f5c42b 100644 --- a/Gen_3D_Modules/TRELLIS/trellis/utils/postprocessing_utils.py +++ b/Gen_3D_Modules/TRELLIS/trellis/utils/postprocessing_utils.py @@ -404,7 +404,7 @@ def bake_texture( return texture -def to_glb( +def finalize_mesh( app_rep: Union[Strivec, Gaussian], mesh: MeshExtractResult, simplify: float = 0.95, diff --git a/README.md b/README.md index b060d9e..4c5068e 100644 --- a/README.md +++ b/README.md @@ -16,25 +16,43 @@ This is an extensive node suite that enables ComfyUI to process 3D inputs (Mesh **Can be installed directly from [ComfyUI-Manager](https://github.com/ltdrdata/ComfyUI-Manager)🚀** - [Pre-builds](https://github.com/MrForExample/Comfy3D_Pre_Builds) are available for: - - Windows 10/11, Ubuntu 22.04 - - Python 3.10/3.11/3.12 - - CUDA 12.4/12.1/11.8 - - torch 2.3.0/2.4.0/2.5.1+cu124/cu121/cu118 + - Windows 10/11 + - Python 3.12 + - CUDA 12.4 + - torch 2.5.1+cu124 - [install.py](install.py) will download & install Pre-builds automatically according to your runtime environment, if it couldn't find corresponding Pre-builds, then [build script](_Pre_Builds/_Build_Scripts/auto_build_all.py) will start automatically, if automatic build doesn't work for you, then please check out [Semi-Automatic Build Guide](_Pre_Builds/README.md#build-required-packages-semi-automatically) - If you have any missing node in any open Comfy3D workflow, try simply click [Install Missing Custom Nodes](https://github.com/ltdrdata/ComfyUI-Manager?tab=readme-ov-file#support-of-missing-nodes-installation) in ComfyUI-Manager -- If for some reason your comfy3d can't download pre-trained models automatically, you can always download them manually and put them in to correct folder under [Checkpoints](Checkpoints) directory, but please **DON'T** overwrite any exist .json files +- In case there is missing python library, you can check [all the python dependencies of my dev environment](my-reqs.txt) +- If for some reason your comfy3d can't download pre-trained models automatically, you can always download them manually and put them in to correct folder under [Checkpoints](Checkpoints)directory, but please **DON'T** overwrite any exist .json files - Docker install please check [DOCKER_INSTRUCTIONS.md](DOCKER_INSTRUCTIONS.md) -- **Note:** at this moment, you'll still need to install [Visual Studio Build Tools for windows](_Pre_Builds/README.md#build-for-windows) and [install `gcc g++` for Linux](_Pre_Builds/README.md#build-for-linux) in order for `InstantNGP & Convert 3DGS to Mesh with NeRF and Marching_Cubes` nodes to work, since those two nodes used JIT torch cpp extension that builds in runtime, but I plan to replace those nodes soon +- **Note:** at this moment, you'll still need to install [Visual Studio Build Tools for windows](_Pre_Builds/README.md#build-for-windows) and [install `gcc g++` for Linux](_Pre_Builds/README.md#build-for-linux) in order for `InstantNGP & Convert 3DGS to Mesh with NeRF and Marching_Cubes` nodes to work, since those two nodes used JIT torch cpp extension that builds in runtime, but I plan to replace those nodes + +**For manual install** +```bash +# Fetch newest version of Comfy3D +cd Your ComfyUI Root Directory\ComfyUI\custom_nodes\ +git clone https://github.com/MrForExample/ComfyUI-3D-Pack.git +cd ComfyUI-3D-Pack + +# Install all dependencies +Your ComfyUI Root Directory\python_embeded\python.exe -s -m pip install -r requirements.txt +Your ComfyUI Root Directory\python_embeded\python.exe install.py +``` + ## Features: -- For use cases please check out [Example Workflows](./_Example_Workflows/). [**Last update: 08/November/2024**] +- For use cases please check out [Example Workflows](./_Example_Workflows/). [**Last update: 16/December/2024**] - **Note:** you need to put [Example Inputs Files & Folders](_Example_Workflows/_Example_Inputs_Files/) under ComfyUI Root Directory\ComfyUI\input folder before you can run the example workflow - [tripoSR-layered-diffusion workflow](https://github.com/C0nsumption/Consume-ComfyUI-Workflows/tree/main/assets/tripo_sr/00) by [@Consumption](https://twitter.com/c0nsumption_) +- **TRELLIS**: [microsoft/TRELLIS](https://github.com/microsoft/TRELLIS) + - Single image to 3D Mesh with RGB texture + - Model weights: https://huggingface.co/JeffreyXiang/TRELLIS-image-large + - **Hunyuan3D_V1** [tencent/Hunyuan3D-1](https://github.com/Tencent/Hunyuan3D-1/) - Two stages pipeline: 1. Single image to multi-views - 2. Multi-views to 3D Mesh with RGB texture + 1. Multi-views to 3D Mesh with RGB texture - Model weights: https://huggingface.co/tencent/Hunyuan3D-1/tree/main - **StableFast3D**: [Stability-AI/stable-fast-3d](https://github.com/Stability-AI/stable-fast-3d) diff --git a/_Example_Workflows/Trellis_Image_to_Mesh.json b/_Example_Workflows/Trellis_Image_to_Mesh.json new file mode 100644 index 0000000..b75e8ff --- /dev/null +++ b/_Example_Workflows/Trellis_Image_to_Mesh.json @@ -0,0 +1,301 @@ +{ + "last_node_id": 14, + "last_link_id": 16, + "nodes": [ + { + "id": 13, + "type": "[Comfy3D] Preview 3DMesh", + "pos": [ + 2716.44384765625, + 1007.373779296875 + ], + "size": [ + 600, + 500 + ], + "flags": {}, + "order": 5, + "mode": 0, + "inputs": [ + { + "name": "mesh_file_path", + "type": "STRING", + "link": 15, + "widget": { + "name": "mesh_file_path" + } + } + ], + "outputs": [], + "properties": { + "Node name for S&R": "[Comfy3D] Preview 3DMesh" + }, + "widgets_values": [ + "", + null + ] + }, + { + "id": 4, + "type": "InvertMask", + "pos": [ + 2206.3349609375, + 1107.0419921875 + ], + "size": [ + 140, + 26 + ], + "flags": {}, + "order": 2, + "mode": 0, + "inputs": [ + { + "name": "mask", + "type": "MASK", + "link": 3 + } + ], + "outputs": [ + { + "name": "MASK", + "type": "MASK", + "links": [ + 10 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "InvertMask" + }, + "widgets_values": [] + }, + { + "id": 12, + "type": "[Comfy3D] Save 3D Mesh", + "pos": [ + 2714.4287109375, + 881.1815185546875 + ], + "size": [ + 315, + 58 + ], + "flags": {}, + "order": 4, + "mode": 0, + "inputs": [ + { + "name": "mesh", + "type": "MESH", + "link": 14 + } + ], + "outputs": [ + { + "name": "save_path", + "type": "STRING", + "links": [ + 15 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "[Comfy3D] Save 3D Mesh" + }, + "widgets_values": [ + "Test_TRELLIS/mesh_0.glb" + ] + }, + { + "id": 10, + "type": "[Comfy3D] Trellis Structured 3D Latents Models", + "pos": [ + 2358.921630859375, + 1006.6513061523438 + ], + "size": [ + 332.93328857421875, + 218 + ], + "flags": {}, + "order": 3, + "mode": 0, + "inputs": [ + { + "name": "trellis_pipe", + "type": "TRELLIS_PIPE", + "link": 9 + }, + { + "name": "reference_image", + "type": "IMAGE", + "link": 11 + }, + { + "name": "reference_mask", + "type": "MASK", + "link": 10 + } + ], + "outputs": [ + { + "name": "mesh", + "type": "MESH", + "links": [ + 14 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "[Comfy3D] Trellis Structured 3D Latents Models" + }, + "widgets_values": [ + 685921954948183, + "randomize", + 7.5, + 12, + 3, + 12 + ] + }, + { + "id": 3, + "type": "LoadImage", + "pos": [ + 1838.76123046875, + 1029.599609375 + ], + "size": [ + 353.18182373046875, + 489.7575378417969 + ], + "flags": {}, + "order": 0, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "IMAGE", + "type": "IMAGE", + "links": [ + 11 + ], + "slot_index": 0 + }, + { + "name": "MASK", + "type": "MASK", + "links": [ + 3 + ], + "slot_index": 1 + } + ], + "properties": { + "Node name for S&R": "LoadImage" + }, + "widgets_values": [ + "squirrel_girl_2.png", + "image" + ] + }, + { + "id": 9, + "type": "[Comfy3D] Load Trellis Structured 3D Latents Models", + "pos": [ + 1846.1541748046875, + 909.7863159179688 + ], + "size": [ + 344.3999938964844, + 58 + ], + "flags": {}, + "order": 1, + "mode": 0, + "inputs": [], + "outputs": [ + { + "name": "trellis_pipe", + "type": "TRELLIS_PIPE", + "links": [ + 9 + ], + "slot_index": 0 + } + ], + "properties": { + "Node name for S&R": "[Comfy3D] Load Trellis Structured 3D Latents Models" + }, + "widgets_values": [ + "JeffreyXiang/TRELLIS-image-large" + ] + } + ], + "links": [ + [ + 3, + 3, + 1, + 4, + 0, + "MASK" + ], + [ + 9, + 9, + 0, + 10, + 0, + "TRELLIS_PIPE" + ], + [ + 10, + 4, + 0, + 10, + 2, + "MASK" + ], + [ + 11, + 3, + 0, + 10, + 1, + "IMAGE" + ], + [ + 14, + 10, + 0, + 12, + 0, + "MESH" + ], + [ + 15, + 12, + 0, + 13, + 0, + "STRING" + ] + ], + "groups": [], + "config": {}, + "extra": { + "ds": { + "scale": 1.1, + "offset": [ + -1836.7102119504648, + -810.9070600201441 + ] + } + }, + "version": 0.4 +} \ No newline at end of file diff --git a/_Example_Workflows/_Example_Inputs_Files/squirrel_girl_2.png b/_Example_Workflows/_Example_Inputs_Files/squirrel_girl_2.png new file mode 100644 index 0000000..fb600a2 Binary files /dev/null and b/_Example_Workflows/_Example_Inputs_Files/squirrel_girl_2.png differ diff --git a/my-reqs.txt b/my-reqs.txt new file mode 100644 index 0000000..c0ce128 --- /dev/null +++ b/my-reqs.txt @@ -0,0 +1,175 @@ +accelerate==1.1.1 +aiohappyeyeballs @ file:///D:/a/ComfyUI/cu124_python_deps/aiohappyeyeballs-2.4.3-py3-none-any.whl#sha256=8a7a83727b2756f394ab2895ea0765a0a8c475e3c71e98d43d76f22b4b435572 +aiohttp @ file:///D:/a/ComfyUI/cu124_python_deps/aiohttp-3.10.10-cp312-cp312-win_amd64.whl#sha256=0e1b370d8007c4ae31ee6db7f9a2fe801a42b146cec80a86766e7ad5c4a259cf +aiosignal @ file:///D:/a/ComfyUI/cu124_python_deps/aiosignal-1.3.1-py3-none-any.whl#sha256=f8376fb07dd1e86a584e4fcdec80b36b7f81aac666ebc724e2c090300dd83b17 +antlr4-python3-runtime==4.9.3 +attrs @ file:///D:/a/ComfyUI/cu124_python_deps/attrs-24.2.0-py3-none-any.whl#sha256=81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2 +ccimport==0.4.4 +certifi==2024.12.14 +cffi @ file:///D:/a/ComfyUI/cu124_python_deps/cffi-1.17.1-cp312-cp312-win_amd64.whl#sha256=51392eae71afec0d0c8fb1a53b204dbb3bcabcb3c9b807eedf3e1e6ccf2de903 +charset-normalizer==3.4.0 +click==8.1.7 +cmake==3.30.5 +colorama @ file:///D:/a/ComfyUI/cu124_python_deps/colorama-0.4.6-py2.py3-none-any.whl#sha256=4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 +coloredlogs==15.0.1 +contourpy==1.3.0 +cryptography==43.0.3 +cumm-cu121==0.7.9 +cumm-cu124==0.7.11 +cycler==0.12.1 +dataclasses-json==0.6.7 +Deprecated==1.2.14 +diff_gaussian_rasterization @ file:///C:/Users/reall/Softwares/ComfyUI_windows_portable/ComfyUI/custom_nodes/ComfyUI-3D-Pack/_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/diff_gaussian_rasterization-0.0.0-cp312-cp312-win_amd64.whl#sha256=4aa00b35c553099c8e094e8c36be7172b43b503d1f749f2b3c7b35b44d07d9fd +diffusers==0.31.0 +easydict==1.13 +einops @ file:///D:/a/ComfyUI/cu124_python_deps/einops-0.8.0-py3-none-any.whl#sha256=9572fb63046264a862693b0a87088af3bdc8c068fde03de63453cbbde245465f +filelock @ file:///D:/a/ComfyUI/cu124_python_deps/filelock-3.16.1-py3-none-any.whl#sha256=2082e5703d51fbf98ea75855d9d5527e33d8ff23099bec374a134febee6946b0 +fire==0.7.0 +flatbuffers==24.3.25 +fonttools==4.54.1 +frozenlist @ file:///D:/a/ComfyUI/cu124_python_deps/frozenlist-1.5.0-cp312-cp312-win_amd64.whl#sha256=8969190d709e7c48ea386db202d708eb94bdb29207a1f269bab1196ce0dcca1f +fsspec @ file:///D:/a/ComfyUI/cu124_python_deps/fsspec-2024.10.0-py3-none-any.whl#sha256=03b9a6785766a4de40368b88906366755e2819e758b83705c88cd7cb5fe81871 +ftfy==6.3.1 +gitdb==4.0.11 +GitPython==3.1.43 +glcontext==3.0.0 +gpytoolbox==0.3.2 +hatchling==1.25.0 +huggingface-hub @ file:///D:/a/ComfyUI/cu124_python_deps/huggingface_hub-0.26.2-py3-none-any.whl#sha256=98c2a5a8e786c7b2cb6fdeb2740893cba4d53e312572ed3d8afafda65b128c46 +humanfriendly==10.0 +idna==3.10 +igraph==0.11.8 +imageio==2.36.0 +imageio-ffmpeg==0.5.1 +importlib_metadata==8.5.0 +iopath==0.1.10 +jaxtyping==0.2.34 +Jinja2 @ file:///D:/a/ComfyUI/cu124_python_deps/jinja2-3.1.4-py3-none-any.whl#sha256=bc5dd2abb727a5319567b7a813e6a2e7318c39f4f487cfe6c89c6f9c7d25197d +jsonschema==4.23.0 +jsonschema-specifications==2024.10.1 +kiui @ file:///C:/Users/reall/Softwares/ComfyUI_windows_portable/ComfyUI/custom_nodes/ComfyUI-3D-Pack/_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/kiui-0.2.14-py3-none-any.whl#sha256=8a36e39a67ca9b2dd6d1942b88e38a187b0ad63c36bc21705c19101e8dbe02a4 +kiwisolver==1.4.7 +kornia==0.7.4 +kornia_rs @ file:///D:/a/ComfyUI/cu124_python_deps/kornia_rs-0.1.7-cp312-none-win_amd64.whl#sha256=3fb9aeebf1676b2f2be442905b2112510aea8333e8949ceaaf348a4094887727 +lark==1.2.2 +lazy_loader==0.4 +libigl==2.5.1 +lightning-utilities==0.11.8 +llvmlite==0.43.0 +markdown-it-py==3.0.0 +MarkupSafe @ file:///D:/a/ComfyUI/cu124_python_deps/MarkupSafe-3.0.2-cp312-cp312-win_amd64.whl#sha256=8e06879fc22a25ca47312fbe7c8264eb0b662f6db27cb2d3bbbc74b1df4b9b87 +marshmallow==3.23.1 +matplotlib==3.9.2 +matrix-client==0.4.0 +mdurl==0.1.2 +moderngl==5.12.0 +mpmath==1.3.0 +multidict @ file:///D:/a/ComfyUI/cu124_python_deps/multidict-6.1.0-cp312-cp312-win_amd64.whl#sha256=188215fc0aafb8e03341995e7c4797860181562380f81ed0a87ff455b70bf1f1 +mypy-extensions==1.0.0 +nerfacc==0.5.3 +networkx @ file:///D:/a/ComfyUI/cu124_python_deps/networkx-3.4.2-py3-none-any.whl#sha256=df5d4365b724cf81b8c6a7312509d0c22386097011ad1abe274afd5e9d3bbc5f +ninja==1.11.1.2 +numba==0.60.0 +numpy==1.26.4 +nvdiffrast @ file:///C:/Users/reall/Softwares/ComfyUI_windows_portable/ComfyUI/custom_nodes/ComfyUI-3D-Pack/_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/nvdiffrast-0.3.3-py3-none-any.whl#sha256=5e31868046e2d2aeee045f0844fdc32c6cd6f7e59f5570a56501709b817625c3 +omegaconf==2.3.0 +onnxruntime==1.20.0 +open_clip_torch==2.29.0 +opencv-python==4.10.0.84 +opencv-python-headless==4.10.0.84 +packaging @ file:///D:/a/ComfyUI/cu124_python_deps/packaging-24.1-py3-none-any.whl#sha256=5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124 +pandas==2.2.3 +pathspec==0.12.1 +pccm==0.4.16 +peft==0.13.2 +piexif==1.1.3 +pillow @ file:///D:/a/ComfyUI/cu124_python_deps/pillow-11.0.0-cp312-cp312-win_amd64.whl#sha256=8ec4a89295cd6cd4d1058a5e6aec6bf51e0eaaf9714774e1bfac7cfc9051db47 +platformdirs==4.3.6 +pluggy==1.5.0 +plyfile==1.1 +pointnet2_ops @ file:///C:/Users/reall/Softwares/ComfyUI_windows_portable/ComfyUI/custom_nodes/ComfyUI-3D-Pack/_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/pointnet2_ops-3.0.0-cp312-cp312-win_amd64.whl#sha256=694261dc505eab0fb25d2a2f75db677d6f01ecb5fcc04a6f26628a2da9139ecc +pooch==1.8.2 +portalocker==3.0.0 +propcache @ file:///D:/a/ComfyUI/cu124_python_deps/propcache-0.2.0-cp312-cp312-win_amd64.whl#sha256=ad9c9b99b05f163109466638bd30ada1722abb01bbb85c739c50b6dc11f92dc3 +protobuf==5.28.3 +psutil @ file:///D:/a/ComfyUI/cu124_python_deps/psutil-6.1.0-cp37-abi3-win_amd64.whl#sha256=a8fb3752b491d246034fa4d279ff076501588ce8cbcdbb62c32fd7a377d996be +py-cpuinfo==9.0.0 +pybind11==2.13.6 +pycparser @ file:///D:/a/ComfyUI/cu124_python_deps/pycparser-2.22-py3-none-any.whl#sha256=c3702b6d3dd8c7abc1afa565d7e63d53a1d0bd86cdc24edd75470f4de499cfcc +pygit2 @ file:///D:/a/ComfyUI/cu124_python_deps/pygit2-1.16.0-cp312-cp312-win_amd64.whl#sha256=d3d049872a58834a3ac3fb33606ca7fc1f95b1baf34f66cde16927fd7e3f88df +PyGithub==2.5.0 +pygltflib==1.16.2 +Pygments==2.18.0 +pyhocon==0.3.61 +PyJWT==2.9.0 +PyMatting==1.1.12 +PyMCubes==0.1.6 +pymeshfix==0.17.0 +pymeshlab==2023.12.post2 +PyNaCl==1.5.0 +pyparsing==3.2.0 +pyreadline3==3.5.4 +python-dateutil==2.9.0.post0 +pytorch-lightning==2.4.0 +pytorch-msssim==1.0.0 +pytorch3d @ file:///C:/Users/reall/Softwares/ComfyUI_windows_portable/ComfyUI/custom_nodes/ComfyUI-3D-Pack/_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/pytorch3d-0.7.8-cp312-cp312-win_amd64.whl#sha256=656bcf0cb666301b06e1ee9ef52542fea2907b06f711858ba6b974729e4640a5 +pytz==2024.2 +pyvista==0.44.2 +pywin32==308 +PyYAML @ file:///D:/a/ComfyUI/cu124_python_deps/PyYAML-6.0.2-cp312-cp312-win_amd64.whl#sha256=7e7401d0de89a9a855c839bc697c079a4af81cf878373abd7dc625847d25cbd8 +referencing==0.35.1 +regex @ file:///D:/a/ComfyUI/cu124_python_deps/regex-2024.9.11-cp312-cp312-win_amd64.whl#sha256=9e8719792ca63c6b8340380352c24dcb8cd7ec49dae36e963742a275dfae6009 +rembg==2.0.59 +requests==2.32.3 +rich==13.9.4 +rpds-py==0.21.0 +safetensors @ file:///D:/a/ComfyUI/cu124_python_deps/safetensors-0.4.5-cp312-none-win_amd64.whl#sha256=b5a8810ad6a6f933fff6c276eae92c1da217b39b4d8b1bc1c0b8af2d270dc532 +scikit-image==0.24.0 +scipy @ file:///D:/a/ComfyUI/cu124_python_deps/scipy-1.14.1-cp312-cp312-win_amd64.whl#sha256=2ff38e22128e6c03ff73b6bb0f85f897d2362f8c052e3b8ad00532198fbdae3f +scooby==0.10.0 +seaborn==0.13.2 +segment-anything==1.0 +sentencepiece @ file:///D:/a/ComfyUI/cu124_python_deps/sentencepiece-0.2.0-cp312-cp312-win_amd64.whl#sha256=7a673a72aab81fef5ebe755c6e0cc60087d1f3a4700835d40537183c1703a45f +setuptools @ file:///D:/a/ComfyUI/cu124_python_deps/setuptools-75.3.0-py3-none-any.whl#sha256=f2504966861356aa38616760c0f66568e535562374995367b4e69c7143cf6bcd +shellingham==1.5.4 +simple_knn @ file:///C:/Users/reall/Softwares/ComfyUI_windows_portable/ComfyUI/custom_nodes/ComfyUI-3D-Pack/_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/simple_knn-0.0.0-cp312-cp312-win_amd64.whl#sha256=b5175cdf171703a54a3afb451958bff3a9a4dce8af4c5e9c3676ab6670c2bda3 +six==1.16.0 +slangtorch==1.3.0 +smmap==5.0.1 +soundfile @ file:///D:/a/ComfyUI/cu124_python_deps/soundfile-0.12.1-py2.py3-none-win_amd64.whl#sha256=0d86924c00b62552b650ddd28af426e3ff2d4dc2e9047dae5b3d8452e0a49a77 +spandrel @ file:///D:/a/ComfyUI/cu124_python_deps/spandrel-0.4.0-py3-none-any.whl#sha256=819f3f15fe944fe589f43ba33150458a00d0ed0c2e8ef1eef0198615320127b1 +spconv-cu124==2.3.8 +sympy==1.13.1 +termcolor==2.5.0 +texttable==1.7.0 +tifffile==2024.9.20 +timm==1.0.11 +tokenizers==0.20.3 +torch @ file:///D:/a/ComfyUI/cu124_python_deps/torch-2.5.1%2Bcu124-cp312-cp312-win_amd64.whl#sha256=3c3f705fb125edbd77f9579fa11a138c56af8968a10fc95834cdd9fdf4f1f1a6 +torch_scatter @ file:///C:/Users/reall/Softwares/ComfyUI_windows_portable/ComfyUI/custom_nodes/ComfyUI-3D-Pack/_Pre_Builds/_Build_Wheels/_Wheels_win_py312_torch2.5.1_cu124/torch_scatter-2.1.2-cp312-cp312-win_amd64.whl#sha256=09423dc65fe5cce07550537631ccb0a0cd08d9c3203798a5d36336da4cbe1f5d +torchaudio @ file:///D:/a/ComfyUI/cu124_python_deps/torchaudio-2.5.1%2Bcu124-cp312-cp312-win_amd64.whl#sha256=cca2de94f232611b20d379edf28befa7a1aa482ae9ed41c3b958b08ed1bf4983 +torchmetrics==1.5.2 +torchsde @ file:///D:/a/ComfyUI/cu124_python_deps/torchsde-0.2.6-py3-none-any.whl#sha256=19bf7ff02eec7e8e46ba1cdb4aa0f9db1c51d492524a16975234b467f7fc463b +torchtyping==0.1.5 +torchvision @ file:///D:/a/ComfyUI/cu124_python_deps/torchvision-0.20.1%2Bcu124-cp312-cp312-win_amd64.whl#sha256=0f6c7b3b0e13663fb3359e64f3604c0ab74c2b4809ae6949ace5635a5240f0e5 +tqdm==4.67.0 +trampoline @ file:///D:/a/ComfyUI/cu124_python_deps/trampoline-0.1.2-py3-none-any.whl#sha256=36cc9a4ff9811843d177fc0e0740efbd7da39eadfe6e50c9e2937cbc06d899d9 +transformers==4.46.2 +trimesh==4.5.2 +trove-classifiers==2024.10.21.16 +typeguard==2.13.3 +typer==0.13.0 +typing-inspect==0.9.0 +typing_extensions @ file:///D:/a/ComfyUI/cu124_python_deps/typing_extensions-4.12.2-py3-none-any.whl#sha256=04e5ca0351e0f3f85c6853954072df659d0d13fac324d0072316b67d7794700d +tzdata==2024.2 +ultralytics==8.3.28 +ultralytics-thop==2.0.11 +urllib3==1.26.20 +utils3d @ git+https://github.com/EasternJournalist/utils3d.git@e87d195da7270f575d9680d884d6aad2588864aa +vtk==9.3.1 +wcwidth==0.2.13 +wrapt==1.16.0 +xatlas==0.0.9 +xformers==0.0.28.post3 +yarl @ file:///D:/a/ComfyUI/cu124_python_deps/yarl-1.17.1-cp312-cp312-win_amd64.whl#sha256=117ed8b3732528a1e41af3aa6d4e08483c2f0f2e3d3d7dca7cf538b3516d93df +zipp==3.20.2 diff --git a/nodes.py b/nodes.py index a1b25c9..aaf9b45 100644 --- a/nodes.py +++ b/nodes.py @@ -3968,7 +3968,7 @@ class Trellis_Structured_3D_Latents_Models: ) # GLB files can be extracted from the outputs - vertices, faces, uvs, texture = postprocessing_utils.to_glb( + vertices, faces, uvs, texture = postprocessing_utils.finalize_mesh( outputs['gaussian'][0], outputs['mesh'][0], # Optional parameters @@ -3977,15 +3977,10 @@ class Trellis_Structured_3D_Latents_Models: ) vertices, faces, uvs, texture = torch.from_numpy(vertices).to(DEVICE), torch.from_numpy(faces).to(torch.int64).to(DEVICE), torch.from_numpy(uvs).to(DEVICE), torch.from_numpy(texture).to(DEVICE) - mesh = Mesh(v=vertices, f=faces, vt=uvs, albedo=texture, device=DEVICE) + mesh = Mesh(v=vertices, f=faces, vt=uvs, ft=faces, albedo=texture, device=DEVICE) mesh.auto_normal() return (mesh,) - - import comfy.utils - comfy_pbar = comfy.utils.ProgressBar(steps) - - comfy_pbar.update_absolute(i + 1)