构造一条二次bezier曲线_cocoscreator3d塔防游戏技术分享(一)贝塞尔曲线的实现

本文分享了如何在cocos creator3d中实现贝塞尔曲线,通过A星算法计算小怪兽路径并用贝塞尔曲线平滑移动。文章详细介绍了贝塞尔曲线的计算公式,并提供ts代码实现,包括控制点、细分值的处理,最终展示了一个平滑移动的示例。
摘要由CSDN通过智能技术生成

      经过天霸这几天的努力,塔防游戏已经初见雏形,感谢各位小伙伴们的支持与厚爱,在开发这款塔防游戏的同时用到了一些古老的技术,现在天霸把他简单写一下,分享给大家,在生活或工作中会用到这些古老的技术,也说不定呢。如果有大佬发现里面有错误或者不合理的地方,一定要评论区留言,那肯定是嫉妒我。

       首先来欣赏一下稍见雏形的塔防游戏,

a27dc68f0990816b24c491236a8cfaee.gif

图一

78711aec5a79e62f1404e2339143595e.gif

图二

6bcd92f04ad4f278cb2553c5a1bef1e7.gif

图三

怎么样还行吧,哈哈哈!

        下面我就来给大家分享一下用到的一些古老技术,1:贝塞尔曲线(n阶)。2.A星寻路算法。如果仔细观察图二其中的某个小怪兽,你会发现,小怪兽是会绕开塔或者塔的基座的,可以说是小怪兽的移动是贝塞尔曲线+a星寻路算法结合使用来实现的。

       1.首先通过a星算法来计算出小怪兽的具体路径点。

       2.然后为了让小怪兽的路径看起来更平滑,用这些路径点作为控制点来生成一个更加圆滑的曲线的路径点。

        我们首先来看一看贝塞尔曲线是如何实现的。

        图二的小怪兽移动的速度太慢了,效果可能不是很明显,那么来观察一下下面这张图片。

3b8fe7ee5aa4b4eec3b1770bc8e96991.gif

图4

        看图4是不是很明显,我们是如何让鱼自由自在的游动的呢,这里就用到了一个古老的技术,贝塞尔曲线,为什么说古老呢,因为这个技术不是我发明的而且存在了很长时间了,根据百度到的知识(“贝赛尔曲线”是由法国数学家Pierre Bézier所发明,由此为计算机矢量图形学奠定了基础。它的主要意义在于无论是直线或曲线都能在数学上予以描述。),是由法国的数学家发明的,而且网上有好多关于贝塞尔曲线的详细解释,我就不在这里赘述了,我就是参考了这篇文章,https://blog.csdn.net/aimeimeits/article/details/72809382

        大家可以拷贝链接到浏览器打开,如果对贝塞尔曲线不甚了解的同学,可以仔细研读这篇文章。

         然后我们只需要从这篇文章里面把重点拿出来,翻译成ts语言放到cocos creator里面即可,那么他的重点是什么呢!

        他的重点就是贝塞尔曲线的计算公式

80c6492828e031e233c4e273c1fd839c.png

       是不是看不懂,哈哈,不用着急,我们一点点来分析这个公式。其实这个公式很简单,p0-pn 里面的p代表的就是控制点,t代表的是时间,这里暂且理解为时间,这个公式的意思就是,在时间为t的位置,求出多个表达式的和,这个表达式可以简

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值