其实还是非常普遍的一项技术, 在RPG, RTS等游戏中得到了广泛的应用
但是关于这方面的资料非常少, 经常会有人问怎么做, 所以就有了写这篇文章的想法
从应用上来说, 有两种:
探索范围: 通常在RPG游戏里, 用于标记走过的地图区域...视野范围: 通常在RTS游戏里, 用于标记友方单位可以看到的区域
当然, 在魔兽争霸3中, 两中迷雾都存在....既然可以表示成一个二维数组, 那么就可以把这些信息写入一张2D纹理, 然后把这个纹理投影到整个地图(不管3D还是2D, 原理一样)
那么, 纹理会不会太大?...其余的就对U的L进行递减
移除L<=0的U...., 缓存起来
如果用1bit表示每个格子, 最大视野范围20, 地图大小256x256个格子的话, 所需要的内存空间为41x41x256x256bit=13.13MB, 如果再剔除掉视野阻挡内的点, 应该更小