def _initialize_scene(self, c: Controller) -> List[dict]: c.model_librarian = ModelLibrarian("models_full.json") # Initialize the scene. commands = super()._initialize_scene(c) chair_name = "brown_leather_dining_chair" # Create the the table. commands.extend(self._init_object(c=c, name="quatre_dining_table", pos=TDWUtils.VECTOR3_ZERO, rot=TDWUtils.VECTOR3_ZERO)) # Create 8 chairs around the table. commands.extend(self._init_object(c=c, name=chair_name, pos={"x": 0, "y": 0, "z": -1.55}, rot={"x": 0, "y": 0, "z": 0})) commands.extend(self._init_object(c=c, name=chair_name, pos={"x": 0, "y": 0, "z": 1.55}, rot={"x": 0, "y": 180, "z": 0})) commands.extend(self._init_object(c=c, name=chair_name, pos={"x": -1, "y": 0, "z": -0.85}, rot={"x": 0, "y": 90, "z": 0})) commands.extend(self._init_object(c=c, name=chair_name, pos={"x": -1, "y": 0, "z": 0}, rot={"x": 0, "y": 90, "z": 0})) commands.extend(self._init_object(c=c, name=chair_name, pos={"x": -1, "y": 0, "z": 0.85}, rot={"x": 0, "y": 90, "z": 0})) commands.extend(self._init_object(c=c, name=chair_name, pos={"x": 1, "y": 0, "z": -0.85}, rot={"x": 0, "y": -90, "z": 0})) commands.extend(self._init_object(c=c, name=chair_name, pos={"x": 1, "y": 0, "z": 0}, rot={"x": 0, "y": -90, "z": 0})) commands.extend(self._init_object(c=c, name=chair_name, pos={"x": 1, "y": 0, "z": 0.85}, rot={"x": 0, "y": -90, "z": 0})) return commands
def _initialize_scene(self, c: Controller) -> List[dict]: c.model_librarian = ModelLibrarian("models_full.json") commands = super()._initialize_scene(c) # Add a table, chair, and boxes. commands.extend(self._init_object(c, "b05_table_new", pos={"x": 0, "y": 0, "z": 4.33}, rot=TDWUtils.VECTOR3_ZERO)) commands.extend(self._init_object(c, "chair_willisau_riale", pos={"x": 0, "y": 0, "z": 3.7}, rot=TDWUtils.VECTOR3_ZERO)) commands.extend(self._init_object(c, "iron_box", pos={"x": 0.13, "y": 0.65, "z": 4.83}, rot=TDWUtils.VECTOR3_ZERO)) commands.extend(self._init_object(c, "iron_box", pos={"x": -0.285, "y": 1.342, "z": 4.79}, rot={"x": 90, "y": 0, "z": 0})) # Add a shelf with a custom scale. shelf_id = c.get_unique_id() shelf_name = "metal_lab_shelf" Scene.OBJECT_IDS.update({shelf_id: shelf_name}) commands.extend([c.get_add_object(shelf_name, object_id=shelf_id, rotation={"x": 0, "y": -90, "z": 0}, position={"x": 0, "y": 0, "z": 4.93}), {"$type": "set_mass", "id": shelf_id, "mass": 400}, {"$type": "set_physic_material", "id": shelf_id, "bounciness": Scene._OBJECT_INFO[shelf_name].bounciness, "static_friction": 0.1, "dynamic_friction": 0.8}, {"$type": "scale_object", "id": shelf_id, "scale_factor": {"x": 1, "y": 1.5, "z": 1.8}}]) return commands