一种非玩家角色的行为序列生成方法及装置制造方法及图纸

技术编号:30827242 阅读:23 留言:0更新日期:2021-11-18 12:29
本申请提供了一种非玩家角色的行为序列生成方法及装置,其中,该方法包括:获取用于描述行为序列关系的知识图谱;基于知识图谱中与非玩家角色相关的行为节点、状态节点和边获得子图;根据子图确定作为目标行为节点的下一步行为的多个候选行为节点;目标行为节点为行为序列中除终止节点外的任一行为节点;从中筛选满足第一预设条件的候选行为节点作为目标行为节点的下一行为节点,将其加入行为序列中;若行为序列中的目标行为节点具有对应的状态节点,则从目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将其加入行为序列中,从而生成非玩家角色的行为序列,可提升非玩家角色剧情的多样性、新鲜感,且大大降低人力成本。大大降低人力成本。大大降低人力成本。

【技术实现步骤摘要】
一种非玩家角色的行为序列生成方法及装置


[0001]本申请涉及游戏人工智能
,具体而言,涉及一种非玩家角色的行为序列生成方法及装置。

技术介绍

[0002]随着游戏人工智能(Artificial Intelligence,AI)技术的发展,虚拟游戏世界中的数百个非玩家角色(Non

Player Character,NPC),可以像现实中的人类一样,活动起来,创造一个更加丰富、更加逼真的虚拟角色社会群体。为了游戏世界更加逼真,通常需要预先定义每个非玩家角色的行为序列,使得非玩家角色在游戏里的行为和现实中人的行为保持一致。
[0003]目前,通过人工编写故事树(Story Tree)的方式来定义非玩家角色的行为序列,非玩家角色按照定义好的非玩家角色的行为序列执行每天的日常行为。例如:一个上班族的非玩家角色的行为序列为:起床

>买早餐

>吃早餐

>上班

>买午饭

>吃午饭

>睡午觉

>上班...,中间可能穿插一些和其他非玩家角色的交互行为,比如“买早餐”可能会和服务员沟通,或者发生某个行为是具有前置条件的,根据不同的条件进入不同的分支,比如“吃午饭”后NPC困了就“睡午觉”,不困就继续“上班”。
[0004]申请人在研究中发现:通过人工编写故事树的方式来定义非玩家角色的行为序列,非常局限于人工创作,人工编写多少模板,就有多少非玩家角色的行为序列,非玩家角色剧情不具有多样性、新鲜感。而且,当非玩家角色数量众多的情况下,全靠人工写故事树的形式,会极大增加人力成本。

技术实现思路

[0005]有鉴于此,本申请的目的在于提供一种非玩家角色的行为序列生成方法及装置,可提升非玩家角色剧情的多样性、新鲜感,且大大降低人力成本。
[0006]第一方面,本申请实施例提供了一种非玩家角色的行为序列生成方法,包括:
[0007]获取用于描述行为序列关系的知识图谱;
[0008]基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;
[0009]从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;
[0010]根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;
[0011]从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;
[0012]将确定的所述目标行为节点的下一行为节点加入所述行为序列中;
[0013]根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所
述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。
[0014]在一种可能的实施方式中,所述从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,包括:
[0015]针对每个候选行为节点,计算该候选行为节点对应的词向量与当前行为序列中的每个行为节点对应的词向量之间的第一相似度;
[0016]基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分;
[0017]从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点。
[0018]在一种可能的实施方式中,所述基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分,包括:
[0019]对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分;其中,所述行为节点的第一权重系数与对应的行为节点在当前行为序列中的生成时刻呈负相关。
[0020]在一种可能的实施方式中,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:
[0021]从该候选行为节点对应的多个所述第一相似度中选择小于预设阈值的第一相似度;
[0022]将选择的第一相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
[0023]在一种可能的实施方式中,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:
[0024]从该候选行为节点对应的多个所述第一相似度中选择多个第一采样相似度;其中,所述第一采样相似度对应的行为节点在当前行为序列中的生成时刻处于第一预设时间范围内;
[0025]对所述多个第一采样相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。
[0026]在一种可能的实施方式中,所述从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点,包括:
[0027]按照所述多个候选行为节点的第一评分从高到低的顺序对所述多个候选行为节点进行排序,得到所述多个候选行为节点的第一排序结果;
[0028]基于以下任一方式从所述第一排序结果中筛选候选行为节点:
[0029]从所述第一排序结果中随机筛选预设数量的候选行为节点;
[0030]从所述第一排序结果中位于第一位的候选行为节点开始按顺序筛选预设数量的候选行为节点;
[0031]从所述第一排序结果中位于最后一位的候选行为节点开始按顺序筛选预设数量的候选行为节点。
[0032]在一种可能的实施方式中,所述根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,包括:
[0033]根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则针对所述目标行为节点的每个候选状态节点,计算该候选状态节点对应的词向量与当前行为序列中的每个状态节点对应的词向量之间的第二相似度;
[0034]基于该候选状态节点对应的多个所述第二相似度,计算该候选状态节点的第二评分;
[0035]从所述目标行为节点的多个候选状态节点中筛选所述第二评分满足第二预设条件的候选状态节点。
[0036]在一种可能的实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非玩家角色的行为序列生成方法,其特征在于,包括:获取用于描述行为序列关系的知识图谱;基于所述知识图谱中与非玩家角色相关的行为节点、状态节点以及边,获得所述知识图谱的子图;其中,所述边用于表示所述行为节点之间、所述状态节点之间、以及所述行为节点与所述状态节点之间的逻辑关系;从所述子图的行为节点中获取所述非玩家角色的行为序列的起始节点;根据所述子图确定作为目标行为节点的下一步行为的多个候选行为节点;其中,所述目标行为节点为所述行为序列中除终止节点外的任一行为节点;从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,将筛选得到的候选行为节点作为所述目标行为节点的下一行为节点;将确定的所述目标行为节点的下一行为节点加入所述行为序列中;根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,将筛选得到的候选状态节点加入所述行为序列中,从而生成所述非玩家角色的行为序列。2.根据权利要求1所述的方法,其特征在于,所述从所述多个候选行为节点中筛选满足第一预设条件的候选行为节点,包括:针对每个候选行为节点,计算该候选行为节点对应的词向量与当前行为序列中的每个行为节点对应的词向量之间的第一相似度;基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分;从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点。3.根据权利要求2所述的方法,其特征在于,所述基于该候选行为节点对应的多个所述第一相似度,计算该候选行为节点的第一评分,包括:对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分;其中,所述行为节点的第一权重系数与对应的行为节点在当前行为序列中的生成时刻呈负相关。4.根据权利要求3所述的方法,其特征在于,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:从该候选行为节点对应的多个所述第一相似度中选择小于预设阈值的第一相似度;将选择的第一相似度分别与对应的行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分。5.根据权利要求3所述的方法,其特征在于,所述对该候选行为节点对应的多个所述第一相似度分别与对应的所述当前行为序列中的每个行为节点的第一权重系数进行加权求和,得到该候选行为节点的第一评分,包括:从该候选行为节点对应的多个所述第一相似度中选择多个第一采样相似度;其中,所述第一采样相似度对应的行为节点在当前行为序列中的生成时刻处于第一预设时间范围内;对所述多个第一采样相似度分别与对应的行为节点的第一权重系数进行加权求和,得
到该候选行为节点的第一评分。6.根据权利要求2所述的方法,其特征在于,所述从所述多个候选行为节点中筛选所述第一评分满足第一预设条件的候选行为节点,包括:按照所述多个候选行为节点的第一评分从高到低的顺序对所述多个候选行为节点进行排序,得到所述多个候选行为节点的第一排序结果;基于以下任一方式从所述第一排序结果中筛选候选行为节点:从所述第一排序结果中随机筛选预设数量的候选行为节点;从所述第一排序结果中位于第一位的候选行为节点开始按顺序筛选预设数量的候选行为节点;从所述第一排序结果中位于最后一位的候选行为节点开始按顺序筛选预设数量的候选行为节点。7.根据权利要求1所述的方法,其特征在于,所述根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则从所述目标行为节点的多个候选状态节点中筛选满足第二预设条件的候选状态节点,包括:根据所述子图确定所述行为序列中每个行为节点是否具有对应的状态节点,若所述行为序列中的目标行为节点具有对应的状态节点,则针对所述目标行为节点的每个候选状态节点,计算该候选状态节点对应的词...

【专利技术属性】
技术研发人员:张林箭张聪宋有伟楼荒刘畅范长杰胡志鹏
申请(专利权)人:网易杭州网络有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1