Update: Complete English documentation and version 1.1.0
This commit is contained in:
+29
-15
@@ -1,13 +1,15 @@
|
||||
# Installation Guide
|
||||
|
||||
## Requirements
|
||||
- Python 3.8+
|
||||
|
||||
- Python 3.8 or higher
|
||||
- Latest version of ComfyUI
|
||||
- Sufficient GPU memory for processing large panoramic images
|
||||
- CUDA-compatible GPU recommended
|
||||
|
||||
## Basic Installation
|
||||
|
||||
1. Clone this repository to ComfyUI's `custom_nodes` directory:
|
||||
1. Clone this repository to your ComfyUI's `custom_nodes` directory:
|
||||
```bash
|
||||
cd ComfyUI/custom_nodes
|
||||
git clone https://github.com/yourusername/ComfyUI-Equirect.git
|
||||
@@ -23,7 +25,7 @@
|
||||
|
||||
## Manual Installation of py360convert
|
||||
|
||||
If `pip install py360convert` fails, you can try installing from source:
|
||||
If `pip install py360convert` fails, you can install from source:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/sunset1995/py360convert.git
|
||||
@@ -38,25 +40,37 @@ If you encounter import errors, ensure all dependencies are correctly installed:
|
||||
```
|
||||
ImportError: No module named 'py360convert'
|
||||
```
|
||||
|
||||
Solution: Manually install the py360convert library.
|
||||
Solution: Manually install the py360convert library as described above.
|
||||
|
||||
### Memory Errors
|
||||
Processing large panoramic images may require substantial memory. If you encounter memory errors, try:
|
||||
1. Reduce the input image size
|
||||
2. Lower the cubemap face size
|
||||
Processing large panoramic images requires substantial memory. If you encounter memory errors:
|
||||
1. Reduce input image size
|
||||
2. Lower cubemap face size
|
||||
3. Use a device with more GPU memory
|
||||
|
||||
### Conversion Quality
|
||||
|
||||
For best conversion quality:
|
||||
1. Use high-resolution input images (at least 4K)
|
||||
For optimal conversion quality:
|
||||
1. Use high-resolution input images (4K or higher recommended)
|
||||
2. Set cubemap face size to 512 or higher
|
||||
3. Keep default FOV (90 degrees)
|
||||
3. Maintain default FOV (90 degrees)
|
||||
|
||||
## Performance Optimization
|
||||
|
||||
To speed up processing:
|
||||
1. Ensure PyTorch with CUDA support is correctly installed
|
||||
2. Use reasonable image sizes (unnecessarily large sizes will increase processing time)
|
||||
3. Process images individually if batch processing is not required
|
||||
To improve processing speed:
|
||||
1. Ensure PyTorch with CUDA support is properly installed
|
||||
2. Use appropriate image sizes (larger sizes increase processing time)
|
||||
3. Process images individually when batch processing is not required
|
||||
|
||||
## Version Compatibility
|
||||
|
||||
- Tested with Python 3.8-3.12
|
||||
- Compatible with latest ComfyUI releases
|
||||
- Requires CUDA-capable GPU for optimal performance
|
||||
|
||||
## Support
|
||||
|
||||
For issues and questions:
|
||||
1. Check the GitHub issues page
|
||||
2. Ensure all dependencies are correctly installed
|
||||
3. Verify input image formats and sizes
|
||||
@@ -1,15 +1,15 @@
|
||||
# ComfyUI-Equirect
|
||||
|
||||
ComfyUI nodes for conversion between equirectangular panoramas and cubemaps.
|
||||
A ComfyUI extension for converting between equirectangular panoramas and cubemaps. This tool provides essential functionality for 360° image processing and VR/AR content creation.
|
||||
|
||||
## Features
|
||||
|
||||
- **EquirectToCubemapNode**: Convert equirectangular panoramas to 6 cubemap faces
|
||||
- **CubemapToEquirectNode**: Convert 6 cubemap faces back to equirectangular panoramas
|
||||
- **EquirectToCubemapNode**: Convert equirectangular panoramas into 6 cubemap faces
|
||||
- **CubemapToEquirectNode**: Convert 6 cubemap faces back to equirectangular panorama
|
||||
|
||||
## Installation
|
||||
|
||||
1. Clone this repository to your ComfyUI `custom_nodes` directory:
|
||||
1. Clone this repository into your ComfyUI's `custom_nodes` directory:
|
||||
```bash
|
||||
cd ComfyUI/custom_nodes
|
||||
git clone https://github.com/yourusername/ComfyUI-Equirect.git
|
||||
@@ -23,30 +23,35 @@ ComfyUI nodes for conversion between equirectangular panoramas and cubemaps.
|
||||
|
||||
## Usage
|
||||
|
||||
### EquirectToCubemapNode (Equirectangular to Cubemap)
|
||||
### EquirectToCubemapNode
|
||||
|
||||
Converts a 360° panorama into six individual faces of a cubemap.
|
||||
|
||||
Inputs:
|
||||
- `equirect_image`: Equirectangular panorama input (2:1 aspect ratio)
|
||||
- `face_size`: Size of the output cubemap faces
|
||||
- `face_size`: Output size for each cubemap face
|
||||
- `fov`: Field of view angle (default: 90 degrees)
|
||||
|
||||
Outputs:
|
||||
- `front`, `right`, `back`, `left`, `top`, `bottom`: 6 cubemap faces
|
||||
|
||||
### CubemapToEquirectNode (Cubemap to Equirectangular)
|
||||
### CubemapToEquirectNode
|
||||
|
||||
Reconstructs a 360° panorama from six cubemap faces.
|
||||
|
||||
Inputs:
|
||||
- `front`, `right`, `back`, `left`, `top`, `bottom`: 6 cubemap faces
|
||||
- `output_height`: Height of the output equirectangular image (width will be automatically set to twice the height)
|
||||
- `output_height`: Height of the output panorama (width will be 2x height)
|
||||
|
||||
Outputs:
|
||||
- `equirect_image`: Converted equirectangular panorama
|
||||
|
||||
## Technical Notes
|
||||
## Technical Details
|
||||
|
||||
- Uses `py360convert` library for high-quality conversion when available
|
||||
- Automatically falls back to custom implementation if the library is not available
|
||||
- Supports batch processing and maintains correct image formats
|
||||
- High-quality conversion using `py360convert` library
|
||||
- Automatic fallback to custom implementation if needed
|
||||
- Batch processing support
|
||||
- Format preservation throughout conversion
|
||||
|
||||
## Dependencies
|
||||
|
||||
@@ -58,18 +63,21 @@ Outputs:
|
||||
|
||||
## Parameters
|
||||
|
||||
- **Input Image**: Equirectangular panorama image with 2:1 aspect ratio
|
||||
- **Face Size**: Edge length for each cubemap face (default: 512, range: 64-4096)
|
||||
- **Field of View**: FOV angle for each face (default: 90, range: 60-120)
|
||||
- **Input Image**: Equirectangular panorama (2:1 aspect ratio)
|
||||
- **Face Size**: Cubemap face edge length (default: 512, range: 64-4096)
|
||||
- **Field of View**: View angle per face (default: 90°, range: 60-120°)
|
||||
|
||||
## System Requirements
|
||||
|
||||
- ComfyUI
|
||||
- ComfyUI latest version
|
||||
- Python 3.7+
|
||||
- PyTorch
|
||||
- Pillow (PIL)
|
||||
- NumPy
|
||||
- CUDA-compatible GPU recommended
|
||||
- Sufficient GPU memory for large panoramas
|
||||
|
||||
## License
|
||||
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
|
||||
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
||||
|
||||
## Version
|
||||
|
||||
Current version: 1.1.0
|
||||
+2
-1
@@ -1,5 +1,6 @@
|
||||
"""
|
||||
ComfyUI nodes for equirectangular image processing
|
||||
ComfyUI nodes for equirectangular image processing and cubemap conversion.
|
||||
Provides functionality for converting between equirectangular panoramas and cubemap faces.
|
||||
"""
|
||||
|
||||
from .equirect_to_cubemap import EquirectToCubemapNode
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,60 @@
|
||||
|
||||
SSUUMMMMAARRYY OOFF LLEESSSS CCOOMMMMAANNDDSS
|
||||
|
||||
Commands marked with * may be preceded by a number, _N.
|
||||
Notes in parentheses indicate the behavior if _N is given.
|
||||
A key preceded by a caret indicates the Ctrl key; thus ^K is ctrl-K.
|
||||
|
||||
h H Display this help.
|
||||
q :q Q :Q ZZ Exit.
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
MMOOVVIINNGG
|
||||
|
||||
e ^E j ^N CR * Forward one line (or _N lines).
|
||||
y ^Y k ^K ^P * Backward one line (or _N lines).
|
||||
f ^F ^V SPACE * Forward one window (or _N lines).
|
||||
b ^B ESC-v * Backward one window (or _N lines).
|
||||
z * Forward one window (and set window to _N).
|
||||
w * Backward one window (and set window to _N).
|
||||
ESC-SPACE * Forward one window, but don't stop at end-of-file.
|
||||
d ^D * Forward one half-window (and set half-window to _N).
|
||||
u ^U * Backward one half-window (and set half-window to _N).
|
||||
ESC-) RightArrow * Right one half screen width (or _N positions).
|
||||
ESC-( LeftArrow * Left one half screen width (or _N positions).
|
||||
ESC-} ^RightArrow Right to last column displayed.
|
||||
ESC-{ ^LeftArrow Left to first column.
|
||||
F Forward forever; like "tail -f".
|
||||
ESC-F Like F but stop when search pattern is found.
|
||||
r ^R ^L Repaint screen.
|
||||
R Repaint screen, discarding buffered input.
|
||||
---------------------------------------------------
|
||||
Default "window" is the screen height.
|
||||
Default "half-window" is half of the screen height.
|
||||
---------------------------------------------------------------------------
|
||||
|
||||
SSEEAARRCCHHIINNGG
|
||||
|
||||
/_p_a_t_t_e_r_n * Search forward for (_N-th) matching line.
|
||||
?_p_a_t_t_e_r_n * Search backward for (_N-th) matching line.
|
||||
n * Repeat previous search (for _N-th occurrence).
|
||||
N * Repeat previous search in reverse direction.
|
||||
ESC-n * Repeat previous search, spanning files.
|
||||
ESC-N * Repeat previous search, reverse dir. & spanning files.
|
||||
^O^N ^On * Search forward for (_N-th) OSC8 hyperlink.
|
||||
^O^P ^Op * Search backward for (_N-th) OSC8 hyperlink.
|
||||
^O^L ^Ol Jump to the currently selected OSC8 hyperlink.
|
||||
ESC-u Undo (toggle) search highlighting.
|
||||
ESC-U Clear search highlighting.
|
||||
&_p_a_t_t_e_r_n * Display only matching lines.
|
||||
---------------------------------------------------
|
||||
A search pattern may begin with one or more of:
|
||||
^N or ! Search for NON-matching lines.
|
||||
^E or * Search multiple files (pass thru END OF FILE).
|
||||
^F or @ Start search at FIRST file (for /) or last file (for ?).
|
||||
^K Highlight matches, but don't move (KEEP position).
|
||||
^R Don't use REGULAR EXPRESSIONS.
|
||||
^S _n Search for match in _n-th parenthesized subpattern.
|
||||
^W WRAP search if no match found.
|
||||
^L Enter next character literally into pattern.
|
||||
---------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user