文档很多 ,先翻译一遍 后边再写一边自己的理解
快速入门
如何将网格添加到场景中
1)如果你使用的是2D地形网格系统(不是基于地形的),选择菜单游戏对象->3D对象->地形网格系统(Terrain Grid System),网格将被添加到场景中。
2)如果你想添加一个网格到地形或其他游戏对象,如基于网格的地形,只需选择你的地形或游戏对象的根,并添加脚本“地形网格系统”。它会自动为你配置。
3)或者,你可以从“资源/预制件”文件夹中拖动预制“TerrainGridSystem”到你的场景中,并将你的地形或游戏对象分配给地形属性。
运行时:
1)在你的地形或gameobject上调用AddTerrainGridSystem()方法。
TerrainGridSystem tgs = myTerrainGameObject.AddTerrainGridSystem();
myTerrainGameObject是你的地形
所在的gameobject或任何其他gameobject是你使用的基于网格的地形。
2)或者从“资源/预制件”中实例化“TerrainGridSystem”预制件,并调用SetTerrain(你的地形游戏对象)表单脚本。
网格配置 GridConfiguration
本节允许您配置网格,无论其外观或用途如何。基本上,这些属性定义了单元格、区域和它们的形状的数量。
地形Terrain:指定你当前的地形或代表你地形的对象组的根。TGS可以与Unity标准地形或任何其他网格一起工作。
当对基于网格的对象使用TGS时,将显示过滤对象的其他选项:
—对象名称前缀:输入前缀字符串,按名称进行过滤。
—对象图层掩码:可选的图层掩码过滤器。
—全局搜索:启用后,整个场景中符合上述条件的对象都会被纳入。否则,只会包含选中的游戏对象的子对象。 (选中必须符合上述两者要求)
·拓扑结构Topology:此参数定义网格的整体形状。你可以选择不规则(使用高度优化的voronoi分割算法),盒型或六边形类型。
·区域和单元格Treeitories and Cells:每个网格有一些单元格和可选的区域。一个领土包含一个或多个单元格,所以你总是会有比领土更多的单元格(或相同的数量)
请注意,增加领土会使高数量的单元格系统变慢。为了防止在运行时创建必要的网格时
出现滞后,你可以使用API预预热几何图形。稍后会详细介绍。
Relaxation--->就是势力数量 Cells-->二级领土的数量
·曲率Curvature:如果你的网格有100或更少的单元格,你可以应用一个可选的曲率。请注意,使用此参数将x3网格的段数。 ------>领土范围的弯曲程度
·松弛Relaxation:此选项将使不规则形状(Voronoi)更均匀。基本上,它会迭代voronoi计算算法,对细胞中心之间的分离进行权衡和调制。每次迭代都会重做voronoi计算,即使它已经被优化了,这意味着网格生成时间将随着每个松弛级别而增加。------>所有网格趋近于相同大小
·粗糙度Roughness:这个选项将决定网格对地形的夹持程度。这个值越大,网格相对于地形就会显得越突兀。你通常会希望将这个值保持在尽可能小的值,除非你的地形相当平坦(在这种情况下,增加粗糙度将减少顶点数量)。---->网格与地形的粘合程度 越陡峭的地形需要值越低(网格节点多)
·Seed:此参数将允许您以相同的单元格配置重新创建网格。这个选项基本上会影响随机功能。
·平面单元格FlatCells:启用后,单元格将忽略任何地形坡度,只是平面/水平单元格。--->如果有坡度则将该单元格单独在坡度高处绘制水平单元格
·最大斜率MaxSlope:指定在单元格中心的地形的最大坡度或倾斜度。值为1意味着不考虑坡度,因此不管这个值如何,单元格都将被绘制。减少以防止细胞悬挂在陡峭的地形或墙壁上。!越低越好 ·最大高度差Max Height Difference:指定单元格顶点之间的最大高度差。如果他的高度差大于这个值,该单元格将被隐藏。类似于最大斜率,但它可以产生更好的结果,因为它考虑了每个单独的顶点高度,而最大斜率只考虑细胞中心的法线。---》单元格可绘制的最大高度 例如山脉
单元格越多越能体
·最小/最大高度Minimum/maximumAltitude:指定绘制单元格的最小/最 大高度。例如,可以将细胞隐藏在水下。 ---》实际操作并不明显
·蒙版Mask:在这个槽中分配一个纹理来定义单元格的可见性(alpha通道用于确定可见性,其中a=0表示单元格不可见)。除非启用“高亮不可见单元格”选项,否则不可见单元格不会被高亮显示。不可见单元格也不会参与寻路。---》将势力图制作为你想要的边界范围
·领土纹理TerritoriesTexture:分配一个颜色纹理来定义领土形状或细胞所有权。将为每个不同的颜色创建一个领土。确保在纹理中使用纯色(没有平滑或渐变)。如果你使用Gimp,你可以切换到索引颜色并设置颜色的最大数量,然后切换回RGBA并以PNG格式导出纹理。
可选指定将使用哪种颜色作为中性,这意味着这些单元格将不属于任何区域。?
网格定位 Grid positioning 感觉没啥用
·网格枢轴:此参数仅在使用自定义网格的TGS时出现。默认情况下,TGS期望网格局部中心为0,0,0,但有些网格可能从另一个局部位置开始。在这种情况下,调整网格枢轴位置,直到网格显示在自定义网格的中心。
·网格中心/尺度:控制网格的大小和尺度在表面上的覆盖最初。例如,不是覆盖整个地形,你可以使用这些中心/比例选项来显示地形的特定位置周围的网格(参见演示场景的例子)。
·深度偏移:这个参数控制多少偏移应用到地形网格系统使用的着色器。这个值会影响高亮表面(彩色深度偏移)和网格(网格深度偏移)像素的Z-Buffer位置。
·高程和高程基础:将两个值相加以计算沿y轴的位移量。高程基础在检查器中使用数字输入格式而不是滑块来允许更细/更大的高度值。
最小高程倍增器:网格根游戏对象,单元层和区域层在y轴上被一个非常小的偏移(约0.01f)
分开。你可以用这个乘法器控制这个偏移量的大小。通常,这个值应该保持在1,但是如果你使用一个非常大的尺度的地形网格,这个偏移量可以导致一个很大的向上移动,所以这个参数可以用来减少这个差距。
·相机偏移:向相机位置应用网格的位移网。这个位移是动态的,意味着当网格或相机改变位置时,它将自动移动网格。
·法线偏移:此选项将沿其位置下方的地形法线应用每个顶点的位移。它将使网格在地形的各个方向上“增长”。注意,这是一个昂贵的操作。你通常不需要使用这个参数。
Grid Appearance
本节控制网格系统的外观和感觉,它应该是不言白明的。然而,重要的是要知道,激活“显示区域”或“区域着色”(或将高亮模式设置为“区域”)将启用区域网格生成。所以,如果你不使用领土功能,请确保所有关于领土的选项都是未选中的,以节省时间和内存。
网格线是使用自定义着色器绘制的,允许你指定一个接近的clip和lfalloff。这些属性应该对那些摄像机真正靠近网格的情况有用(比如FPS中):
要更改默认的剪辑和衰减值,请使用近剪辑渐变和近剪辑渐变滑动条。
当单元格被着色或有纹理时,可以使用单元格填充填充(Cell Fill Padding)选项来放大或缩小单元格表面。
·选择模式:在None, cel1l或区域之间进行选择。
·覆盖模式:在地面或覆盖模式之间选择。叠加模式将使高光表面显示在所有物体的顶部。不是很花哨,但它是最快的,可以防止任何复杂地形的视觉伪影。默认选项“地面”将使高光表面出现在地形上的任何内容的下方,有效地看起来它是在地形上绘制的。
·尊重其他UI:当启用时,当指针在UI元素上时,网格交互被忽略(仅支持uGUI元素,那些在Canvas根元素下的元素,不支持直接GUI或从onGUI()函数创建的元素)。