# unitree_rl_gym修改terrain mesh_type为trimesh后训练仍加载默认平。

> 原文链接：https://robotics.hellobike.com/pitfalls/2025-12-08-unitree-rl-gym-66
> 频道：pitfalls | 更新日期：2025-12-08 | 标签：auto, github-issue, unitree_rl_gym
> 核心摘要：在legged_robot_config中设置mesh_type='trimesh'无效，需在legged_robot.

# unitree_rl_gym修改terrain mesh_type为trimesh后训练仍加载默认平。

::: v-pre
> 本文由 AI 根据公开内容整理，可能有误，请以原文为准：[修改环境训练不生效](https://github.com/unitreerobotics/unitree_rl_gym/issues/66)（GitHub unitreerobotics/unitree_rl_gym #66）

**状态**：有绕过办法

## 问题

用户在 legged_gym/envs/base/legged_robot_config.py 中将 terrain.mesh_type 修改为 'trimesh' 并配置地形比例后，启动训练时环境仍加载默认平地而非三角网格地形。该问题源于代码库缺失对应的地形创建逻辑，仅修改配置文件无法生效，导致仿真环境与预期不符。

## 环境

unitree_rl_gym 仓库，legged_gym/envs/base/legged_robot.py 及 legged_robot_config.py，Isaac Gym 仿真环境

## 解决办法

1. 打开 legged_gym/envs/base/legged_robot.py 文件
2. 添加 _create_heightfield 函数，使用 gymapi.HeightFieldParams 配置行列缩放、摩擦系数及变换矩阵，调用 self.gym.add_heightfield 加载高度场并将样本转为 torch tensor 移至 device
3. 添加 _create_trimesh 函数，使用 gymapi.TriangleMeshParams 读取 self.terrain.vertices 与 triangles 形状，设置 transform.p 等参数以正确加载三角网格地形
4. 确保环境初始化流程根据 cfg.terrain.mesh_type 正确分发调用上述两个函数，使 trimesh 配置实际生效

讨论原作者：@mike-e-e 等，版权归原作者所有。
:::

## 原始参考来源 (Sources)

- [GitHub unitreerobotics/unitree_rl_gym #66：修改环境训练不生效](https://github.com/unitreerobotics/unitree_rl_gym/issues/66)