UnityEngine.TerrainPhysicsModule.dll 是 Unity 引擎模块化运行时组件之一,主要负责将地形系统与底层物理引擎进行桥接。它并不是普通业务脚本,而是 Unity 在加载 TerrainCollider、处理地形物理查询时依赖的底层模块。
该 DLL 围绕地形物理数据展开,典型职责包括:把 TerrainData 中的高度图转换为物理引擎可识别的高度场(Heightfield)碰撞体;维护地形碰撞体的分辨率、缩放、厚度、碰撞层与物理材质;为角色控制器、刚体、射线检测(Raycast)、球形检测(SphereCast)等提供地形命中信息;同步地形在运行时的高度变化、LOD 切换和碰撞更新;处理地形与树木、植被、细节对象之间的物理交互边界。
TerrainCollider 的组件逻辑、序列化数据和物理场景创建,通常需要该模块参与。缺少它时,地形仍可能被渲染出来,但物理层无法正确生成对应碰撞表示。
Physics.Raycast、SphereCast 等查询无法命中,鼠标拾取、导航采样、射击判定出错。Failed to load 'TerrainPhysicsModule.dll',相关组件显示 Missing,场景加载失败。DllNotFoundException、TypeLoadException 或闪退。该模块通常位于 Unity 安装目录的 Managed 文件夹或播放器构建的 Managed 目录中。若杀毒软件误删、安装不完整、版本混用或手动裁剪模块,均可能触发上述问题。修复方式通常是校验 Unity 安装、恢复对应版本模块、重新导入项目或重新构建播放器。