A tool for rendering 3D scenes using NVIDIA Omniverse Replicator based on JSON scene definitions.
This tool takes a scene definition in JSON format and uses NVIDIA Omniverse Replicator to render images from the scene. It leverages the Omniverse Replicator and Omniverse Replicator Object extensions to create and manipulate 3D objects in the scene.
- NVIDIA Omniverse
- Omniverse Replicator extension
- Omniverse Replicator Object extension
- Blender 3.4.0 or later (for scene optimization)
The tool accepts a JSON file with the following structure:
{
"objects": {
"object_id": {
"category": "objects", // The type of object (e.g., "objects", "walls", "floors", "ceilings")
"material": { ... }, // Material definition (only for "walls", "floors", "ceilings")
"placements": [
{
"position": [pos_x, pos_y, pos_z], // pos_z defaults to 0 (i.e. on the floor)
"rotation": [rot_x, rot_y, rot_z], // or just a numerical number (z-axis rotation)
"scale": [scale_x, scale_y, scale_z] // or just a numerical number, defaults to 1
}
],
"metadata": { ... } // Additional object metadata
}
}
}
objects
: General 3D objectswalls
: Wall elementsfloors
: Floor elementsceilings
: Ceiling elements
position
: Array of [x, y, z] coordinates- z defaults to 0 (floor level)
rotation
: Array of [x, y, z] rotation angles or single z-axis rotation valuescale
: Array of [x, y, z] scale factors or single uniform scale value
The tool includes a powerful scene optimization panel that helps prepare your 3D scenes for efficient rendering. The optimization panel provides the following features:
- Validation: Remove invalid geometry
- Vertex Welding: Merge close vertices to reduce mesh complexity
- UV Unwrapping: Smart UV unwrapping with configurable margins
- Decimation: Reduce polygon count while preserving visual quality
- Configurable reduction ratio
- Symmetry-aware decimation
- Minimum face count threshold
- Optional shape key removal
- Mesh Chopping: Split large meshes into smaller, more manageable pieces
- Geometry Generation: Create simplified versions of objects
- Convex Hull generation
- Bounding Box generation
- Batch Processing: Apply optimizations to multiple objects simultaneously
- USD Export: Export optimized scenes directly to USD format
- Open the Omniverse panel in Blender's 3D Viewport
- Select the objects you want to optimize
- Configure optimization settings as needed
- Apply optimizations or export directly to USD
- Create a JSON file following the scene definition format above
- Use the Omniverse Replicator and Replicator Object tools to render the scene
- The rendered images will be generated based on the scene configuration
For more information about the Omniverse Replicator and Replicator Object extensions, please refer to:
[Add your license information here]
[Add contribution guidelines here]