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


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






  

相关话题

  unity怎么去实现act战斗? 
  中宣部称「推出一批主旋律鲜明、正能量充沛的高品质网络游戏」,其中还有哪些信息值得关注? 
  为什么中国做游戏引擎的公司没有像美国的unity unreal一样能跑的出来? 
  C++游戏开发择业前景? 
  游戏中的地名该如何翻译? 
  听说现在腾讯的新游戏立项都是用ue4引擎是真的吗? 
  为什么单机游戏中的碰撞很不真实?物理引擎真的很难做到和现实一样吗? 
  Unity3D 官方教程(拾荒者)Roguelike tutorial 的优化问题? 
  如何看待2018全球游戏开发者大会上中外游戏之间的差距? 
  游戏画质越来越高了,游戏性也越来越丰富,但是为什么没有了以前小时候的感觉? 

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





© 2024-11-08 - tinynew.org. All Rights Reserved.
© 2024-11-08 - tinynew.org. 保留所有权利