美文网首页
环绕在角色身边的藤蔓

环绕在角色身边的藤蔓

作者: maAya | 来源:发表于2018-11-30 16:26 被阅读0次

    以前我一直念成藤man4来着。

    1. 为什么会有这个需求

    某一年,我想做一个飞行射击游戏。这个游戏中的某角色可以操纵荆棘和藤蔓。他(或者是她)在某种射击方式下完全不会发射子弹,而是会生成围绕在自身周围的藤蔓。藤蔓可以消除接触到的特定类型的子弹,并对接触到的敌人持续造成伤害。总之是一种防御性的射击模式。

    当角色移动时藤蔓会随之移动。这里我希望的效果不是身边的一团藤蔓整体移动,而是逐渐『生长』到新的位置。换句话说藤蔓既不是附着在世界坐标上也不是附着在角色身上,而是屏幕坐标上。看起来像这样:

    大概的效果

    2. 从第一根藤蔓开始

    一团藤蔓就是数条永不停歇的藤蔓围绕一个点生长,所以重点就是如何制作一条藤蔓。最简单的思路是:

    • 藤蔓是一段一段连接起来的
    • 每隔一小段时间就会从最新的段之前延伸出新的段
    • 新生长出来的段会尽量指向目标点,但存在最大偏折角度,避免出现180度转弯之类的不雅行为
    • 每一段藤蔓在出生后都会生长一段时间,即便后来它已经不是最新的段了
      • 这样设计是为了让藤蔓看起来充满生命力,而不是像流水的痕迹
    • 每一段藤蔓出生一段时间后就会萎缩消失

    这样做出来的效果是这样的:

    单根傻藤

    藤蔓永远都不能生长到目标点,这是因为:

    1. 有偏折角度的限制
    2. 后面的段也在不断生长,导致最初指向目标点的新段之后会越来越偏

    这就对了,我本来就不希望它能到目标点上。

    3. 让这一根藤蔓更活泼

    之前的效果特别像一些刚健朴实的植物,我想要的是更接近野外野蛮生长的藤蔓的效果,所以再加一个限制:

    • 每次决定新藤蔓段的指向方向时,加入一个随机的跑偏角度

    这样就很像疯长、胡长的样子了:

    疯长的单根傻藤

    4. 多来几根

    5根左右藤蔓就可以大概看出围绕的效果。10根时藤蔓的密度就非常令人满意了。当然根数越多藤蔓越密集越厚实。

    好多根疯长的傻藤

    5. 一些想法

    做出这个雏形之后有几个小脑洞。

    • 首先是给每一段加上纹理,效果就像第一张图一样
    • 不分段绘制,而是把藤蔓当作一个完整的网格,处理一下转角、贴一个连贯的纹理可以做出更平滑的藤蔓
      • 但我这个demo是纯2d的所以就懒得做了
      • 而且这么做的话,平滑藤蔓好做,充满细节(比如尖刺)的藤蔓就更麻烦
    • 其实随着藤蔓的延伸出现一些绽开的玫瑰花是我最终想要的效果,但是……
      • 我相信大家的脑补能力
    • 当目标点快速移动时,藤蔓会集体『追赶』目标点,可以借此实现一些比较暗黑的效果:
    迫近的黑暗
    • 所以说这个藤蔓的效果也是可以模拟跟随玩家的菌毯的ww

    最后放一个速度放慢的版本,这个更接近藤蔓(而非菌毯了):

    来个高清的

    完。

    相关文章

      网友评论

          本文标题:环绕在角色身边的藤蔓

          本文链接:https://www.haomeiwen.com/subject/zsshcqtx.html