因为最近进行求职的缘故,需要一个地方来show自己的所学所用。并非所有的求职网站都有相应的作品展示区域,因此选择了在csdn完成作品的展示。在这里只展示部分在我编程过程中完成的难点问题。有些东西也只是执行思路不涉及具体代码。以供交流,希望能给同样刚刚入门u3d的同学一些帮助。
相关内容:
1.随机地图生成
这个组件是基于mesh写出的地图地形。unity其实自带了有地图生成的功能,其中完善的组件也很丰富。但是在一开始我电脑坏掉的那段时间,使用一台破电脑跑自带地图卡的飞起之后,就没再使用过这个东西。当然,这也是个人喜好,我个人更偏向于随机生成的地图,由代码控制生成地形,只要地图能自由畅通,不断更换的地图会有更好的新鲜感。(其实一半以上原因是因为我懒得做美工而且极其缺乏美术细胞。)
基于mesh生成的地形,其实现原理,无非是数组的具现化。我们都知道,unity中,mesh是以数组的形式存储顶点坐标,法线及其uv信息。再以数组的形式,每三个为一组不划分的进行读入。因此,3d地图的实现可理解为一个3维数组。
在我的实现过程中,首先是可通行区域的2维数组划分。(因为除了日常可通行的区域外,游戏场景肯定还包括暗渊,高点等不能正常通过的区域穿插其中。)因此,这个二维数组的建立便是决定后续可通行的区域,往后,无论是高度为几的区域都是在此基础上进行建立的。
以下为一个数组示例,其体现了一座桥,及桥地下是可通行的路面。