A comprehensive collection of tools, scripts, and gizmos for Foundry Nuke, designed to enhance workflow efficiency and provide powerful automation capabilities for visual effects and compositing artists.
NukeTools is a curated collection of Python scripts, custom gizmos, and utilities that extend Nuke's functionality with features like:
- Automated gizmo management and loading
- Node organization and arrangement tools
- File management and batch processing
- Script cleanup and optimization
- Custom viewer processes
- 3D and camera tools
- And much more
cd ~/.nuke
git clone https://github.com/seaniedan/nuketools.git
echo "nuke.pluginAddPath('nuketools')" >> init.py
cd %USERPROFILE%\.nuke
git clone https://github.com/seaniedan/nuketools.git
echo nuke.pluginAddPath('nuketools') >> init.py
After installation and restarting Nuke, you should see:
- An SD icon in the node panel
- A SDNukeTools menu in the main Nuke menu
- Automatic Gizmo Loading: Automatically loads and organizes gizmos from categorized directories
- Gizmo Sanitization: Converts and standardizes gizmo files with consistent naming and metadata
- Icon Management: Automatic icon copying and organization
- Arrange By: Intelligent node arrangement based on various criteria (position, class, metadata, etc.)
- MassivePanel: Advanced panel for bulk node operations and property management
- Node Movement: Precise node positioning, scaling, and rotation tools
- Backdrop Management: Automatic backdrop creation and organization
- Script Cleanup: Comprehensive script optimization and cleanup tools
- Tidyness Analysis: Analyze and improve script organization
- Search & Replace: Advanced search and replace functionality for node properties
- Recursive Read: Automatically create Read nodes for entire directory structures
- Collect Files: Gather and organize project files
- Copy Commands: Copy file paths, render commands, and frame ranges to clipboard
- File Conversion: Convert between various file formats
- Render Range Tools: Manage render ranges and frame lists
- Command Line Render: Generate command-line render commands
- Write Directory Creation: Automatic directory creation for Write nodes
- Flip/Flop Viewers: Mirror operations for viewer
- Grid Viewer: Grid overlay for alignment
- Saturation Viewer: Saturation analysis
- Laplacian Viewer: Edge detection visualization
- CheckFrozen Viewer: Frozen frame detection
- Scroll Viewer: Corner pin visualization
- Screengrab: Capture viewer screenshots
- Thumbnails: Generate node thumbnails
- Viewer Handles: Set viewer handle ranges
- Animated Snap 3D: Snap 3D objects to axes
- Smooth Camera: Create smooth camera animations
- Camera from Metadata: Generate cameras from metadata
- CornerPin Conversion: Convert between CornerPin types
- Tracker Median: Pick best tracking data
- Animation Curves: Copy animation curves between nodes
- Tween Nodes: Interpolate between node positions
- Shake Style Clone: One-way cloning system
- Autosave: Automatic script saving
- Autolabel: Automatic node labeling
- Node Defaults: Set default node properties
- Font Size Adjustment: Dynamic font scaling
nuketools/
βββ init.py # Nuke initialization script
βββ menu.py # Menu creation and organization
βββ gizmo_config.py # Gizmo loading configuration
βββ python/ # Python scripts and tools
β βββ load_gizmos.py # Gizmo loading system
β βββ sanitize_gizmos.py # Gizmo sanitization tool
β βββ arrange_by_sd.py # Node arrangement tool
β βββ MassivePanel.py # Bulk operations panel
β βββ script_clean_sd.py # Script cleanup utilities
β βββ ... # Additional tools
βββ groups/ # Custom gizmos organized by category
β βββ Color/ # Color correction gizmos
β βββ Filter/ # Filter and effects gizmos
β βββ Transform/ # Transform gizmos
β βββ Draw/ # Drawing gizmos
β βββ Keyer/ # Keying gizmos
β βββ Time/ # Time-based effects
β βββ Merge/ # Compositing gizmos
β βββ Views/ # Viewer gizmos
βββ gizmos/ # Additional gizmo files
βββ icons/ # Icon files for gizmos
βββ README files # Detailed documentation
- File: Nuke/NukeX switching, file collection
- Edit: Node operations, arrangement, cleanup
- Viewer: Handle management, custom viewers
- SDNukeTools: Comprehensive tool collection
- SeanScripts: Organized gizmo categories
- Image: Recursive read, read from write
- Transform: Various transform utilities
# Log level for gizmo loading
LOG_LEVEL = 'INFO'
# Show statistics after loading
SHOW_STATS = True
# Custom gizmo directories
CUSTOM_GIZMO_DIRECTORIES = []
# Categories to include/exclude
INCLUDE_CATEGORIES = []
EXCLUDE_CATEGORIES = []
# Gizmo conversion settings
GIZMO_CONVERSION = {
"suffix": "_sd",
"tile_color": "0xaaffffff",
"help": "Copyright Sean Danischevsky",
"default_icon": "SeanScripts.png"
}
# Arrange selected nodes by class
import arrange_by_sd
arrange_by_sd.arrange_by(nuke.selectedNodes(), sortKey='class')
# Sanitize a gizmo file
import sanitize_gizmos
success, message = sanitize_gizmos.sanitize_gizmo("/path/to/gizmo.gizmo")
# Clean up entire script
import script_clean_sd
script_clean_sd.cleanupScript(nuke.allNodes())
Shortcut | Function | Context |
---|---|---|
h |
Zoom to center | DAG |
Alt+Shift+d |
Toggle disable | DAG |
Shift+L |
Arrange by... | DAG |
Alt+d |
Make dot input | DAG |
Alt+c |
Copy paths to clipboard | DAG |
Shift+o |
Open directories in browser | DAG |
Ctrl+k |
Shake style clone | DAG |
Alt+v |
Paste multiple | DAG |
-
Gizmos not loading
- Check file permissions
- Verify directory structure
- Check
gizmo_config.py
settings
-
Menu items missing
- Restart Nuke after installation
- Check
init.py
path configuration - Verify Python script syntax
-
Import errors
- Ensure all dependencies are available
- Check Python version compatibility
- Verify file paths
Enable debug logging in gizmo_config.py
:
LOG_LEVEL = 'DEBUG'
- Fork the repository
- Create a feature branch
- Add your tools to appropriate directories
- Update documentation
- Submit a pull request
- Gizmo Loading System - Detailed gizmo management documentation
- Sanitize Gizmos Tool - Gizmo conversion and standardization
- Python Scripts - Individual script documentation
This project is licensed under the terms specified in the LICENSE file.
Sean Danischevsky - GitHub
For issues, questions, or contributions:
- Create an issue on GitHub
- Check existing documentation
- Review the troubleshooting section
NukeTools is designed to enhance your Nuke workflow with powerful automation and organization tools. Happy compositing!