百科问答小站 logo
百科问答小站 font logo



《最后生还者2》的绳索物理引擎是怎么做到的? 第1页

  

user avatar   levelpp_edu 网友的相关建议: 
      

感谢哆啦A梦大神 @五犬 邀请。

虽然游戏本身存在很多争议(传送门:前段时间的评测),但游戏在表现力等硬指标方面是没得说的。

就“绳子”这方面而言,咱们在这里尽量从纯技术角度粗略分析一下,说的有不到位的地方欢迎大家补充。

1、总体分析

美末2中绳子的惊艳之处有两部分:一是绳子本身的物理运动十分柔韧、十分真实;二是绳子与角色的互动更加惊艳。

先看看截图:

1、绳子本身的物理模拟:

2、角色与绳子的互动:

游戏中角色会抓起绳子一端,甚至会卷绳子,绳子的中间部分仍然符合物理效果:

拉着绳子一端跑动,当绳子长度不够时,会突然受到一个猛的拉力,角色的动画配合十分精彩:

2、如何实现绳子物理运动

近两年,图形学中的物理动画算法有了明显进展,一些以前只能离线计算的效果现在已经能轻松做到实时渲染了。

目前常用游戏引擎中采用的默认物理引擎,暂时还是传统刚体引擎(用柔体物理引擎性能消耗太大,没有必要)。但我们可以通过物理插件或者自己编写代码,来针对游戏中的某些物体进行模拟,比如Nvidia Flex插件可以模拟出类似效果(还不完善)。

在《最后生还者2》游戏中,由于上图的那条电线与关卡设计结合比较紧密,对玩家体验影响比较大,所以显然制作组针对这条电线做了更加细致的处理,采用了较先进的柔体模拟算法来模拟这条绳子。针对某个物体做细致处理的做法很常见,比如赛车游戏中,赛车的物理比周围环境的物理细致得多。

简单来说,忽略角色动作仅看绳子本身的实时物理模拟,其实近年来相关技术已经成熟了。虽然很多人是初次在游戏中看到这样的效果,但从技术上来看并不是特别让人意外。

另外,在模拟绳子的系统中,固定绳子上的一个点对绳子来说也只是添加了一个边界条件,不属于很困难的问题。

3、如何实现角色与绳子的交互

相比绳子本身,角色与绳子的互动更值得说一说。角色与绳子的交互,比绳子本身的运动更复杂一些,它涉及到2个麻烦的问题:

  1. 角色通过动作控制绳子。
  2. 角色动作受到绳子反作用力的影响。

角色通过动作控制绳子需要极为细致的调整。在角色做动作时,他手部的物理性质也一直在变化。比如艾丽卷绳子时,她的手一会儿抓紧绳子,一会儿任由绳子从手上滑过。抓紧绳子时手部相当于一个夹子,而手部放松时手部相当于一个套环:

原理说起来简单,真的做起来估计非常麻烦,需要物理和动画密切配合,中间可能还有很多技术细节。

再说说绳子反作用力影响动作的问题。

表现外力、外部障碍对动作影响的技术叫做IK(反向动力学),现在也算是比较成熟了。但IK细说起来也有简单的和高级的。

简单的IK现在很常见,比如说把你的脚垫起来,你的腿就会自然弯曲;手抓在枪柄上,手臂就会自然弯曲。而复杂的IK效果涉及到力和加速度,比如突然推你的肩膀,你的肩膀往后晃一下,然后身体调整重心再恢复。

按照现阶段主流的技术,表现人物动作时,不用真的给人物动作建立复杂的物理模型,只需要让动画与简单IK相配合,就能做到足够好的效果。反而是人物死亡以后,尸体会变成物理关节,因为尸体没有动画只有物理,一般称为布娃娃系统。

所以,艾丽被绳子突然拉扯的动作,应该是为这种情况专门做了一个动画。同时为了让动画适配绳子的位置,还需要IK进行配合。


以上就是对《最后生还者2》的绳索物理进行的分析,仅从表面现象分析很容易有很多纰漏,如有问题可在评论区留言,一起探讨。

PS:这个回答仅针对绳子效果的实现,请不要讨论技术无关问题【逃】




  

相关话题

  如何从麦克斯韦方程组中感觉到美? 
  人有没有可能在不精通高数和大学物理的基础上理解相对论? 
  谁能给我讲讲宇宙里为什么有能量/质量? 
  「三体问题」无解吗?为什么? 
  多少片芭蕉叶能挡住巴雷特的一枪? 
  对于给定的电磁场,如何得到其等效的光子的数量? 
  卢驭龙以及其创建的深圳驭龙航天科技有限公司,其科学性到底如何? 
  牛顿力学是如何过渡到热力学的? 
  我想问问学长学姐们:支持女孩大学学物理吗? 
  高空跳水,多高跳下去就会死? 

前一个讨论
律师主动找我帮我打官司正常吗?我老婆因工伤和公司私了获赔三万块钱。后来一自称律师的找我们愿帮我打官司?
下一个讨论
Google 是如何盈利的?





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