Skip to main content

3D simulation environment

Project description

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.

General guide to TDW

Setup

  1. Install TDW
  2. Upgrade TDW

Core Concepts

  1. The controller
  2. Auto-launching the TDW build
  3. Commands
  4. Design philosophy of TDW
  5. Scenes
  6. Avatars and cameras
  7. Add-ons and the ThirdPersonCamera
  8. Objects
  9. Output data
  10. Images

Troubleshooting

  1. How to report an issue
  2. Common errors
  3. Performance optimizations
  4. Good coding practices

Tutorials

1. Scene Setup

Overview

1.1 Scene Setup (High-Level APIs)

  1. Overview
  2. Procedural generation (the ProcGenKitchen add-on)
  3. Regions, interior regions, and rooms
  4. Procedural object arrangements
  5. Scripted object placement (floorplan layouts)
  6. Reset a scene

High-level APs: Floorplan and ProcGenKitchen

1.2 Scene Setup (Low-Level APIs)

  1. Overview
  2. Units and data formats
  3. Bounds output data
  4. Visual materials, textures, and colors
  5. ProcGenRoom

2. 3D Model Libraries

  1. Overview
  2. Free models
  3. Non-free models
  4. Add your own models to TDW
  5. Add ShapeNet models to TDW

3. Read/Write to Disk

  1. Overview
  2. The Logger add-on
  3. The JsonWriter add-on
  4. The OutputDataWriter add-on
  5. Create a custom data writer
  6. Images (Cross-referenced with "Core Concepts")
  7. Audio (Cross-referenced with "Audio")
  8. Video (Cross-referenced with "Video Recording")

4. Semantic States

  1. Overview
  2. Line of sight (Raycast output data)
  3. Proximity to region (Overlap output data)
  4. Proximity to other objects (the TriggerCollisionManager add-on)
  5. Containment (the ContainerManager add-on)
  6. Composite objects (objects with affordances)
  7. Grasped objects

5. Visual Perception

  1. Overview
  2. Instance ID segmentation colors (_id pass)
  3. Semantic category segmentation colors (_category pass)
  4. Depth maps (_depth and _depth_simple passes)
  5. Motion perception (_flow pass)
  6. Other image passes (_mask, _normals, and _albedo passes)
  7. Occlusion output data

6. Camera Controls

  1. Overview
  2. Move a camera
  3. Rotate a camera
  4. Follow an object
  5. The CinematicCamera add-on

7. Photorealism

  1. Overview
  2. Lighting (HDRI skyboxes)
  3. Post-processing
  4. Interior lighting (the InteriorSceneLighting add-on)
  5. Depth of field

High-level API: tdw_image_dataset

8. Physics

Overview

8.1 Physics (PhysX)

  1. PhysX
  2. Object physics parameters
  3. Rigidbodies output data
  4. Collision output data
  5. Apply forces to objects
  6. Skip physics frames
  7. Disable physics

High-level API: tdw_physics

8.2 Physics (Obi)

  1. Obi
  2. Fluids
  3. Cloth
  4. ObiParticles output data
  5. Colliders and collision materials
  6. Solvers
  7. Obi and robots
  8. Obi and Flex

8.3 Physics (Flex)

  1. Flex
  2. Solid and soft actors
  3. Cloth actors
  4. Fluid and source actors
  5. Move, rotate, and scale Flex objects
  6. FlexParticles output data
  7. Apply forces to Flex objects
  8. Reset a Flex scene
  9. Other Flex commands

High-level API: tdw_physics

9. Audio

  1. Overview
  2. Initialize audio and play .wav files
  3. Resonance Audio
  4. PyImpact (dynamic impact sounds)
  5. Recording audio
  6. PyImpact (advanced API)
  7. Audio perception

10. Video Recording

  1. Overview
  2. Image-only video
  3. Video with audio
    1. Video with audio (Linux)
    2. Video with audio (OS X)
    3. Video with audio (Windows)

11. Agents

Overview

11.1 Robots

  1. Overview
  2. The Robot add-on
  3. Robot arm add-ons
  4. Robot collision detection
  5. Select a robot
  6. Add your own robots to TDW
  7. Robotics API (low-level)
  8. Add a camera to a robot

11.2 Magnebots

  1. Magnebot API (external repo)

11.3 Virtual Reality (VR)

  1. Overview
  2. Oculus Touch rigs

11.4 Keyboard and Mouse

  1. Overview
  2. Mouse input
  3. The FirstPersonAvatar
  4. Keyboard input

11.5 Embodied avatars

  1. The EmbodiedAvatar

12. Multi-agent simulations

  1. Overview
  2. Custom agent classes

13. Navigation

  1. Overview
  2. NavMesh pathfinding
  3. Occupancy maps

14. Non-physics objects

  1. Overview
  2. Position markers
  3. Line renderers
  4. Textured quads
  5. User Interface (the UI add-on)
  6. Compass rose
  7. Non-physics humanoids

15. Misc. remote server topics

  1. Launch a TDW build on a remote server from a personal computer
  2. Remote rendering with xpra

16. Misc. other topics

  1. C# source code
  2. Freezing your code
  3. Download asset bundles

API Documentation

Command API

tdw module API

tdw

tdw.add_ons

tdw.collision_data

tdw.container_data

tdw.flex_data

tdw.librarian

tdw.model_tests

tdw.obi_data

tdw.obi_data.cloth

tdw.obi_data.collision_materials

tdw.obi_data.fluids

tdw.object_data

tdw.object_data.composite_object

tdw.object_data.composite_object.sub_object

tdw.physics_audio

tdw.proc_gen.arrangements

tdw.proc_gen.arrangements.cabinetry

tdw.release

tdw.robot_data

tdw.scene_data

tdw.vr_data

Performance benchmarks

  1. Performance benchmarks
  2. Image capture
  3. Object data
  4. Command deserialization

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tdw-1.10.4.0.tar.gz (28.5 MB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Huawei Huawei PSF Sponsor Microsoft Microsoft PSF Sponsor NVIDIA NVIDIA PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page