cocos2dx 3D战斗类游戏制作:【五】cocos自带terrain小测,帮cocos做下广告呗!

妈妈说,用了别人的东西,要有感恩的心,cocos这开源免费的引擎用了,一些新功能让自己感到很舒服,那就帮它说一说,给想搞又不敢搞的朋友们来点信心呗!

有关注我的文章的朋友应该会留意到我之前自己在写一个cocos 3D地形插件,不过还没写完,就看见cocos 最新版本已经带了3D地形,在cpp-test中可以运行演示。这不,前天立马就下载下来更新了电脑上的cocos版本了。一试之下,cocos自带的地形比我写那个完善呢!好好好,自己那个不做了,就用cocos的吧!花了点时间把引擎的terrain部分好好看了一下,不过呢,下面可不是要分析引擎代码。分析引擎代码这种事情。。。。。。呵呵,我相信大家智商都差不多的,我能看懂,你就肯定也能看懂,对吧,毕竟开源引擎嘛,自己看不就得了,反正我从来不看别人分析引擎代码,看也看不懂,程序员语言表达一般都很难懂。。。。:882:

不过呢,cpp-test里面的3D地形演示并不能给人以信心。为啥呢?因为那里面只是简单地画出了一块3D的地,人物在上面走的时候,永远垂直于水平面而不是垂直于地形表面的,所以。。。。。。。。。爬山的时候小人半截在土里,半截悬空,也是很正常的,这就不用多解释了吧。小人还好,如果是一个坦克,它爬陡坡的时候平着爬头埋在土里,屁股悬空,那叫什么事。。。。。。。

这个问题如果不解决,那么这地形基本是没什么用的了。。。。。。。听说某些引擎的地形是带物理碰撞的,直接给精灵一个胶囊包围框,精灵就可以紧贴坡面了。但是。。。。。。。反正。。。。。。。。cocos。。。。。。。3D。。。。。。。。没有物理碰撞。。。。。。。更别说胶囊了。。。。。。。。。大致也看了一下cocos terrain的源代码,其实是可以通过getHeight里面的回参,可以通过一些简单计算,取到任意一点的斜度的,但是那个坡度值我是想不到可以怎么用,因为精灵在坡面的姿态不仅仅是一个点的斜度值可以决定的,精灵自身朝向哪边,就直接影响了精灵的姿态。

所以。。。。。。。。。。。。。。。。。。。。。用了4个小时,写且调试了14行程序。对,你没看错,14行程序四个小时!!!思路写出来很快,真正调试到能用好用,居然就是四个小时。。。。。。。!!

实现了下面的效果:
1、在坡面上各个方向上下坡,姿态看起来舒服
2、如果是上坡,前方的坡度超出设定值,那么会上不去
3、如果是下坡,可设定为无论坡度,都可前行。陡坡会掉下去:882:

首先,要求的当然是人物姿态符合地貌:

坡度不超设定值,可走上去:

当然也可走下来:

就算坡度极陡,也可贴着坡面走下来:

但是不可能走上去:

人物姿态随着坡面而动:

怎么做的??抱歉抱歉,早说了,这是抱着感恩之心帮cocos做点小宣传,还是那句话,大家智商都差不多的,我这样智商低于平均的都能做到,其他人愿意去做肯定也能做到!而且真的不用想得太复杂,反正我这就是14行。

蛮多东西cocos其实是可以做到的而且效果不错的,此文帮有好奇但是有懒得去研究的人省点犹豫的时间,一点干货都没有,哈哈,不过我可不介意看官骂娘,早说了本人智商低于平均,感受不到那些情绪的:882:

有感于经常有对cocos的骂娘贴,其实想说——对于一个开源的引擎,为什么不是自己完善它,而是要用商业引擎的想法去要求cocos给做到这做到那让自己拿起来就能去赚钱呢?凭什么呢?

就自己而言,很多时候自己实现不了的功能,只要看见有人实现过类似的,就会得到信心去实现。

而看着类似案例,有信心地去做,和不仅思路不清晰,而且还不知道会不会受限某些条件根本不能实现,完全是两种感觉的。

所以呢,说白了,上文不给别的,就给信心:877:

u3d笔刷刷花草树木地形, 分分钟完事。

准确来说,只需要,当前所处的三角面的法向量就OK,
这个可以根据当前二维坐标,来获取四点高度信息,可以计算出来

:3::3::3:重复造轮子,虽然对个人开发者来说可以学得到更多,但是对于商业开发来说就是浪费时间啊

lz的自问自答 还是蛮 happy的嘛。
确实通过hack 引擎可以实现很多东西。不多hack多了。升级的时候 真是苦不堪言啊。
不过还是同意lz的观点。少点骂娘,自己多研究研究:2: