Tdw
ThreeDWorld simulation environment
Install / Use
/learn @threedworld-mit/TdwREADME
ThreeDWorld (TDW)
ThreeDWorld (TDW) is a platform for interactive multi-modal physical simulation. With TDW, users can simulate high-fidelity sensory data and physical interactions between mobile agents and objects in a wide variety of rich 3D environments.
TDW was developed primarily by Jeremy Schwartz and Esther Alter. It is now maintained by Esther Alter.
TDW is now in long-term support (LTS). TDW will receive only minor updates and bug fixes.

General guide to TDW
Setup
1.1 Installation (Read this first!)
1.2 How to run TDW on a Linux server
- Overview
- Launch a TDW build on a remote server from a personal computer
- Remote rendering with xpra
- X11 forwarding
Core Concepts
- The controller
- Auto-launching the TDW build
- Commands
- Design philosophy of TDW
- Scenes
- Avatars and cameras
- Add-ons and the
ThirdPersonCamera - Objects
- Output data
- Images
- Outdoor scenes
Troubleshooting
Tutorials
1. Scene Setup
1.1 Scene Setup (High-Level APIs)
- Overview
- Procedural generation (the
ProcGenKitchenadd-on) - Regions, interior regions, and rooms
- Procedural object arrangements
- Scripted object placement (floorplan layouts)
- Reset a scene
High-level APs: Floorplan and ProcGenKitchen
1.2 Scene Setup (Low-Level APIs)
- Overview
- Units and data formats
Boundsoutput data- Visual materials, textures, and colors
- ProcGenRoom
2. 3D Models
2.1 Other model libraries
2.2 Custom models
2.3 Composite (articulated) objects
- Overview
- Composite objects in TDW
- Create a composite object from a prefab
- Create a composite object from a .urdf file
3. Read/Write to Disk
- Overview
- The
LoggerandLogPlaybackadd-ons - The
JsonWriteradd-on - The
OutputDataWriteradd-on - Create a custom data writer
- Import .sdf and .lisdf files
- Images (Cross-referenced with "Core Concepts")
- Audio (Cross-referenced with "Audio")
- Video (Cross-referenced with "Video Recording")
4. Semantic States
- Overview
- Line of sight (
Raycastoutput data) - Proximity to region (
Overlapoutput data) - Proximity to other objects (the
TriggerCollisionManageradd-on) - Containment (the
ContainerManageradd-on) - Open and closed states
- Grasped objects
5. Visual Perception
- Overview
- Instance ID segmentation colors (
_idpass) - Semantic category segmentation colors (
_categorypass) - Depth maps (
_depthand_depth_simplepasses) - Motion perception (
_flowpass) - Other image passes (
_mask,_normals, and_albedopasses) Occlusionoutput data
6. Camera Controls
7. Photorealism
- Overview
- Lighting (HDRI skyboxes)
- Post-processing
- Interior lighting (the
InteriorSceneLightingadd-on) - Depth of field
- V-Ray Rendering
High-level API: tdw_image_dataset
8. Physics
8.1 Physics (PhysX)
- PhysX
- Object physics parameters
Rigidbodiesoutput dataCollisionoutput data- Apply forces to objects
- Skip physics frames
- Disable physics
High-level API: tdw_physics
8.2 Physics (Obi)
- Obi
- Fluids
- Wind
- Cloth
ObiParticlesoutput data- Colliders and collision materials
- Solvers
- Obi and robots
- Obi and Flex
8.3 Physics (Flex)
- Flex
- Solid and soft actors
- Cloth actors
- Fluid and source actors
- Move, rotate, and scale Flex objects
- [
FlexParticlesoutput data](Documentation/lessons/flex/output_d
