← 返回首页
《地平线:零之曙光》:让机器兽既可信又可读
本文依据 Inven 与 ConFreaks & Geeks 的现场报道整理 Richard Oud 在 GDC 2018 的分享:机器兽如何从动物参考中建立性格,再用攻击预备、判定配合与收招重量感形成可读的战斗动作。官方录像可供继续核对动态演示,本文未做逐帧测量。
核心观点
机器兽的动作要同时回答「它是什么性格」和「它接下来怎样攻击」,动物参考必须经过战斗可读性的检验。
原标题Animation Bootcamp: Bringing Life to the Machines of 'Horizon Zero Dawn'
作者简介 Richard Oud · Guerrilla Games 首席动画师,负责《地平线:零之曙光》机器兽的动作风格与动画制作。
从人形士兵转向机器动物,先验证能不能玩
- 背景转向:Guerrilla 原本长期制作《杀戮地带》的士兵动画,转向机器狩猎后需要学习四足运动、研究动物纪录片,也邀请专家帮助建立观察方法。
- 研究不能替代原型:一个概念有吸引力,还不足以证明战斗成立。
- 早期原型:早期雷霆牙使用《杀戮地带 3》的现成资源与简化的积木式造型,团队先集中于这个大型敌人的战斗。
- 迭代方向:在迭代中逐步明确武器和整体玩法,再把部分经验用于其他机器。
- 原型任务:原型的任务是验证狩猎关系,而不是提前完成展示级模型。
动物的生命感,与机器的结构感同时存在
- 方向选择:团队讨论过机器究竟应该像动物还是像机械,选择的方向是整体运动自然、局部仍保留机械的感觉。
- 古代机器例外:与自然生态相分离的古代机器,则可以更接近工业设备。
- 取舍边界:不能因为参考动物就把所有关节都做成柔软的肉体,也不能因为是机器人就让每个动作都僵硬。
- 动作要求:体重、性格与战斗威胁需要在同一套动作中读出来。
性格先行,参考动物不必与外形一一对应
- 先定性格再找参考:团队先给机器明确的行为印象,再寻找参考。
- 各机器性格:潜行者需要凶狠、自信、隐蔽、随时准备攻击;观察者需要好奇和警觉;壳行者则突出保护货箱的行为。
- 共同描述的作用:共同的性格描述帮助不同制作人员选择相容的动作。
破石者:用海狮解决“庞大而敏捷”
- 鼹鼠给出外形:破石者的掘地外形来自鼹鼠,但鼹鼠不能直接回答它在地表怎样推进。
- 海狮给出移动:海狮搏斗的影像同时具有重量与突然发力的灵活性,成为地面移动的重要参考。
- 抓住运动问题:这个选择抓住的是运动问题——庞大身体如何可信地突然逼近玩家,参考不必只围绕“长得像什么”收集。
风背兽与长腿兽:局部动作可以来自另一种动物
- 风背兽:外形接近背着液体的两足恐龙,团队却参考袋鼠的腿部和跳跃动作。
- 长腿兽:一些动作受到鸡刨地、激动姿态的启发。
- 结论:动物类别不同,仍可能提供符合机器功能与性格的运动片段。
鳄鱼看起来不爱动,如何证明它适合战斗
- 最初的质疑:鳄鱼形机器 Snapmaw 最初受到质疑——现实鳄鱼常常静止,可能难以提供足够鲜明的表现。
- 用原型回应:动画团队没有只靠概念图解释,而是根据鳄鱼遭狮子攻击的影像做出多种动作原型。
- 原型内容:包括向后方扫尾、水中快速游动以及陆地行走,展示这个身体结构在不同空间中的威胁,最终说服团队保留。
- 结果:一个参考片段由此转成可演示的行为集合,解决了敌人是否有玩法潜力的问题。
攻击动画必须与玩家的反应机会一起评审
- 跨环节往返:机器从外观、技术美术、动画到玩法和 AI 需要反复往返。
- 评审标准:每个攻击都要满足预备时间和碰撞判定要求,不能单独在动画软件中以流畅度决定是否通过。
- 精修重点:后期精修尤其集中在攻击动作,强化能预告攻击的姿态、放大关键运动,使玩家看清攻击时机与方向。
- 自然不等于可读:动作更接近自然,并不自动意味着更容易读懂;实战镜头与玩家注意力会改变信息是否有效。
收招负责兑现前面承诺的重量
- 收招的必要性:跳跃攻击若落地后立即无重量地切到下一段,前面建立的大体型就会失效。
- 做法:团队在攻击结束后补入符合机器特点的细节,让身体承受落地与制动的结果。
- 预备与收招的关系:预备动作告知危险,收招让冲击可信;两者连起来才是完整的攻击体验,不能只精修最显眼的命中瞬间。
循环变化保留生命感,而不丢掉行为身份
- 做法:团队制作额外的动画循环,并以随机混合打破机械重复。
- 时机:这个工作发生在性格与基础运动建立之后。
- 约束:变化需要属于同一种机器,而不是为了随机而拼入任意动作。
✦ 一句话总结:评审一只敌人,可以分别问它平时像谁、攻击前告诉了玩家什么、攻击后身体付出了什么代价。动物参考、可读性与重量感各自回答一个问题,缺少任何一项都容易只剩一段好看的怪物动画。
本文由 GPT-6 Astra 于 2026/09/20 生成,由 DeepSeek V4.1 Flash 后续修改