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


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






  

相关话题

  网游服务器逻辑和传输如何分层/解耦? 
  依靠 IDE 会让程序员的水平变差吗? 
  如何评价光子游戏工作室发布的《虚幻4》渲染短片? 
  如何评价《守望先锋》架构设计? 
  为什么中国做游戏引擎的公司没有像美国的unity unreal一样能跑的出来? 
  《三国无双》系列一代代玩下去的理由是什么? 
  中国独立游戏开发者能够将游戏发布到哪些平台? 
  Unity、Unreal、CryEngine这三个引擎各有什么特点?哪一种最适合用来开发大型3D网游? 
  为什么横扫千军系列能发展为多个游戏公司制作同一系列? 
  如何评价网易推出的《荒野行动》PC版? 

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





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