===================
Scene Composition
===================
This section explains how to compose scenes using MuJoCo's include system and the DexRobot MuJoCo component library.
Basic Structure
-------------
A scene XML file consists of several key sections:
1. Default inclusions
2. Asset inclusions
3. World body definitions
4. Component inclusions
Example Scene
-----------
Here's a complete example (based on box.xml):
.. code-block:: xml
Component Types
-------------
Defaults
^^^^^^^
Always include defaults first:
.. code-block:: xml
This sets up standard parameters for physics, rendering, and contacts.
Assets
^^^^^
Include all required visual assets:
.. code-block:: xml
Bodies
^^^^^
Add physical bodies to the scene:
.. code-block:: xml
The body tag sets:
- ``name``: Unique identifier
- ``pos``: Position [x y z]
- ``euler``: Orientation [roll pitch yaw]
Additional Components
^^^^^^^^^^^^^^^^^^
Include remaining components after worldbody:
.. code-block:: xml
Building Scenes
-------------
Step-by-Step Process
^^^^^^^^^^^^^^^^^
1. Start with model declaration:
.. code-block:: xml
2. Include defaults:
.. code-block:: xml
3. Include all required assets:
.. code-block:: xml
4. Define worldbody with components:
.. code-block:: xml
5. Include remaining component files:
.. code-block:: xml
Common Patterns
------------
Floating Hand Scene
^^^^^^^^^^^^^^^^
Basic setup for hand manipulation:
.. code-block:: xml
Hand-Arm Scene
^^^^^^^^^^^
Setup for mounted hand:
.. code-block:: xml
Next Steps
---------
- Browse available furniture in :doc:`furniture`
- Explore environments in :doc:`scenery`
- Study complete examples in :doc:`examples`