🏞️ 场景加载¶
场景加载涉及从 XML 文件创建 MuJoCo 模型和初始化所有场景元素。
场景加载流程¶
1. gRPC: LoadLocalEnv → 获取模型 XML
2. 本地: 解析 XML → 下载 mesh/hfield 依赖
3. 本地: mujoco.MjModel.from_xml_path()
4. 本地: mujoco.MjData(model)
5. 本地: 查询并填充 Model / Opt / Data
6. 本地: 初始化所有字典(body, joint, actuator, ...)
OrcaGymScene 工具¶
from orca_gym.scene.orca_gym_scene import OrcaGymScene
# 连接场景
scene = OrcaGymScene("localhost:50051")
# 获取运行数据(参数名为 scriptname / stepname)
scene.get_rundata(scriptname="my_script", stepname="beginscene")
# 显示 UI 文本
scene.set_ui_text(
actor_name=1,
message="仿真开始!",
showtime=5,
color="0xff0000",
size=32,
)
scene.close()
OrcaGymSceneRuntime¶
from orca_gym.scene.orca_gym_scene_runtime import OrcaGymSceneRuntime
# OrcaGymSceneRuntime 封装 OrcaGymScene 的运行时操作(光源、相机视口等)
scene_runtime = OrcaGymSceneRuntime(scene)
# 注意:OrcaGymEulerEnv 不提供 set_scene_runtime 方法(该方法仅在 Local 体系存在)。
# Euler 体系下如需在 Env 中持有 scene_runtime,需扩展 Env 公共方法。
模型 XML 资源¶
模型 XML 引用的 mesh 和 hfield 文件通过 gRPC 按需下载: