Skip to main content

3D simulation environment

Project description

ThreeDWorld (TDW)

A Platform for Interactive Multi-Modal Physical Simulation

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.

Getting Started (Read this first!)

Code of Conduct

Changelog

Website

C# Code

License

How to upgrade from TDW v1.6 to v1.7

API

Commands and Output Data

Document Description
Command API API for every command a controller can send to the build.
Command API Guide Overview of how to send commands to the build.
Output Data API for all output data a controller can receive from the build.

Python tdw module

Frontend
Document Description
tdw module Overview of the Python tdw module.
Controller Base class for all controllers.
TDWUtils Utility class.
AssetBundleCreator Covert 3D models into TDW-compatible asset bundles.
PyImpact Generate impact sounds at runtime.
DebugController Child class of Controller that has useful debug features.
KeyboardController Child class of Controller that can listen for keyboard input.
FloorplanController Child class of Controller that creates an interior environment and populates it with objects.
Librarian "Librarians" hold asset bundle metadata records.
FluidTypes Access different NVIDIA Flex fluid types.
Object Init Data Wrapper classes for storing object initialization data.
Backend
Document Description
Build Helper functions for downloading the build.
PyPi Helper functions for checking the version of the tdw module on PyPi.

Audio and Video

Document Description
Impact Sounds Generate impact sounds at runtime using PyImpact.
PyImpact PyImpact API.
Audio/Video Recording Record audio, video, or audio+video.
Remote rendering How to render using xpra.

Avatars (Agents)

Document Description
Observation Data Different means of determining what an agent is observing.
The Sticky Mitten Avatar Comprehensive documentation for a physics-driven agent with "sticky mittens".
Avatar Movement Different techniques for moving agents.

Benchmarks and Speed

Document Description
Benchmarks Performance benchmarks.
Performance Optimizations Increase simulation speed.

Examples

Document Description
Example Controllers Index of all example controllers in the repo.
Use Cases (see below) The "use cases" section showcases "advanced" usage of TDW.

Misc.

Document Description
VR VR in TDW.
Humanoids Add "humanoids" and play animations.

Physics (PhysX and Flex)

Document Description
Physics Common physics problems and solutions.
NVIDIA Flex Add soft bodies, cloth, and fluids to TDW.
FluidTypes Access different NVIDIA Flex fluid types.

Releases

Document Description
C# code Access to C# backend source code
Releases Release versioning in TDW.
Freezing your code "Freeze" your controller into a compiled executable.
v1.6 to v1.7 How to upgrade from TDW v1.6 to TDW v1.7

Remote Server

Document Description
Docker Create a Docker container for TDW.
Remote rendering How to render using xpra.
BinaryManager Manage multiple instances of TDW builds on a remote server.
bash scripts Useful bash scripts for Linux.

Rendering and Photorealism

Document Description
Asset Bundle Librarians Overview of what asset bundles are, how to add objects, scenes, materials, HDRI skyboxes, and humanoids, and how to access each asset bundle's metadata.
Model Screenshotter Generate images of every model in TDW.
Material Screenshotter Generate images of every material in TDW.
Materials, textures, and colors Defines materials, textures, and colors.
Depth of Field Prevent blurry images and increase realism.
Remote rendering How to render using xpra.
Observation Data Different means of determining what an agent is observing.

Scene Setup

Document Description
Scene Setup Overview of how to set up a scene.
Asset Bundle Librarians Overview of what asset bundles are, how to add objects, scenes, materials, HDRI skyboxes, and humanoids, and how to access each asset bundle's metadata.
Model Librarian Overview of how to add objects and access metadata.
Rotation Different means of rotating objects and agents in a scene.
Scene Reset How to reset a scene.
FloorplanController Child class of Controller that creates an interior environment and populates it with objects.

TDW and 3D Objects

Document Description
Model Librarian Overview of how to add objects and access metadata.
Model Screenshotter Generate images of every model in TDW.
Non-free models Access the TDW "full model library".
Local 3D models Add your own objects to TDW.
ShapeNet models Convert ShapeNET models into TDW objects.
Composite Objects
Creating Composite Objects
Use and create "composite objects".
AssetBundleCreator API for the AssetBundleCreator class (used to convert 3D models into TDW-compatible asset bundles).
Rotation Different means of rotating objects and agents in a scene.

Troubleshooting TDW

Document Description
Debug TDW Several strategies for debugging errors in your code.
DebugController API for the DebugController class.
Depth of Field Prevent blurry images and increase realism.
Performance Optimizations Increase simulation speed.
OS X Common OS X problems and solutions.
Physics Common physics problems and solutions.

Use Cases

Use Case Description
Image dataset Generate 1.3M photorealistic images.
IntPhys (demo) Demo of how to simulate IntPhys in TDW.
Humanoid videos Generate a dataset of humanoid animations.
tdw_sound20k Generate an audio dataset.
tdw_physics Generate a physics dataset.
Rube Goldberg (demo) Demo of complex physical interactions between objects, with PyImpact generation of impact sounds, set in a photorealistic scene.

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.7.6.2.tar.gz (5.5 MB view details)

Uploaded Source

File details

Details for the file tdw-1.7.6.2.tar.gz.

File metadata

  • Download URL: tdw-1.7.6.2.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.48.0 CPython/3.7.5

File hashes

Hashes for tdw-1.7.6.2.tar.gz
Algorithm Hash digest
SHA256 7e56cbfad651a2f5d81c7ff9bcae54a86596f06a627162869a2166780ddf2743
MD5 982e0cb852881cc96992e1e284802411
BLAKE2b-256 708e9e36337b1f97c0e24071c817fc9a188eae184ecc525f10f189b22ee318d2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page