包含此页的版本:
不含此页的版本:
要模拟洞穴开口和悬垂地层(例如悬崖),请使用“绘制孔”工具隐藏地形场景中的地形。地形游戏对象会向场景添加一个大型平面,你可以使用地形的“检查器”窗口创建详细的地形。更多信息
请参阅术语表.然后使用其他编辑器工具(如ProBuilder)创建洞穴或悬垂几何体。
要绘制孔洞,请在地形图块的 检查器(Inspector) 窗口中,选择 绘制地形(Paint Terrain) 工具>工具下拉菜单> 绘制孔(Paint Holes) 。
“油漆孔”工具是基于画笔的。要了解如何使用画笔,请参阅画笔。
“绘制孔”工具是基于纹理的,因此它可以在孔周围创建锯齿边缘。您可以:
使用几何体(例如岩石网格)隐藏锯齿边。
增加高度图(Heightmap)一种灰度纹理,用于存储对象的高度数据。每个像素存储垂直于该像素所表示的面的高度差。
请参阅术语表添加更多纹素的分辨率。这增加了性能要求。
注意:更改分辨率时,编辑器会将较高分辨率的纹理数据复制到较低分辨率的纹理数据中。换句话说,它缩小了规模。但是,它并没有升级。
要尝试更高的分辨率:
有关更多信息,请参阅地形设置参考。
地形中的孔洞会自动从地形中排除碰撞体(Collider) 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表,以便角色和物体可以从中掉下来。您无需手动调整地形碰撞器(Terrain Collider) 地形形状的碰撞器组件,用于处理与其附加的地形对象形状相同的碰撞表面的碰撞。更多信息
请参阅术语表.
如果你在基于脚本的工作流程中创建孔洞,请确保孔的遮罩纹理的分辨率等于地形高度图的分辨率减去 1 (-1).例如,如果地形的高度图分辨率为1025x1025,孔的遮罩纹理需要1024x1024.有关更多信息,请参阅 TerrainData-holesResolution。
孔功能取决于着色器在 GPU 上运行的程序。更多信息
请参阅术语表.要允许在自定义地形材质中出现孔洞,您可以:
#ifdef _ALPHATEST_ON
ClipHoles(IN.uvMainAndLM.xy);
#endif