Install
npx skillscat add logos-liber/atlas-agent-teams/omniverse Install via the SkillsCat registry.
SKILL.md
NVIDIA Omniverse
Omniverse Platform Integration
Omniverse Overview
- Platform: NVIDIA's open collaboration platform for 3D workflows
- Real-Time Ray Tracing: Real-time path-traced rendering
- Collaboration: Multi-user real-time collaboration
- Universal Scene Description (USD): Open standard for 3D scenes
- Connectors: Integration with various 3D applications
- Extensions: Extend functionality with Omniverse extensions
Omniverse Applications
- Create: Main application for scene composition and rendering
- View: Lightweight viewer for reviewing scenes
- Code: Code-based scene creation and manipulation
- Farm: Distributed rendering farm
- Nucleus: Collaboration server for multi-user workflows
Omniverse Workflows
- Import: Import assets from various sources
- Compose: Compose scenes with USD
- Render: Real-time ray-traced rendering
- Collaborate: Real-time multi-user collaboration
- Export: Export to various formats and engines
3D Asset Formats for Omniverse
USD (Universal Scene Description)
- USD Format: Primary format for Omniverse scenes
- USD Variants: Multiple variants of assets
- USD Instancing: Efficient instancing of assets
- USD Layers: Layered composition of scenes
- USD References: Reference external USD files
- USD Payloads: Efficient loading of large scenes
Supported Formats
- USD (.usd, .usda, .usdc): Primary Omniverse format
- FBX (.fbx): Common 3D format
- OBJ (.obj): Simple mesh format
- GLTF/GLB (.gltf, .glb): Web-ready format
- Alembic (.abc): Animation and particle data
- MDL (.mdl): Material Definition Language
Asset Preparation
- Scale: Ensure correct scale (meters)
- Orientation: Ensure correct orientation (Y-up)
- Materials: Convert materials to MDL
- Textures: Optimize textures for real-time
- Animations: Bake animations to USD
- Optimization: Optimize for real-time rendering
Real-Time 3D Streaming Considerations
Streaming Requirements
- Bandwidth: Sufficient network bandwidth for streaming
- Latency: Low latency for real-time collaboration
- Compression: Efficient compression for streaming
- Resolution: Balance quality and performance
- Frame Rate: Maintain target frame rate
- Synchronization: Synchronize across users
Streaming Optimization
- Level of Detail (LOD): Use LOD for distance scaling
- Texture Streaming: Stream textures based on distance
- Geometry Streaming: Stream geometry based on visibility
- Instancing: Use instancing for repeated assets
- Culling: Cull objects not visible to camera
- Optimization: Optimize for target hardware
Streaming Best Practices
- Progressive Loading: Load assets progressively
- Priority Loading: Load important assets first
- Background Loading: Load assets in background
- Caching: Cache assets locally
- Network Optimization: Optimize network usage
- Error Handling: Handle network errors gracefully
Interactivity and Physics in Omniverse
Physics Simulation
- PhysX Integration: NVIDIA PhysX physics engine
- Rigid Body Physics: Simulate rigid body dynamics
- Soft Body Physics: Simulate soft body deformation
- Cloth Simulation: Simulate cloth physics
- Particle Systems: Simulate particles and fluids
- Collision Detection: Detect and handle collisions
Interactive Elements
- Interactive Objects: Objects that respond to user input
- Physics-Based Interaction: Physics-based interaction with objects
- Scripting: Use Python for custom interactivity
- Animation: Animate objects and characters
- Triggers: Trigger events based on conditions
- Input Handling: Handle user input (mouse, keyboard, VR controllers)
Animation and Simulation
- Keyframe Animation: Traditional keyframe animation
- Procedural Animation: Procedural animation systems
- Physics Animation: Physics-based animation
- Blendshapes: Facial animation with blendshapes
- Skeleton Animation: Character animation with skeletons
- Simulation: Simulate physics and particles
Multi-User Synchronization
Real-Time Collaboration
- Nucleus Server: Collaboration server for multi-user workflows
- Live Sync: Real-time synchronization of changes
- User Presence: See other users in the scene
- Conflict Resolution: Resolve conflicts when multiple users edit same object
- Permissions: Control user permissions and access
- Chat: Built-in chat for communication
Collaboration Features
- Live Editing: Edit scenes in real-time with others
- Version Control: Track changes and revert if needed
- Comments: Add comments and annotations
- Review: Review changes made by other users
- Merge: Merge changes from multiple users
- Export: Export final scene for production
Collaboration Best Practices
- Communication: Communicate with other users
- Organization: Organize scene and assets logically
- Permissions: Set appropriate permissions
- Conflict Resolution: Resolve conflicts quickly
- Version Control: Use version control for important changes
- Testing: Test collaboration workflows regularly
Spatial Audio and Environment Design
Spatial Audio
- 3D Audio: Positional audio in 3D space
- Reverb: Environmental reverb and acoustics
- Occlusion: Audio occlusion by objects
- Distance Attenuation: Audio attenuation with distance
- Doppler Effect: Doppler effect for moving sources
- Audio Sources: Multiple audio sources in scene
Environment Design
- Lighting: Real-time ray-traced lighting
- Materials: PBR materials with MDL
- Sky: Procedural sky and environment
- Atmosphere: Atmospheric effects and fog
- Weather: Weather systems and effects
- Time of Day: Dynamic time of day changes
Audio Integration
- Audio Connectors: Connect audio applications to Omniverse
- Audio Formats: Support for various audio formats
- Audio Streaming: Stream audio for large projects
- Audio Mixing: Mix multiple audio sources
- Audio Effects: Apply audio effects and processing
- Audio Export: Export audio for production
Omniverse Export and Integration
Export Formats
- USD (.usd, .usda, .usdc): Primary Omniverse format
- FBX (.fbx): Common 3D format
- GLTF/GLB (.gltf, .glb): Web-ready format
- OBJ (.obj): Simple mesh format
- Alembic (.abc): Animation and particle data
- MDL (.mdl): Material Definition Language
Export Settings
- Scale: Set correct scale for target platform
- Orientation: Set correct orientation for target platform
- Materials: Convert materials to target format
- Textures: Optimize textures for target platform
- Animations: Bake animations to target format
- Optimization: Optimize for target platform
Integration
- Unity: Export USD to Unity via USD for Unity
- Unreal: Export USD to Unreal via USD for Unreal
- Maya: Export USD to Maya via USD for Maya
- Blender: Export USD to Blender via USD for Blender
- Web: Export GLTF for web applications
- Custom: Export custom formats for custom engines