NPC行为脚本介绍

在今天的文章中,我们将向您介绍Hytale中的NPC行为脚本系统,它们赋予NPC以生命。为次,我们将向你展示兽人行为的一些方面,关于它们对环境、玩家以及彼此的反应。当然,这些原则也适用于Hytale的其他生物——所有这些mod制作者都可以自定义。和以往一样,本文中的所有截图和剪辑都代表了正在进行的工作,而且在未来的开发过程中,细节可能会发生变化。

当一个生物被设计好并在HMM中创建了它的模型和动画后,NPC开发者的任务是使用行为脚本系统赋予其生命。该系统使用JSON脚本调用模块化的行为元素,允许我们指定NPC如何感知世界,以及在各种情况下它如何反应。这些脚本可以触发动画、状态变化等等,一个非常简单的例子是,脚本可以确定被攻击的生物是逃跑还是试图自卫。更复杂的脚本可以让NPC追赶玩家,或者让他们寻找他们喜欢的东西,比如篝火或食物。开发者Ioseff Griffith说:“我们使用构建模块从头开始创建NPC。”“我们有传感器,NPC可以用它来感知周围的世界,然后据此作出相应的行为。然后我们有行为和运动,这定义了他们如何与世界或他们的目标或任何他们关注的东西互动。我们将这些结合起来,构建组件和模板,从中可以快速、轻松地派生出变体。”

在本例中,您可以看到脚本的一个片段,当兽人看到玩家时时,它会立即启动。此脚本处理交互中的几个元素。它会触发一个“警报”动画,告诉玩家他们被发现了。它还启动了一个“信标”响应,使一定半径内的其他兽人也被提醒玩家的存在。这种交互的具体细节可以被精确地调整,但是总体实现是基于大多数NPC所共有的顶层模板。
这种行为的模块化方法使得实现全新的NPC或生物变得更加容易。“当你编写NPC脚本时,你不需要指定诸如‘挥剑’或‘向右移动X距离’之类的内容。”Ioseff解释道。简单地应用一个抽象的组件,如“逃跑”或“寻找”就足够了——然后行为系统处理执行所需的基础操作。
“在最基本的层面上,创建NPC最简单的方法是使用现有的模板,”他说。“这些模板由组件组成,我们使用传感器、行为和运动构建这些组件,以便在多个脚本之间轻松重用行为。Ioseff解释说,一个组件的例子就是声音检测。它使用了组合传感器,允许NPC解释它的环境。他说:“当你向世界投放一个新的NPC时,它至少在某种程度上应该能够适应陌生的的环境。”
“整个系统的一个重要特性是高可重用性,”开发人员Eric Reinhart说。“很容易修改现有的行为,替换部件,也很容易建立新的东西。”
Eric继续说道:“对于那些想要对事物进行修改或创建内容的人来说,这样做的好处是很容易进行简单的修改。”“但它也允许mod制作者把所有的东西都变成最小的细节。”
这是一个例子。通过向兽人猎手的行为脚本添加一些额外的参数,我们可以将熊添加到导致它们进入“警惕”状态的生物列表中。
现在我们有一个对熊大喊大叫的猎人!这只是一个例子,他们在正式版中不一定会这样做。即便如此,这也提供了一个例子,说明向生物的行为引入新细节是多么简单。
通常情况下,新NPC的行为集将由设计团队在其实现之前制定出来。有时,这意味着向行为系统添加新特性,从而进一步扩展系统的可能性。然而,开发过程中偶尔的意外会导致新的行为怪癖。
Ioseff解释说:“在这个过程中会添加一些小部件。”例如,兽人有一种打架的行为,他们开始互相殴打。当我在执行这个的时候,一个战败的兽人会改变状态。有时他们会立即进入“午睡”状态,这很有趣,因为他们看起来像是被打昏了。我很好地实现了这一点,目前正在进行拳击的兽人会在一场战斗后将对方击倒。”
该团队的目的是创造出独立于玩家行动的NPC,以为玩家创造出一种沉浸感。通过学习每种生物的反应,玩家可以想出创造性的方式与它们互动。例如,兽人特别喜欢丢弃的肉:
玩家如何选择利用这些信息完全取决于他们自己!
开发团队发现,将许多简单的行为组合起来可以产生令人惊讶的逼真效果。埃里克说:“我为一个兽人弓箭手写了一个脚本,想测试一下他射得怎么样。”
“当我们第一次为NPC添加更换武器的能力时,如果你试图去追赶一个弓箭手而且靠的够近的话,它会转过身来切换成近战武器攻击你,这真的很令人意外。将这些简单的行为结合起来往往效果很好。
在上面的视频中,您可以看到兽人的几个简单行为结合在一起的例子。天开始下雨时,这个兽人正在外面打盹。这就触发了从“睡着”到“醒着”的状态的变化,这时Trork决定寻找一个温暖的地方。然后他走到附近的营火旁坐下。Trork的行为脚本中有几个不同的元素参与了这个时刻的创造,但综合起来,它们创造了一种生物个性的感觉。我们的行为系统的目标是为玩家提供像这样沉浸式的时刻,我们很兴奋地期待如果让mod开发者来设计NPC行为,他们会做出什么结果!
在你探索奥比斯世界时,你还可能遇到以下这些NPC行为:

一般情况下,树精们不需要进食。作为树人,他们会寻找有阳光的地方来享受日光浴以摄入营养。

哥布林喜欢用炸弹来解决问题,他们可以破坏方块,炸出洞穴。这本身就是问题。干得不错,哥布林们。
» 转载保留出处:hytale中文分享网»《NPC行为脚本介绍》» 本文链接地址:https://www.hytale8.com/536.html» 如果喜欢可以:点此订阅本站
说点什么