游戏中经常会遇到地图分区域块的需求,并且要根据策划的配置来实现,简单说下我的实现方法,首先对需要分块的地形生成可编辑顶点,请参考这位大大写的插件http://blog.csdn.net/qq992817263/article/details/51579913
然后根据生成出来的顶点,进行连接生成区域块(PS: 请保证顺时针编辑节点),下图是我连接顶点形成的区域块:
image.png
1.定义区域块结构
struct Block
{
public List linePosList;
}
2.通过当前编辑的节点生成区域块
image.png
lineVertices:存储当前编辑的区域块顶点
blockList:存储已编辑完成的区域块
private void CreateBlock()
{
if (lineVertices.Count > 3)
{
Vector3 start = lineVertices[0].transform.position;
Vector3 end = lineVertices[lineVertices.Count - 1].transform.position;
if (!(Mathf.FloorToInt(start.x * 1000) == Mathf.FloorToInt(end.x * 1000) && Mathf.FloorToInt(s