百科问答小站 logo
百科问答小站 font logo



unity怎么去实现act战斗? 第1页

  

user avatar   gqy-22 网友的相关建议: 
      



这是我下班时间做的,有时间就做,没时间就放着,感觉我这个小游戏已经具备一个act游戏的一些基本元素,在此本渣我就大言不惭的扯一扯做一个简单的act游戏需要具备哪些知识。


1.基础知识。向量,欧拉角(四元数),贝塞尔曲线,unity的物理引擎,动画系统,2d的spine,龙骨等等吧,总之做战斗系统就是各种坐标,动画,旋转,这些知识是必备的。

2.ai系统。状态机,行为树,goap导向型决策方案等等。

3.算法。除了了解一些常用的基本算法(主要指排序)其他的感觉研究一下AStar也就够用了。

4.抽象能力。战斗系统归根结底还是GamePlay的一部分,必须具有一定的架构能力,否则这玩意越写你越想删库跑路。没事可以研究下框架,设计模式之类的提高抽象思维。设计模式就看看那几本经典的书,框架推荐看看gameframework。



接着我来再扯扯具体的实现过程。(这个范围太广,只能把我掌握的东西说说)

做一个act游戏,其实百分之99的时间就是在实现技能。

如果把技能抽象,那就是选择目标,产生结果。

因此我们需要选择器,需要释放器,需要效果器。

以我这个视频为例,主角的连击是不打到怪就保持第一击,打到怪才会进行接下来的连击,而跳跃攻击是从上升到下落,只要有怪接触就要使其受到伤害,可以说这两种释放方式都不同于一般的技能。

因此我把释放器分为,普通攻击释放器和跳跃攻击释放器和一般技能释放器。

每个技能对应一个释放器,每个释放器会管理若干个效果器,而上面也说到技能的本质是选择目标产生效果,因此每个效果器要有一个选择器来为其提供对应的目标。

技能又分为主动和被动

主动技能的效果一般有几种触发方式:

1.由动画关键帧触发,就是把上面说的那些选择目标产生结果的逻辑绑定到这个动画的关键帧来执行 ,每一个关键帧对应一个效果器。

2.一定时间内一直触发,就是update一定时间

3.产生另一个或多个对象,并在它们的动画关键帧或者一定时间内触发,也是基于前两个的,只不过把效果器的持有者换给产生的对象。(子弹系统)

被动技能就是一堆buff,把效果付给某个目标。


最后,有时间也可以多看看知乎老哥分享的技能编辑器,也是很受启发的。






  

相关话题

  为什么有人可以在屎一样混乱的几千行代码里加功能?不重构能驾驭屎山吗? 
  游戏中的动态模糊是什么概念? 
  那些想要制作好游戏的人,是否会讨厌媚宅抽卡手游? 
  在 Ubisoft 工作是什么样的感觉? 
  中国游戏落后日美欧韩多少年? 
  为什么中国至今没有一款3A游戏? 
  为什么日本的游戏制作人这么出名,而许多欧美游戏被评论时我们很少提及他们的核心制作者。? 
  游戏中的动态模糊是什么概念? 
  Unity3D和UE4哪个才是未来的方向? 
  想要自己做一款游戏,需要学习哪些知识? 

前一个讨论
有哪些 Galgame 本身是神作级别,而且其改编动画也很优秀?
下一个讨论
如何评价漫画《别对映像研出手!》?





© 2024-12-22 - tinynew.org. All Rights Reserved.
© 2024-12-22 - tinynew.org. 保留所有权利