您需要 登录 才可以下载或查看,没有账号?注册
x
上一贴由于时间关系没有讲到Blend混合命令,这次先来把这个补上,其实说到混合大家也应该能够想到这个效果了,说到底这是一个地形编辑插件,我们前边说到的一些命令几乎都是对高程值的一些修改,这些修改的最终目的就是传入Height命令好在地图上面显示,好,我们汇总之前讲过的RawInput,Voronoi,Noise,Terrace, Erosion和Curve等命令来混合使用一下。
看上去是不是比较丑,不要着急,命令参数都还没有调节,我们先来分析一下都干了什么: 首先我们可以直观的看到所有的命令可以被分为两层,上面一层是通过Voronoi命令和Noise命令在原平面上产生了随机褶皱效果,然后通过Curve命令调节了高度差;下面一层通过RawInput命令导入了Raw图,再给它加上了Terrace命令产生了层次感;最终通过Blend命令将两组命令的计算结果进行了“Add”加运算(当然Blend不只是有Add运算,大家有时间了可以尝试一下其他的运算)然后将最终结果传给Height进行地图绘制,得到如上图所示结果。 这种结果很不理想,需要我们继续操作,急需解决的是地图面积问题,当前我们用的一直是默认的MapMagic地图面块,其实默认情况下它只是生成了一个1000*1000大小的地图,如下图所示
那么怎么能实现我们8000*8000的地图呢?方法一是直接修改TerrainSize属性的大小,当然样做的话和我们直接创建一个8000*8000地图没什么区别了,同样是很卡顿的。那么我们来讲一讲方法二,也就是MapMagic的解决办法,我们可以在此地图的基础上另外拼接n多个地图块,一块组成一个8000*8000的地图,方法如下: 点击MapMagic的Inspector面板中的Pin按钮,然后在地图上点击添加地图快 我们可以看到,现在已经在行列方向各添加了7个地图快,加上原有的一个一共各有8个,每个地图块的长度和宽度都是1000米,这样就可以实现8000*8000的效果了,当然,里面的地图快也要补充完整,如下图
现在地图已经创建完成,但是我们看到除了最初的地图块之外其他地图块都只是产生了Voronoi和Noise的命令效果,并没有加载Raw的地图响应,解决这个问题也很简单,看下图所示
我们可以看到在RawInput面板中有Scale(缩放)和Offset(偏移)两个属性,通过修改这两个属性就可以实现Raw覆盖整个地图的效果
我修改的值时Scale:8 Offset:-7000,0其中Offset的值是根据你创建地图的位置不同而不同的,这样我们就创建出了一幅8000*8000的地图,当然,从现在的情况来看还有很多东西要做,我们先做一件比较急需的事情,现在我们试着随便调节其中的一个参数可以看到地图的渲染需要的时间变得比较长,也就是说随着地图面积的加大,地图渲染消耗的时间也是等比加大的,也许有人会怀疑,这样的地图放在游戏中可以流畅的加载吗?这个大家放心,MapMagic设计者为我们想到了这个问题,其实我们在绘制地图的时候没有必要显示这么大,我们可以将大部分地图块隐藏起来,只显示几个比较关键的部分可以看出效果即可,而在地图绘制好后不怎么变动了就可以全部打开了,而在游戏发布前我们可以对他进行优化,只有当镜头拍这到的地图块才会渲染显示,这一点我们会在以后说到,所以说,理论上我们每个地图块划分的越小游戏应该越流畅的,当然也不能太小,目测现在1000*1000的大小比较合理。 那么如何让已经加载的地图块消失呢?步骤是同样的,点击Pin按钮,在已经存在的地图块上点击就可以消失了。
好,就先说到这吧,下一贴我们再来说说贴图的事儿~
|