Overlord uses Daz Studio, NVIDIA Iray, and Electron to generate 2D renders of 3D models for use in video games. Overlord provides both a GUI and command line interface for batch processing and automation.
- DAZ Studio 4.24+: Download and install from Daz3d.com
- Iray Server: Download and install from IrayPlugins.com
- Node.js 18+: Required for running from source or building locally. Download and install from Node.js.org.
- Browse to the latest release
- Download and run the
OverlordInstallerexecutable
-
Clone this repository:
git clone https://github.com/Vineyard-Technologies/Overlord.git cd Overlord -
Install Node.js dependencies:
npm install
-
Run the application:
npm start
- Launch Overlord
- Configure your Source Sets - folders containing your DAZ assets (.duf files)
- Set your Output Directory - where rendered images will be saved
- Adjust rendering parameters as needed
- Click Start Render to begin
Overlord supports extensive command line arguments for automation, testing, and batch processing.
npm start -- [options]Or with the built executable:
overlord.exe [options]--startRender- Automatically start render when application launches--headless- Run in headless mode without UI (automatically starts render)
--subject PATH- Path to the subject .duf file--animations PATH [PATH ...]- One or more animation .duf files--prop-animations PATH [PATH ...]- One or more prop animation .duf files--gear PATH [PATH ...]- One or more gear .duf files--gear-animations PATH [PATH ...]- One or more gear animation .duf files--output-dir PATH- Output directory for rendered images
--instances N- Number of render instances to run (default: 1)--frame-rate N- Frame rate for animations (default: 30)--no-render-shadows- Disable shadow rendering
npm start -- --help- See all available command line options (development)overlord.exe --help- See all available command line options (executable)
# Launch GUI and automatically start render with saved settings
npm start -- --startRender
# Or with executable
overlord.exe --startRender
# Launch GUI with specific settings and auto-start
overlord.exe --subject "C:/Assets/character.duf" --animations "C:/Assets/attack.duf" --output-dir "C:/Output" --instances 2 --startRender# Basic headless render
overlord.exe --headless --subject "C:/Assets/character.duf" --animations "C:/Assets/attack.duf" --output-dir "C:/Output"
# Advanced headless render with multiple files and settings
overlord.exe --headless \
--subject "C:/Assets/goblin.duf" \
--animations "C:/Assets/attack.duf" "C:/Assets/idle.duf" \
--gear "C:/Assets/sword.duf" "C:/Assets/shield.duf" \
--output-dir "C:/Renders" \
--instances 2 \
--frame-rate 24When using --headless, these arguments are required:
--subject- Must specify a subject file--animations- Must specify at least one animation--output-dir- Must specify output directory
Source Sets are folders containing your DAZ asset files. Overlord recognizes these file types:
*_subject.duf- This is a Scene Subset of either a figure or an object*_animation.duf- These are Pose Presets for the subject*_gear.duf- These are Wearables Presets for the subject*_propAnimation.duf- These are Pose Presets for objects included with the subject file*_gearAnimation.duf- These are Pose Presets for the gear files
The constructZipper.js script organizes rendered output files into organized zip archives by character, action, and rotation.
Usage:
npm run zipThis will scan the ~/Downloads/output folder and create organized zip archives in ~/Downloads/output/ConstructZips/.
File Organization:
- Input format:
prefix-action_rotation-sequence.extension(e.g.,woman_shadow-powerUp_-67.5-014.webp) - Output structure:
ConstructZips/prefix/action/action_rotation.zip - Files with the same prefix, action, and rotation are grouped into a single zip file
To build a distributable Windows executable:
npm run buildThis will create installers and portable executables in the dist folder using electron-builder.
This project is licensed under the AGPL 3.0 License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request.
For issues and support, please visit the Issues page.

