百科问答小站 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,把效果付给某个目标。


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






  

相关话题

  开发主机游戏也能外包吗? 
  Python真的不适合游戏开发吗?游戏全都用像Python这种解释型语言写,对开发出的游戏有什么影响? 
  从事游戏行业真的会磨灭一个人的游戏兴趣么? 
  你为什么会离开游戏行业? 
  什么是「实时渲染」技术? 
  游戏窗口模式和全屏模式的区别在哪? 
  最近发现90、00年代的老单机游戏其实比现在的单机3a游戏好玩,这是为什么? 
  游戏捏脸作者有权禁止分享吗? 
  游戏画质达到顶峰了吗? 
  看如何评价单机游戏《侠之道》(原名《侠隐阁》)第二年的游戏内容? 

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





© 2024-05-14 - tinynew.org. All Rights Reserved.
© 2024-05-14 - tinynew.org. 保留所有权利