ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

TPS射击游戏--动画状态机的一些知识总结

2022-07-14 13:00:19  阅读:187  来源: 互联网

标签:动画 动作 -- 持枪 状态机 举枪 TPS 射击


动画状态机结构

动画状态机第一层--BaseLayer

先说状态机结构,分为两层,第一层主要是移动相关的动作和一些独立的动作(这些动作不会被上面一层的动作override)
image.png

进入Strolling子状态机,我们可以看到Locomotion和AimMovement,其中Locomotion是主角没有在射击时的动作,而AimMovement则是射击的时候的位移
image.png

进入Locomotion,我们可以看到它是由多个Blend Tree组合而成的
image.png

接着看,在射击的Blend Tree里面,其实就是八个方向的动作;因为在射击的时候,摄像机接管我们的朝向,所以脚步的移动需要用到八方向组合而成。
image.pngimage.png

第二层--AimAndShoot

这一层是用了Avatar Mask,主要的目的是,将该层的动作的部分(这里是手臂)叠加到上一层BaseLayer中去,这样我们在idle的时候射击和跑步时射击就不用每种情况都做,只需要去手臂上的动作融合上去就可以。在AvatarMask上可以这样设置:
image.pngimage.png

我们再看状态机的结构,
image.png
第二层如果没有玩家操作的话,默认是不会有任何行为叠加在第一层的,因此我们也只要处理玩家操作的时候动画的走向就可以了,比如瞄准的时候,根据武器的编号,进入到不同的某组的这几个动作中。

值得注意的是,这里的动作要和上面的AimWalk可以叠加,因此在根骨骼的设置(可能用词不准,但是意思是根骨骼会影响主角躯干姿势造型,比如是弓着腰还是挺着腰等)上近似,比如下面这两张图,左边是持枪射击时的工作,右边是AimWalk八方向中向前走的姿势,可以看到,持枪射击动作和这个向前走的动作根骨骼的设置一样,原则上我们制作的时候应该也是让动画师在八方向的身体造型基础上制作开枪动画。
image.pngimage.png

和武器相关的动画资源

Locomotion

没有武器时

  • Idle
  • Walk
  • Run

对于一把武器,需要(因此有N把武器,就 * N):

  • 持枪的Idle
  • 持枪的Walk
  • 持枪的Run

AimWalk

AimWalk主要是八方向瞄准射击位移,因此我们这里只关注腿部和身体动作(手部不用做)

  • 举枪不动时Idle
  • 举枪向前
  • 举枪向后
  • 举枪向左
  • 举枪向右
  • 举枪左上
  • 举枪右上
  • 举枪左下
  • 举枪右下

AimAndShoot

对于一把武器,需要(因此有N把武器,就 * N):

  • 拔枪(持枪到开火):AimStart
  • 开火:GunFire
  • 放下枪(开火到持枪):AimEnd
  • 换弹:Reload

当然这只是实现TPS主角行为动画中的其中一种,我在这里也只给出了基本的行为逻辑。如果更复杂功能(比如急停、转向灯),可以在上面添加更多的动作或者更多的过渡关系。当然,针对不同的项目有不同的做法,还是要根据具体的项目来做不同的策略改变。

标签:动画,动作,--,持枪,状态机,举枪,TPS,射击
来源: https://www.cnblogs.com/LemonInCup/p/16477308.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有