crown20

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

图1

图2)3D碰撞网格图(红色为不可走区域,黄色为边界块,蓝色为可行走区域)

图3)生成碰撞平滑边界(图中白色块为边界)

由网格生成的碰撞边界,存在锯齿,当角色受到阻挡处于90度内角凹陷区那么就会被卡住,影响游戏手感,我采用一种判断周围网格的障碍情况自动生成平滑边界的方法,如图1所示,红色块为障碍,黄色块为边界块,蓝色为通行块,通过计算黄色块周围红色块的分布可以获得图中的平滑边界(绿线),图中一共计算了4种边界障碍分布情况,图中分别用数字标示,例如数字为1的块右边1个或3个相邻网格存在障碍,那么边界为竖直并偏向右边,数字为4的块在上,右上,右边存在障碍,生成的边界为左上到右下的一条斜线并略微偏向左下,等等,实际情况会更多些。图2,图3,是在3D网格中实现的效果

posted on 2011-10-21 15:05  crown20  阅读(1381)  评论(1编辑  收藏  举报