一些约定俗成:

  • 视角是战斗策划,稍微懂一点客户端的视角,有些问题会带着说一下,因为是黑盒所以估计有些东西会有误判,但原理应该差不离;
  • 帧数的描述基于30帧/秒;
  • 没经历过深度的开荒ue4项目,所以里面的很多经验是基于unity说的,实际有可能不一样;
  • 都是白话,不纠结融合混合transitionblend过渡这些字眼,结合上下文
  • 里面所有基于事实和目的的推测都有可能只是人家出bug了没修好,策划:设计如此

按官方公布视频的时间轴来写:

[00:00-01:35]纯播片不说了,原画和场景炫技,布料做得很棒,不过应该是特殊做的。

[01:35-01:40]正常推进的场景摄像机突然因为飞进来的金蝉而被带动焦点,但行进路线没有发生改变,应该是场景摄像机沿设置好的路径和速度进行推进,并设置一个时间点将视焦点转移到角色身上,金蝉是K的固定动画,差不多01:39的位置金蝉有一次不和谐的速度变换,猜测是在附近交给控制端,并将摄像机切进追背视角的。

[01:41]左上角的树木等中远景有明显的LOD层级切换,距离有点近,从这里看感觉性能上还是挺吃紧的,令人有点担心后续大场景的优化。

[02:13]这里见到第一个小boss,停下后同样的镜头拉近佐证了之前的镜头变换,变身状态停下时相机会逐渐追上角色拉到最近端,向远离镜头的方向行走时拉远到我们看到的“常规”距离。

这里变身逐帧看下来,在空中出现时是背对敌人的,从空中顺时针旋转180°落地,还特意做了向右侧的缓冲卸力表现。本以为是根据敌方单位与自身面向夹角适配不同落地动作,但根据后面的第二次解除变身是完全相同的动作来看,应该是故意做成了背对敌人下落以增加动感。

[02:15]这里捉个虫,落地动作结束后回到idle的时候抖了一下,因为两个动作root没对...齐...我觉得也不大可能,不过有一帧武器整个脱手了且角色整体被强制转向了敌人。回想了一下,之前遇到这种情况好像是动作过渡时吞掉了一部分旋转角度所致,不清楚是不是这个原因。头部明显加了IK保证一定角度内一直注视敌人。

前一帧

后一帧

[02:16]第一次基于敌人后退,这里能看出来战斗的基础移动是前半圆(似乎比180°大,200°左右)用直线跑步动作靠程序插值转向,后半圆用后退动作的blendtree的形式,转向细节比较少没看到做侧倾动作融合的痕迹,后退blendtree大概是2-3个动作组成,并且没有前后半圆的过渡动作(强行transition,约4帧左右的过渡时间)。这种做法会导致超过临界的大转向过渡非常快,稍微有些生硬(见图中连续两帧的腿部差别,已经算是跳变了),但同时响应操作的速度也能拉满,比较契合这种硬核的动作游戏战斗。

然后说一下对面怪物,攻击有点拿不准,似乎滑步了又似乎没滑步,蓄力过程似乎插值旋转了又似乎只是脚步缓动,但攻击又明显有追踪效果,我觉得是有这些可能的:

  • 追踪(角度插值)玩家位置
  • blendtree做多个特定攻击角度动作的混合
  • 多段拆分的混合做法

判断具体是怎么做的需要事实佐证,那么我们来看看头两刀都有哪些细节:

  • 特效整体较平滑,但有几个节点的角度会突然不均匀,比如第二刀前段出现了一个明显弯折
  • 他的攻击是按照角色翻滚之后所在的位置进行修正的
  • 动作从开始挥击开始就比较流畅了,可以认为是一个动作

[02:17]第一次翻滚为右后向,第二次是左前向(02:21这里的后翻滚确认了前面这个是左向的,而紧接着与第一次镜像的左侧翻滚,证明了侧滚偏前和偏后分成了两个不同动作)。这里有个细节,第一次翻滚落地结束后,猴子立刻面向敌人站了起来。动作是在地面躺平刚开始起身的时候就在做转向了,看起来不是用起身转向动作做的拼接,我倾向于认为这里是专门考虑了锁定状态下,位移造成的视角变化做的侧向翻滚动作。这种做法会导致非锁定状态下的侧向翻滚带一点转向,不过带一点带一点吧反正后来好像也没用过非锁定。

[02:19]全视频第一次主动攻击,武器打击盒判定、击中位置按武器行进轨迹播放受击特效、打击自带2-3帧顿帧,头一帧是不是做了过渡太模糊了看不清,打击盒判定击中位置的通病“想打的位置和打到的位置不一样”这个问题没解决掉,图中可以看到第三击横扫是想打腰或躯干的,但受击特效播在膝盖,因为你不知道打击盒会不会刚刚好卡在一个奇葩的位置打中胶囊体。这种问题交给我的话可能会选择对特定攻击的hit加带规则限定的自定义offset,比如我大概知道这一击希望打在什么地方,就限定一个高度值范围,不够的往范围内带带就行。不过另一个常见问题“攻击切线因为打击位置不确定可能偏离打击轨迹”没出现挺棒的,我除了手配还真没想到什么好办法。

[02:26]开头耍的花棍是蓄力的开始,仔细看蓄力特效即可确认。不知道轻攻击是ButtonDown响应还是ButtonUp响应,虽然从类型分析大概率是ButtonUp,但这个动作跟前面攻击的起手似乎没有相关性,没看到满足蓄力判定后的动作切换,拿不到实锤。

[02:29]继续看前后帧对比,想要做顿帧的话,受击特效就必须是快进慢出,否则顿的一瞬间什么效果都没显示出来,只会造成卡顿不流畅的感觉。

以及受击动作明显是瞬切,看一下被埋没在光效中的影子就知道了。

[02:32]这时候的猴子起跑阶段有滑步,买QQ靓号平台说明跑步状态和idle是分开的,通过transition过渡,如果想去掉这个滑步(虽然搁我是懒得搞的),可以学习尼尔在起跑时加一个起跑动作作为中转。另一种成熟方案是将idle-walk-run组成一个blendtree,这种方案的优势是起步会有一个比较明显的从静到动的过程,也基本不太会出现融合过程的额外位移,但中间状态的转换和辨认都比较困难,我目前项目接手时就这样了没得改,也被这个问题搞的很毛,以后肯定不会优先选就是了。

[02:34-02:35]投掷物比较难确认,找不到接管跟交还武器位移的点在哪,飞行路径的规则样本也太少了判断不了,不过这正说明了动画做的天衣无缝质量非常高,不知道未来可以扩展到什么地步~

[02:40-02:44]真好看啊,这特效贴合程度说没一帧帧比着做我是不信的,上下半身的配合也非常完美。唯一可惜是看不到这一招打人的样子,没办法判定打击盒的绘制精度和判定时机,要这两样也贴准了那调教是真的很用心了。箭被打飞的特效看起来是随机的,看起来像是一个带物理效果的特殊模型,但这其中还有被打断成两截的,这个效果要是特意做的还则罢了,假如弹飞的还是原本射出来的子弹,通用当前世界的物理规则的话,那就真的很惊艳了。

狼那边会在射箭的同时缓缓后退,简单的做法是固定动画,将后退当做后坐力也说得通。另一种可能是AI根据当前角色靠近的行为作出下半身后退的判断,这个匹配就复杂多了,射箭本身就会涉及非常多的上下半身状态迁移,想做单做后退效果好是不大可能的,要把整套四向走的动作迁移都解释清楚才行。

[02:49-02:50]这里从疾跑回到普通跑的过程右脚出现了捯脚的情况,没猜错的话run和rush过渡时是没有按照帧数百分比进行匹配的,看起来循环动作起始帧应该是右脚向后蹬,可以的话做个同步让他们按照相同的比例进行过渡会比较好。

[02:53]这里摄像机发生了一次视角变化,角色在走过去停住前也有一帧跳变(点头),估计是为了接管角色操作和同步位置?剩下的都是播片没啥可说的

[03:09]看见这个特效折角了吗,说明特效是真的挂在武器上随动的,游戏动作和真实世界不同,是一帧一帧出现的,而且有些动作并不是顺势而为,而是要强行克服惯性,这些折角未必每一帧都好看,想要解决要不就做成假特效片(如图2),要不就只能寄希望于采样平滑。

[03:15]这里的弹反和后续打灵虚子效果对比可以确认应该是根据攻击的属性,会反馈不同的反弹特效。比如这里是火属性攻击,就会反弹爆燃的火焰,如果是水属性攻击,就会溅起奔涌的浪花,如果是雷电...雷电奉还!

[03:23]破碎效果不错,是用的chaos吗?官方老哥要是能看见可以讲讲效率如何么,以后万一要用也有个参考。

[03:53]受击瞬间的站立姿势,这时候触发顿帧可太尴尬了,起码做个后仰

[03:55]看第二次受击,这就是打击盒判断受击位置和方向的不可控部分,至少目前我认为没办法杜绝,要不忍,要不手调

[04:02]一次性把人扯过去同步位置,老顽皮狗了

[04:09]这里没看懂,向右跑看起来是有起跑动作的,但前向我怎么都看不出来有,如果只有需要有转向的情况下才会加起跑,又不该这么早做旋转插值

[04:10-04:15]脚步声根据地面材质不同会有变化,但战斗时完全听不到,一种可能是战斗跑步特意独立了一套动作没配,还有一种是加了动态音频弱化在战斗时只会徒增干扰的脚步声音,无论哪个都做到位了。

[06:48-06:55]四连砸地东西蛮多的,每个敌人在不同位置的受击动作都不一样,包括有些人是被击倒状态的二次击飞表现也不同(虽然没看到侧向的动作,只做了前后两向?)。我比较好奇如果这场战斗发生在其他材质的地面上(比如浅水),小兵击飞落地的烟尘和飞溅的石头会不会有改变?期待5年后能看到令人惊艳的结果。

[07:41-07:43]震屏很细致,特意跟狗子拍地的位置对应

[08:00]这里居然拍完地面抖了抖手,是固定动画还是特意对标弹反??

剩下5分钟下周再写。

【逐帧分析】《黑神话:悟空》gameplay相关的技术和调整细节整理相关推荐

  1. 《黑神话:悟空》gameplay相关的技术和调整细节整理

    ##序言 一些约定俗成: 视角是战斗策划,稍微懂一点客户端的视角,有些问题会带着说一下,因为是黑盒所以估计有些东西会有误判,但原理应该差不离: 帧数的描述基于30帧/秒: 没经历过深度的开荒ue4项目 ...

  2. 蓝牙协议分析(5)_BLE广播通信相关的技术分析

    蓝牙协议分析(5)_BLE广播通信相关的技术分析 作者:wowo 发布于:2016-5-27 16:15 分类:蓝牙 1. 前言 大家都知道,相比传统蓝牙,蓝牙低功耗(BLE)最大的突破就是加大了对广 ...

  3. 《黑神话:悟空》将登陆哪些平台 登陆平台介绍

    由国内新晋团队「游戏科学」制作的<黑神话:悟空>公布了首段13分钟实机演示.游戏类型为动作冒险,悟空可使用「七十二变」如化身金蝉规避战斗.铜头铁臂抵抗伤害.吹毛成兵发动影分身,还可以通过使 ...

  4. 悟空“崛起”,《黑神话:悟空》或成为国产3A大作里程碑

    近日,NVIDIA独家发布了全新的<黑神话:悟空>4K RTX光线追踪+DLSS实录视频,并表示已通过正式的实机试玩,体验了游戏目前的战斗.探索及全新的首领挑战,确信这款出色的动作角色扮演 ...

  5. 从《黑神话:悟空》的爆火,浅谈当前游戏从业者面临的机遇与挑战

    距离<黑神话:悟空>的视频发布已经过去了半个多月,游戏的热度也逐渐降了下来.从视频的爆火到路人的吹捧,再到部分网友对制作人莫名地道德批判,着实让我见识到了当今网络环境的魔幻之处.然而不管怎 ...

  6. 国产游戏《黑神话:悟空》刷爆全网,虚幻引擎4打造,网友:有生之年终于看到国产3A!...

    浩楠 晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 你也有被这段游戏试玩视频刷屏吗? 13分钟.国产团队出品.B站上线不到24小时,播放量已经破千万,迅速火爆全网. 这就是来自国内游戏 ...

  7. 个人猜测一下《黑神话:悟空》的部分剧情

    白骨之后,重走西游.个人猜测一下<黑神话:悟空>的部分剧情,当年真假美猴王时,佛祖失误或故意(可能是如来成魔)杀了真正的悟空,假的"悟空"替他完成了取经之路而成佛. 后 ...

  8. 国产 3A 大作《黑神话:悟空》兔年贺岁短片发布,确认 2024 年夏季发售

    1 月 16 日消息,<黑神话:悟空>开发商游戏科学今日发布了兔年贺岁小短片<兔哥惊魂记>,确认游戏将于 2024 年夏季发售. 据了解,本次发布的短片讲述了一位兔子玩家买到& ...

  9. FFplay逐帧播放分析

    FFplay 播放器有一个比较有趣的功能,就是逐帧播放.因为平时视频文件的帧率是挺高的,一秒24帧,有些细节一瞬间就过去了,不太容易注意到. 利用逐帧播放功能,你可以一帧一帧的观察视频画面,在查处交通 ...

最新文章

  1. OPPO Find X3通过网站推广正式官宣,打破常规探索高端旗舰新突破!
  2. python画图代码七彩蟒蛇-Python实现七彩蟒蛇绘制实例代码
  3. Python 去除序列s中的重复元素
  4. 上网课的心得体会1000字_上网课心得体会300字 上网课的心得体会
  5. android 格式格式:YYYYMMDDHH24MISS 的时间戳timestamp
  6. 接口中定义的成员变量是( )。_抽象与接口
  7. python调用菜单响应事件_[Python] wxpython 编程触发菜单或按钮事件
  8. gperf linux 安装_Gperftools安装
  9. php ajax 懒加载demo,lazyload懒加载,怎么支持ajax获得的新内容?
  10. Android Stduio启动模拟器运行项目时做了什么
  11. arcgis 导入Excel坐标数据
  12. 服务器被攻击ip显示国外,服务器被不同的IP攻击怎么破?
  13. linux系统进入管理员命令行,电脑如何进入管理员命令提示符
  14. 计算机的ps快捷键,PHOTOSHOP常用快捷键大全
  15. setlocale()函数详解——C语言
  16. 图论算法 若干定义
  17. 程序员:新手到专家的5个阶段
  18. android刮刮乐游戏布局,Android实现 刮刮乐效果
  19. 西瓜书习题 - 8.集成学习
  20. 讯飞语义相似度baseline

热门文章

  1. 推荐一个Python终身学习者
  2. mysql知识结构图_MySql知识结构说明
  3. 哪种修复redis未授权访问漏洞的方法是相对不安全的_关于Linux挖矿、DDOS等应急事件处置方法...
  4. stl源码剖析_STL之set源码剖析
  5. 虚拟机当作设置服务器,虚拟机当作设置服务器
  6. SpringBootSpring --- Redis 集成 Error creating bean with name 'enableRedisKeyspaceNotificationsIniti
  7. C++学习笔记(八)——内联函数
  8. MVC之排球比赛计分程序 ——(二)架构概要设计
  9. Swift - 14 - 字符串的基础操作
  10. 调试Android之system.img的来回切换。