妈妈说,用了别人的东西,要有感恩的心,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:







