CN117379795A - 动态模型配置方法、终端设备、装置及存储介质 - Google Patents
动态模型配置方法、终端设备、装置及存储介质 Download PDFInfo
- Publication number
- CN117379795A CN117379795A CN202311460112.0A CN202311460112A CN117379795A CN 117379795 A CN117379795 A CN 117379795A CN 202311460112 A CN202311460112 A CN 202311460112A CN 117379795 A CN117379795 A CN 117379795A
- Authority
- CN
- China
- Prior art keywords
- target
- point
- path
- model
- discrete
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000003860 storage Methods 0.000 title claims abstract description 33
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000033001 locomotion Effects 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 23
- 230000003993 interaction Effects 0.000 claims description 22
- 230000008859 change Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 15
- 238000009499 grossing Methods 0.000 claims description 5
- 238000009966 trimming Methods 0.000 claims description 4
- 241000251468 Actinopterygii Species 0.000 description 83
- 238000010586 diagram Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 15
- 241000196324 Embryophyta Species 0.000 description 14
- 238000004891 communication Methods 0.000 description 14
- 230000009182 swimming Effects 0.000 description 9
- 239000006185 dispersion Substances 0.000 description 7
- 230000000694 effects Effects 0.000 description 7
- 230000002829 reductive effect Effects 0.000 description 6
- 239000008280 blood Substances 0.000 description 5
- 210000004369 blood Anatomy 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 239000011435 rock Substances 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000013439 planning Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/63—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor by the player, e.g. authoring using a level editor
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供一种动态模型配置方法、终端设备、装置及存储介质。该方法包括:在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;基于预设曲线方程和多个目标点生成针对目标模型集群的初始路径;根据配置的目标偏移量对初始路径进行离散处理,生成初始路径对应的离散路径;将目标路径和指定时间参数配置至目标模型集群中的各目标模型,用以在游戏编辑场景中控制各目标模型按指定时间参数沿目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在游戏运行场景中配置目标路径并控制各目标模型按指定时间参数沿目标路径运动;其中,目标路径为初始路径和/或离散路径。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种动态模型配置方法、终端设备、装置及存储介质。
背景技术
相关技术中,当游戏场景中需要配置动态的模型,例如配置游戏场景中的鱼阵或鱼群时,通常需要为鱼阵或鱼群中的每一条鱼单独配置一条路径,使其沿该路径运动。
但是,游戏场景中的鱼的数量非常庞大时,相关技术则存在着配置工作量繁重、代码维护性低、代码可读性差且占用大量系统空间的问题。
发明内容
有鉴于此,本申请的目的在于提出一种动态模型配置方法、终端设备、装置及存储介质。
基于上述目的,在第一方面,本申请提供了一种动态模型配置方法,所述方法包括:
在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;
基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;
根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;
将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;
其中,所述目标路径为所述初始路径和/或所述离散路径。
在第二方面,本申请提供了一种终端设备,所述终端设备中存储有目标游戏对应的模型集群数据,所述终端设备用于:
运行在所述目标游戏,呈现所述目标游戏对应的游戏运行场景;
响应于目标虚拟角色在所述游戏运行场景中触发目标事件,从所述目标游戏的游戏服务器获取与所述目标事件对应目标模型集群标识;
基于所述目标模型集群标识,从所述模型集群数据中确定与所述目标事件对应目标模型集群和目标配置数据,其中,所述目标配置数据包括目标路径,所述目标路径基于预设曲线方程和多个目标点生成,和/或基于预设曲线方程、多个目标点以及预先配置的目标偏移量生成;
基于所述目标配置数据和所述模型集群,在所述游戏运行场景中配置所述目标路径并控制所述目标模型集群中的各目标模型按指定时间参数沿所述目标路径运动。
在第三方面,本申请提供了一种动态模型配置装置,所述装置包括:
接收模块,被配置为在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;
生成模块,被配置为基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;
离散模块,被配置为根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;
配置模块,被配置为将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;
其中,所述目标路径为所述初始路径和/或所述离散路径。
在第四方面,本申请提供了另一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的动态模型配置方法。
在第五方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如第一方面所述的动态模型配置方法。
从上面所述可以看出,本申请提供的一种动态模型配置方法、终端设备、装置及存储介质,在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;其中,所述目标路径为所述初始路径和/或所述离散路径。本申请的方案通过对初始路径的离散,得到了不同的离散路径,无需单独配置每一条路径,利用同一条路径离散量的结构及其相互关系,达到多样性,使同一条路径数据可灵活展现出不同的路径,使得路径的丰富性得到提高的同时,减轻了数据量对系统资源的压力。由于每条路径之前存在相互关系,使得配置工作量减轻,并且提高了代码维护性以及代码可读性,提升了动态模型的表现效果。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了相关技术中游戏场景中每条鱼单独配置的路径的示意图。
图2示出了本申请实施例所提供的一种动态模型配置方法的示例性应用场景示意图。
图3示出了本申请实施例所提供的一种动态模型配置方法的示例性流程示意图。
图4示出了根据本申请实施例的初始路径的示例性示意图。
图5示出了根据本申请实施例的第一初始路径的示例性示意图。
图6示出了根据本申请实施例的第二初始路径的示例性示意图。
图7示出了根据本申请实施例的根据预先设定的不处于同一平面四个点确定初始路径的示例性示意图。
图8示出了根据本申请实施例的根据预设曲线确定的初始路径的示例性示意图。
图9示出了根据本申请实施例的根据视频动作捕捉软件捕捉后的初始路径的示例性示意图。
图10示出了根据本申请实施例的一种离散后的目标路径的示例性示意图。
图11示出了根据本申请实施例的另一种离散后的目标路径的示例性示意图。
图12示出了根据本申请实施例的鱼模型的示例性示意图。
图13示出了根据本申请实施例的同类型的鱼模型沿目标路径游动的示例性示意图。
图14示出了根据本申请实施例的不同类型的鱼模型沿目标路径游动的示例性示意图。
图15示出了根据本申请实施例的虚拟场景的示例性示意图。
图16示出了本申请实施例所提供的一种动态模型配置装置的示例性结构示意图。
图17示出了本申请实施例所提供的一种终端设备的示例性结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
需要说明的是,除非另外定义,本申请实施例使用的技术术语或者科学术语应当为本申请所属领域内具有一般技能的人士所理解的通常意义。本申请实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
如背景技术部分所述,相关技术中,当游戏场景中虚拟角色释放技能或进行攻击时,存在蓄力释放或蓄力攻击的方式,一级蓄力状态和二级蓄力状态所对应的显示效果不同,但实际上这两种蓄力状态对应的技能释放范围或攻击范围是相同的,只有当蓄力达到预设数值时,才会改变技能释放范围或攻击范围。
图1示出了相关技术中游戏场景中每条鱼单独配置的路径的示意图。
通过发明人的研究发现,相关技术中,参考图1,当游戏场景中需要配置动态的模型,例如配置游戏场景中的鱼阵或鱼群时,通常需要为鱼阵或鱼群中的每一条鱼单独配置一条路径,使其沿该路径运动。
并且当每条鱼对应的路径被配置后,不对对其进行改变,也就是说鱼A对应路径A1,鱼B对应路径B1,无论何时配置鱼A和鱼B,鱼A的移动路径始终为路径A1,类似地,鱼B的移动路径始终为路径B1。
申请人通过研究发现,这样不但工作量繁重,而且维护性不高可读性十分差,不利于功能的开发和维护。当鱼群、鱼阵复杂度越来越高时,工作量就会指数增长,这样就限制了策划配置鱼群、鱼阵的积极性和行动力。鱼群、鱼阵的数据量会十分庞大,不利于服务器和客户端的交互。游戏场景中的鱼的数量非常庞大时,相关技术则存在着配置工作量繁重、代码维护性低、代码可读性差且占用大量系统空间的问题。并且,鱼群、鱼阵没有灵活性,每次出现的的鱼群、鱼阵都是固定不变,没有可变性,不够灵活,容易造成玩家的疲劳。
正因如此,本申请提供了一种动态模型配置方法、终端设备、装置及存储介质,在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;其中,所述目标路径为所述初始路径和/或所述离散路径。本申请的方案通过对初始路径的离散,得到了不同的离散路径,无需单独配置每一条路径,利用同一条路径离散量的结构及其相互关系,达到多样性,使同一条路径数据可灵活展现出不同的路径,使得路径的丰富性得到提高的同时,减轻了数据量对系统资源的压力。由于每条路径之前存在相互关系,使得配置工作量减轻,并且提高了代码维护性以及代码可读性,提升了动态模型的表现效果。
图2示出了本申请实施例所提供的一种动态模型配置方法的示例性应用场景示意图。
该应用场景中,包括本地终端设备101和服务器102。其中,本地终端设备101和服务器102之间可通过有线或无线的通信网络连接,以实现数据交互。
本地终端设备101可以是靠近用户侧的具有数据传输、多媒体输入/输出功能的终端设备,如,桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、车载电脑、智能可穿戴设备、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的终端设备等。该终端设备可以包括处理器和具有触控输入功能显示屏,该显示屏用于呈现图形用户界面,该图形用户界面可以显示游戏编辑和或游戏运行界面,该处理器用于处理动态模型配置游戏数据、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些示例性实施例中,动态模型配置方法可以运行于本地终端设备101或者是服务器102。
当动态模型配置方法运行于服务器102时,服务器102用于向终端设备的用户提供动态模型配置服务,终端设备中安装有与服务器102通信的客户端,用户可以通过客户端指定目标程序。服务器102在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;其中,所述目标路径为所述初始路径和/或所述离散路径。服务器102还可以将目标模型发送给客户端,客户端向用户展示目标模型。其中,终端设备可以是前述提到的本地终端设备101。
当动态模型配置方法运行于服务器102时,该方法则可以基于云交互系统来实现与执行。
其中,云交互系统包括客户端设备和云游戏服务器。
在一些示例性实施例中,云交互系统下可以运行各种云应用,例如:云游戏。以云游戏为例,云游戏是指以云计算为基础的游戏方式。在云游戏的运行模式下,游戏程序的运行主体和游戏画面呈现主体是分离的,游戏中移动状态的控制方法的储存与运行是在云游戏服务器上完成的,客户端设备的作用是用于数据的接收、发送以及游戏画面的呈现,举例而言,客户端设备可以是靠近用户侧的具有数据传输功能的显示设备,如,移动终端、电视机、计算机、掌上电脑等;但是进行信息处理的为云端的云游戏服务器。在进行游戏时,玩家操作客户端设备向云游戏服务器发送操作指令,云游戏服务器根据操作指令运行游戏,将游戏画面等数据进行编码压缩,通过网络返回客户端设备,最后,通过客户端设备进行解码并输出游戏画面。
在上述实施例中,以动态模型配置方法运行于服务器102为例进行了说明,然而本公开不限于此,在一些示例性实施例中,动态模型配置方法还可以运行于本地终端设备101。
本地终端设备101可以包括显示屏和处理器。本地终端设备101中安装有客户端,用户可以通过客户端指定目标程序。处理器在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;其中,所述目标路径为所述初始路径和/或所述离散路径。处理器还可以将目标模型发送给客户端,客户端通过显示屏向用户展示目标模型。
在一些示例性实施例中,以游戏为例,本地终端设备101存储有游戏程序并用于呈现游戏画面。本地终端设备101用于通过图形用户界面与玩家进行交互,即,常规的通过终端设备下载安装游戏程序并运行。该本地终端设备101将图形用户界面提供给玩家的方式可以包括多种,例如,可以渲染显示在终端的显示屏上,或者,通过全息投影提供给玩家。举例而言,本地终端设备101可以包括显示屏和处理器,该显示屏用于呈现图形用户界面,该图形用户界面包括游戏画面,该处理器用于运行该游戏、生成图形用户界面以及控制图形用户界面在显示屏上的显示。
在一些示例性实施例中,本公开实施例提供了一种动态模型配置方法,通过终端设备提供图形用户界面,其中,终端设备可以是前述提到的本地终端设备101,也可以是前述提到的云交互系统中的客户端设备。
下面结合图2的应用场景,来描述根据本公开示例性实施方式的动态模型配置方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
图3示出了本申请实施例所提供的一种动态模型配置方法的示例性流程示意图。
参考图3,本申请实施例所提供的一种动态模型配置方法,具体包括以下步骤:
S302:在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点。
S304:基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径。
S306:根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径。
S308:将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;其中,所述目标路径为所述初始路径和/或所述离散路径。
在一些实施例中,每一组目标模型中可以都是同一类型的目标模型,例如一个鱼群模型是同一种类的鱼模型,就可以看作是一组目标模型,对于一组目标模型可以对应有同一条路径,其中,一组目标模型可以通过目标模型集群来表征。其中一种路径生成的方式可以为通过预先配置好的目标点,根据二次贝塞尔曲线进行初始路径的生成。
需要说明的是,该目标点可以为用户在游戏编辑器预先设置的,进而在游戏编辑场景中接收到该目标点。
具体地,其中,目标点,至少可以包括:第一目标点、第二目标点以及第三目标点,其中,初始路径,至少可以包括:第一初始路径。可以确定预先设置的多个目标点所在的不同平面之间的最大高度差是否为零;响应于所述最大高度差为零,则确定沿所述第一目标点与所述第二目标点之间的连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点;确定沿所述第二目标点与所述第三目标点之间的连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点;根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到所述第一初始路径。
图4示出了根据本申请实施例的初始路径的示例性示意图。
在该实施例中,参考图4,可以包括多个预先设置的目标点,例如第一目标点A、第三目标点C以及第五目标点E,其中点B和点D为初始路径上的一个点。首先可以确定多个目标点是否位于同一平面,当然,如果只有三个目标点,则每个目标点的确处于同一平面,当一条完整的初始路径可以通过多于三个目标点来确定,因此需要确定所有的目标点是否全部位于同一平面。如果所有目标点所在的不同平面之间的最大高度差为零,也就是说全部目标点都位于同一平面中,则可以根据二次贝塞尔曲线来生成初始路径。
图5示出了根据本申请实施例的第一初始路径的示例性示意图。
具体地,参考图5,以根据第一目标点A、第二目标点B1以及第三目标点C确定的第一初始路径为例,详细说明第一初始路径的生成方式,需要说明的是,根据二次贝塞尔曲线来生成初始路径时,可以根据每三个相邻的目标点来确定一段初始路径,在确定出每一段初始路径后,拼接每一段初始路径,进而可以得到完整的初始路径。
在第一初始路径的生成过程中,其中点A和点C分别为预先设置的第一目标点和第三目标点,点B1为第二目标点,但第二目标点实际上并不是第一初始路径上的点,而是用于生成第一初始路径的点之一。首先,可以连接第一目标点A与第二目标点B1,确定二者之间的连线,也即线段AB1,在线段AB1上可以找出一个连续变化的点,例如第一连续点a,也即第一连续点a是沿着线段AB1由第一目标点A指向第二目标点B1的方向上的连续点,在线段AB1上,可以将线段AB1所在直线的直线方程作为第一连续点a的移动轨迹方程。其中,第一连续点a的变化参数可以为预设参数,例如参数t。
进一步地,可以连接第二目标点B1与第三目标点C,确定二者之间的连线,也即线段B1C,在线段B1C上也可以找出一个连续变化的点,例如第二连续点b,也即第二连续点b是沿着线段B1C由第二目标点B1指向第三目标点C的方向上的连续点,在线段B1C上,可以将线段B1C所在直线的直线方程作为第二连续点b的移动轨迹方程。其中,第二连续点b的变化参数也可以为预设参数,例如参数t。
需要说明的是,参数t可以根据线段AB1、变化线段Aa、线段B1C以及变化线段B1b来确定,具体地,Aa/AB1=B1b/B1C=t,并且t的取值范围为[0,1]即可。
再进一步地,可以连接第一连续点a与第二连续点b,确定二者之间的连线,也即线段ab,在线段ab上也可以找出一个连续变化的点,例如第三连续点c,也即第三连续点c是沿着线段ab由第一连续点a指向第二连续点b的方向上的连续点,在线段ab上,可以将线段ab所在直线的直线方程作为第三连续点c的移动轨迹方程。其中,第三连续点c的变化参数也可以为预设参数,例如参数t。
需要说明的是,此时,参数t能够关联起每一条线段之间的关系,具体地,Aa/AB1=B1b/B1C=ac/ab=t。将t的值从0过渡到1,不断重复上面的步骤,计算出所有的第三连续点c,连接所有符合条件的第三连续点c,也即使得Aa/AB1=B1b/B1C=ac/ab=t成立的第三连续点c,就可以得到一条二次贝塞尔曲线,也即第一初始路径。正由于使得Aa/AB1=B1b/B1C=ac/ab=t成立的第三连续点c一定位于第一初始路径上,因此,初始路径上的点B的位置,实际上为其中的一个第三连续点c对应的位置。
显然,图4中示出的初始路径上还包括其他几个目标点,并且实际上初始路径中可以划分为多段路径,其中第一目标点A、点B以及第三目标点C确定了其中一段路径。并且,需要说明的是,其中第二目标点B1并不会出现在初始路径中,第二目标点B1是用来确定点A、B、C之间这一段路径的。而与之相连的下一段路径,是以第三目标点C为起点确定的,也即根据第三目标点C、点D以及第五目标点E确定了下一段路径。并且,需要说明的是,其中实际上第四目标点并不会出现在初始路径中,第四目标点是用来确定点C、D、E之间这一段路径的。因此,实际上可以理解为,初始路径由每三个目标点确定的多段路径拼接而成,并且两段相邻的路径中,前一条路径的终点为下一条路径的起点,当存在多个目标点时,可以确定出一条更加复杂的初始路径。
那么,本实施例中,以与第一初始路径连接的第二初始路径的确定过程为例,详细说明相邻的两段路径的确定过程。
首先,多个目标点,还可以包括:第四目标点以及第五目标点。其中,初始路径,还可以包括:第二初始路径。在得到第一初始路径之后,可以确定沿所述第三目标点与所述第四目标点之间的连线上,由所述第三目标点指向所述第四目标点根据所述预设参数移动的第四连续点;确定沿所述第四目标点与所述第五目标点之间的连线上,由所述第四目标点指向所述第五目标点根据所述预设参数移动的第五连续点;根据沿所述第四连续点与所述第五连续点之间的连线上,由所述第四连续点指向所述第五连续点根据所述预设参数移动的第六连续点,以及所述第三目标点和所述第五目标点,基于二次贝塞尔曲线描述得到所述第二初始路径;拼接所述第一初始路径和所述第二初始路径以得到所述初始路径。
图6示出了根据本申请实施例的第二初始路径的示例性示意图。
具体地,参考图6,以根据第三目标点C、第四目标点D1以及第五目标点E确定的第二初始路径为例,详细说明第二初始路径的生成方式。在第二初始路径的生成过程中,其中点C和点E分别为预先设置的第三目标点和第五目标点,点D1为第四目标点,但第四目标点实际上并不是第二初始路径上的点,而是用于生成第二初始路径的点之一。首先,可以连接第三目标点C与第四目标点D1,确定二者之间的连线,也即线段CD1,在线段CD1上可以找出一个连续变化的点,例如第四连续点d,也即第四连续点d是沿着线段CD1由第三目标点C指向第四目标点D1的方向上的连续点,在线段CD1上,可以将线段CD1所在直线的直线方程作为第四连续点d的移动轨迹方程。其中,第四连续点d的变化参数可以为预设参数,例如参数t。
进一步地,可以连接第四目标点D1与第五目标点E,确定二者之间的连线,也即线段D1E,在线段D1E上也可以找出一个连续变化的点,例如第五连续点e,也即第五连续点e是沿着线段D1E由第四目标点D1指向第五目标点E的方向上的连续点,在线段D1E上,可以将线段D1E所在直线的直线方程作为第五连续点e的移动轨迹方程。其中,第五连续点e的变化参数也可以为预设参数,例如参数t。
需要说明的是,参数t可以根据线段CD1、变化线段Cd、线段D1E以及变化线段D1e来确定,具体地,Cd/CD1=D1e/D1E=t,并且t的取值范围为[0,1]即可。
再进一步地,可以连接第四连续点d与第五连续点e,确定二者之间的连线,也即线段de,在线段de上也可以找出一个连续变化的点,例如第六连续点f,也即第六连续点f是沿着线段de由第四连续点d指向第五连续点e的方向上的连续点,在线段de上,可以将线段de所在直线的直线方程作为第六连续点f的移动轨迹方程。其中,第六连续点f的变化参数也可以为预设参数,例如参数t。
需要说明的是,此时,参数t能够关联起每一条线段之间的关系,具体地,Cd/CD1=D1e/D1E=df/de=t。将t的值从0过渡到1,不断重复上面的步骤,计算出所有的第六连续点f,连接所有符合条件的第六连续点f,也即使得Cd/CD1=D1e/D1E=df/de=t成立的第六连续点f,就可以得到一条二次贝塞尔曲线,也即第二初始路径。正由于使得Cd/CD1=D1e/D1E=df/de=t成立的第六连续点f一定位于第二初始路径上,因此,初始路径上的点D的位置,实际上为其中的一个第六连续点f对应的位置。
再进一步地,在得到第一初始路径和第二初始路径后,由于第一初始路径的终点(也即第三目标点C)和第二初始路径的起点(也即第三目标点C)为同一个点,因此这两段初始路径能够拼接在一起,在同一平面内连接为一端完整的初始路径。如果需要生成更加复杂的初始路径,可以再根据二次贝塞尔曲线生成第三初始路径、第四初始路径……,从而将更多段连续的路径拼接起来得到更加复杂的初始路径。
因为要考虑最后得到的路径不能和策划配置路线偏差太大,会由第一目标点、第二目标点以及第三目标点三个点得到第一段平滑曲线,也即第一初始路径,再由第三目标点、第四目标点以及第五目标点得到第二段平滑曲线,也即第二初始路径,这样把多段曲线拼接起来。在整个路径中第一目标点A、第三目标点C以及第五目标点E点是策划人员预先配置的点,固定不进行二次贝塞尔曲线优化。同时,这些点在策划配置后,会根据显示出来的效果,手动进行修正、优化。
具体地,当在曲线确定后,可以通过检测两段相邻曲线之间的夹角来确定是否需要对曲线进行修正,也即通过检测第一初始路径和第二初始路径之间的夹角,来确定是否对着两端路径进行修正和优化。
在一些实施例中,可以过所述第三目标点作所述第一初始路径的第一切线,并过所述第三目标点作所述第二初始路径的第二切线;确定所述第一切线与第二切线之间的夹角是否超过预设夹角阈值;响应于所述第一切线与第二切线之间的夹角超过预设夹角阈值,则以目标颜色显示所述第一初始路径和所述第二初始路径;重新确定多个目标点,并根据重新确定的多个目标点重新确定所述第一初始路径和所述第二初始路径以使所述第一切线与第二切线之间的夹角小于或等于所述预设夹角阈值。
具体地,分别过第三目标点C做第一初始路径的第一切线,以及做第二初始路径的第二切线,通过将第一切线和第二切线做点乘计算,来确定两条切线之间的夹角大小。如果两条切线之间的夹角大小超过预设夹角阈值,例如90度,则可以以目标颜色显示第一初始路径和第二初始路径,例如将两段路径标为红色。由于夹角不符合要求,所以可以通过上述生成初始路径的实施例中的步骤,重新确定多个目标点,并根据重新确定的多个目标点来重新确定第一初始路径和第二初始路径,直至分别过第三目标点C做第一初始路径的第一切线,以及做第二初始路径的第二切线之间的夹角小于或等于预设夹角阈值,则得到修正优化后的初始路径。
在一些实施例中,当目标点不在一个平面,存在高度差,但是目标点之间的最大高度差小于预设高度差阈值(例如,预设高度差阈值可以是游戏场景中1单位即1CM),也就是说完整的初始路径不在同一平面内,那么则需要考虑到初始路径上的每个点的竖坐标,也即Z轴坐标。当所述最大高度差不为零时,则可以确定所述最大高度差是否超过预设高度差阈值;当所述最大高度差未超过预设高度差阈值时,则可以确定沿所述第一目标点与所述第二目标点之间的第一连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点,并确定所述第一目标点与所述第一连续点之间的第二连线;可以确定沿所述第二目标点与所述第三目标点之间的第三连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点,并确定所述第二目标点与所述第二连续点之间的第四连线;在所述第一目标点、所述第二目标点和所述第三目标点所在的平面内,可以根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到所述第一初始路径;其中,所述第三连续点的横坐标和纵坐标根据所述第一初始路径对应的曲线表达式确定,所述第三连续点的竖坐标根据所述第一目标点的竖坐标、所述第二目标点的竖坐标、所述第三目标点的竖坐标、所述第一连线与所述第二连线之间的比例关系以及所述第三连线与所述第四连线之间的比例关系确定。
针对于目标点之间的最大高度差小于预设高度差阈值的场景,对于每个目标点以及初始路径上的每个点的横坐标以及纵坐标,也即X坐标以及Y坐标,依然可以通过二次贝塞尔曲线求得的初始路径来确定。
在该实施例中,参考图4,可以包括多个预先设置的目标点,例如第一目标点A、第三目标点C以及第五目标点E,其中点B和点D为初始路径上的一个点。此时全部目标点并不位于同一平面,当然,如果只有三个目标点,则每个目标点的确处于同一平面,当一条完整的初始路径可以通过多于三个目标点来确定,则此场景下所有的目标点不全部位于同一平面。
具体地,参考图5,以根据第一目标点A、第二目标点B1以及第三目标点C确定的第一初始路径为例,详细说明第一初始路径的生成方式,需要说明的是,根据二次贝塞尔曲线来生成初始路径时,可以根据每三个相邻的目标点来确定一段初始路径,在确定出每一段初始路径后,拼接每一段初始路径,进而可以得到完整的初始路径。
在第一初始路径的生成过程中,需要三个点来确定第一初始路径,那么由于空间中的三个点一定位于同一平面,因此可以将每三个点确定的路径的过程,看作与前述实施例中,生成同一平面中的第一初始路径的场景。
具体地,其中点A和点C分别为预先设置的第一目标点和第三目标点,点B1为第二目标点,但第二目标点实际上并不是第一初始路径上的点,而是用于生成第一初始路径的点之一。首先,可以连接第一目标点A与第二目标点B1,确定二者之间的连线,也即线段AB1,在线段AB1上可以找出一个连续变化的点,例如第一连续点a,也即第一连续点a是沿着线段AB1由第一目标点A指向第二目标点B1的方向上的连续点,在线段AB1上,可以将线段AB1所在直线的直线方程作为第一连续点a的移动轨迹方程。其中,第一连续点a的变化参数可以为预设参数,例如参数t。其中,第一目标点A、第二目标点B1以及第三目标点C的三维坐标都是确定的,根据两点之间的直线方程也可以求得第一连续点a的坐标表达式,也即线段AB1所在直线对应的直线方程表达式。
进一步地,可以连接第二目标点B1与第三目标点C,确定二者之间的连线,也即线段B1C,在线段B1C上也可以找出一个连续变化的点,例如第二连续点b,也即第二连续点b是沿着线段B1C由第二目标点B1指向第三目标点C的方向上的连续点,在线段B1C上,可以将线段B1C所在直线的直线方程作为第二连续点b的移动轨迹方程。其中,第二连续点b的变化参数也可以为预设参数,例如参数t。其中,根据两点之间的直线方程也可以求得第二连续点b的坐标表达式,也即线段B1C所在直线对应的直线方程表达式。
需要说明的是,参数t可以根据线段AB1、变化线段Aa、线段B1C以及变化线段B1b来确定,具体地,Aa/AB1=B1b/B1C=t,并且t的取值范围为[0,1]即可。
再进一步地,可以连接第一连续点a与第二连续点b,确定二者之间的连线,也即线段ab,在线段ab上也可以找出一个连续变化的点,例如第三连续点c,也即第三连续点c是沿着线段ab由第一连续点a指向第二连续点b的方向上的连续点,在线段ab上,可以将线段ab所在直线的直线方程作为第三连续点c的移动轨迹方程。其中,第三连续点c的变化参数也可以为预设参数,例如参数t。其中,根据两点之间的直线方程也可以求得第三连续点c的横纵坐标表达式,也即根据线段ab所在直线对应的直线方程表达式求得第三连续点c的横纵坐标。
需要说明的是,此时,参数t能够关联起每一条线段之间的关系,具体地,Aa/AB1=B1b/B1C=ac/ab=t。将t的值从0过渡到1,不断重复上面的步骤,计算出所有的第三连续点c,连接所有符合条件的第三连续点c,也即使得Aa/AB1=B1b/B1C=ac/ab=t成立的第三连续点c,就可以得到一条二次贝塞尔曲线,也即第一初始路径。正由于使得Aa/AB1=B1b/B1C=ac/ab=t成立的第三连续点c一定位于第一初始路径上,因此,初始路径上的点B的位置,实际上为其中的一个第三连续点c对应的位置。
那么,上述实施例中求得了第三连续点c的横纵坐标,进一步地,需要求得第三连续点c的竖坐标,才能够确定第三连续点c,也即确定初始路径上点B的具体坐标位置。具体地,参考图5,B点竖坐标可以通过下式求得
B(z)=(B1(z)-A(z))*(Aa/AB1)+(C(z)-B1(z))*(B1b/B1C)
其中,B(z)表示B点竖坐标,B1(z)表示B1点竖坐标,A(z)表示A点竖坐标,C(z)表示C点竖坐标。
显然,图4中示出的初始路径上还包括其他几个目标点,并且实际上初始路径中可以划分为多段路径,其中第一目标点A、点B以及第三目标点C确定了其中一段路径,并且,需要说明的是,其中第二目标点B1并不会出现在初始路径中,第二目标点B1是用来确定点A、B、C之间这一段路径的。而与之相连的下一段路径,是以第三目标点C为起点确定的,也即根据第三目标点C、点D以及第五目标点E确定了下一段路径。并且,需要说明的是,其中实际上第四目标点D1并不会出现在初始路径中,第四目标点D1是用来确定点C、D、E之间这一段路径的。因此,实际上可以理解为,初始路径由每三个目标点确定的多段路径拼接而成,并且两段相邻的路径中,前一条路径的终点为下一条路径的起点,当存在多个目标点时,可以确定出一条更加复杂的初始路径。
那么,本实施例中,以与第一初始路径连接的第二初始路径的确定过程为例,详细说明相邻的两段路径的确定过程。
首先,多个目标点,还可以包括:第四目标点以及第五目标点。其中,初始路径,还可以包括:第二初始路径。在得到第一初始路径之后,可以确定沿所述第三目标点与所述第四目标点之间的连线上,由所述第三目标点指向所述第四目标点根据所述预设参数移动的第四连续点;确定沿所述第四目标点与所述第五目标点之间的连线上,由所述第四目标点指向所述第五目标点根据所述预设参数移动的第五连续点;根据沿所述第四连续点与所述第五连续点之间的连线上,由所述第四连续点指向所述第五连续点根据所述预设参数移动的第六连续点,以及所述第三目标点和所述第五目标点,基于二次贝塞尔曲线描述得到所述第二初始路径;拼接所述第一初始路径和所述第二初始路径以得到所述初始路径。
具体地,参考图6,以根据第三目标点C、第四目标点D1以及第五目标点E确定的第二初始路径为例,详细说明第二初始路径的生成方式。在第二初始路径的生成过程中,其中点C和点E分别为预先设置的第三目标点和第五目标点,点D1为第四目标点,但第四目标点实际上并不是第二初始路径上的点,而是用于生成第二初始路径的点之一。首先,可以连接第三目标点C与第四目标点D1,确定二者之间的连线,也即线段CD1,在线段CD1上可以找出一个连续变化的点,例如第四连续点d,也即第四连续点d是沿着线段CD1由第三目标点C指向第四目标点D1的方向上的连续点,在线段CD1上,可以将线段CD1所在直线的直线方程作为第四连续点d的移动轨迹方程。其中,第四连续点d的变化参数可以为预设参数,例如参数t。
进一步地,可以连接第四目标点D1与第五目标点E,确定二者之间的连线,也即线段D1E,在线段D1E上也可以找出一个连续变化的点,例如第五连续点e,也即第五连续点e是沿着线段D1E由第四目标点D1指向第五目标点E的方向上的连续点,在线段D1E上,可以将线段D1E所在直线的直线方程作为第五连续点e的移动轨迹方程。其中,第五连续点e的变化参数也可以为预设参数,例如参数t。
需要说明的是,参数t可以根据线段CD1、变化线段Cd、线段D1E以及变化线段D1e来确定,具体地,Cd/CD1=D1e/D1E=t,并且t的取值范围为[0,1]即可。
再进一步地,可以连接第四连续点d与第五连续点e,确定二者之间的连线,也即线段de,在线段de上也可以找出一个连续变化的点,例如第六连续点f,也即第六连续点f是沿着线段de由第四连续点d指向第五连续点e的方向上的连续点,在线段de上,可以将线段de所在直线的直线方程作为第六连续点f的移动轨迹方程。其中,第六连续点f的变化参数也可以为预设参数,例如参数t。
需要说明的是,此时,参数t能够关联起每一条线段之间的关系,具体地,Cd/CD1=D1e/D1E=df/de=t。将t的值从0过渡到1,不断重复上面的步骤,计算出所有的第六连续点f,连接所有符合条件的第六连续点f,也即使得Cd/CD1=D1e/D1E=df/de=t成立的第六连续点f,就可以得到一条二次贝塞尔曲线,也即第二初始路径。正由于使得Cd/CD1=D1e/D1E=df/de=t成立的第六连续点f一定位于第二初始路径上,因此,初始路径上的点D的位置,实际上为其中的一个第六连续点f对应的位置。
那么,上述实施例中求得了第六连续点f的横纵坐标,进一步地,需要求得第六连续点f的竖坐标,才能够确定第六连续点f,也即确定初始路径上点D的具体坐标位置。具体地,参考图6,D点竖坐标可以通过下式求得
D(z)=(D1(z)-C(z))*(Cd/CD1)+(E(z)-D1(z))*(D1e/D1E)
其中,D(z)表示D点竖坐标,D1(z)表示D1点竖坐标,E(z)表示E点竖坐标。
再进一步地,在得到第一初始路径和第二初始路径后,由于第一初始路径的终点(也即第三目标点C)和第二初始路径的起点(也即第三目标点C)为同一个点,因此这两段初始路径能够拼接在一起,在同一平面内连接为一端完整的初始路径。如果需要生成更加复杂的初始路径,可以再根据二次贝塞尔曲线生成第三初始路径、第四初始路径……,从而将更多段连续的路径拼接起来得到更加复杂的初始路径。
因为要考虑最后得到的路径不能和策划配置路线偏差太大,会由第一目标点、第二目标点以及第三目标点三个点得到第一段平滑曲线,也即第一初始路径,再由第三目标点、第四目标点以及第五目标点得到第二段平滑曲线,也即第二初始路径,这样把多段曲线拼接起来。在整个路径中第一目标点A、第三目标点C以及第五目标点E点是策划人员预先配置的点,固定不进行二次贝塞尔曲线优化。同时,这些点在策划配置后,会根据显示出来的效果,手动进行修正、优化。
具体地,当在曲线确定后,可以通过检测两段相邻曲线之间的夹角来确定是否需要对曲线进行修正,也即通过检测第一初始路径和第二初始路径之间的夹角,来确定是否对着两端路径进行修正和优化。
在一些实施例中,可以过所述第三目标点作所述第一初始路径的第一切线,并过所述第三目标点作所述第二初始路径的第二切线;确定所述第一切线与第二切线之间的夹角是否超过预设夹角阈值;响应于所述第一切线与第二切线之间的夹角超过预设夹角阈值,则以目标颜色显示所述第一初始路径和所述第二初始路径;重新确定多个目标点,并根据重新确定的多个目标点重新确定所述第一初始路径和所述第二初始路径以使所述第一切线与第二切线之间的夹角小于或等于所述预设夹角阈值。
具体地,分别过第三目标点C做第一初始路径的第一切线,以及做第二初始路径的第二切线,通过将第一切线和第二切线做点乘计算,来确定两条切线之间的夹角大小。如果两条切线之间的夹角大小超过预设夹角阈值,例如90度,则可以以目标颜色显示第一初始路径和第二初始路径,例如将两段路径标为红色。由于夹角不符合要求,所以可以通过上述生成初始路径的实施例中的步骤,重新确定多个目标点,并根据重新确定的多个目标点来重新确定第一初始路径和第二初始路径,直至分别过第三目标点C做第一初始路径的第一切线,以及做第二初始路径的第二切线之间的夹角小于或等于预设夹角阈值,则得到修正优化后的初始路径。
在一些实施例中,当最大高度差超过预设高度差阈值时,可以确定第一目标点、第二目标点、第三目标点以及第四目标点的三维坐标,从而根据第一目标点的三维坐标和第二目标点的三维坐标确定第一目标点对应的第一切向量,并根据第三目标点的三维坐标和第四目标点的三维坐标确定第四目标点对应的第二切向量。进而,根据第一目标点的三维坐标、第四目标点的三维坐标、第一切向量、第二切向量、预先获取到的调和函数以及修整平滑因子确定初始路径。
在本实施例中,第一目标点、第二目标点、第三目标点以及第四目标点可以通过上述实施例中所出现的第一目标点A、第二目标点B1、第三目标点C以及第四目标点D1来表示,还可以利用如图4中每四个相邻的点来表示。也就是说,本实施例中需要四个点,这四个点可以是目标点,也可以是预先通过二次贝塞尔曲线确定出的曲线中的点,还可以是任意四个预先设定的点。
图7示出了根据本申请实施例的根据预先设定的不处于同一平面四个点确定初始路径的示例性示意图。
参考图7,其中存在四个预先设定的点W、X、Y、Z,其中可以以W和Z两点作为端点,进而可以根据W点和X点来确定最终得到的曲线的第一切向量,并可以根据Y点和Z点来确定最终得到的曲线的第二切向量,将W、X、Y、Z点分别用P0、P1、P2、P3四个参数来表征,则第一切向量可以表示为
R0=(P1-P0)
第二切向量则可以表示为
R1=(P3-P2)
其中,预先获取到的调和函数可以表示为
F1(t)=2t3-3t2+1
F2(t)=-2t3+3t2
F3(t)=t3-2t2+t
F4(t)=t3-t2
最终可以通过W、X、Y、Z点、调和函数以及修正平滑因子(也即smoothFactor)来确定最终得到的曲线上的一点,进而根据两个端点W和Z以及曲线上的一点确定出最终的曲线。其中,曲线上的一点可以表示为
图8示出了根据本申请实施例的根据预设曲线确定的初始路径的示例性示意图。
在一些实施例中,参考图8,对于初始路径的生成,还可以根据预先设置所述初始路径的初始位置以及所述初始路径的路径长度,并根据预先设定的曲线方程、所述初始位置以及所述路径长度来确定。例如,曲线方程可以为y=x2/10,路径长度可以为50个单位,也即50CM。
图9示出了根据本申请实施例的根据视频动作捕捉软件捕捉后的初始路径的示例性示意图。
进一步地,参考图9,还可以根据视频动作捕捉软件,实时捕捉现实生活中的鱼的游动轨迹,从而根据实际生活中鱼的游动轨迹来生成虚拟场景中的初始路径。具体地,可以利用视频动作捕捉软件实时捕捉现实场景中的目标对象的运动信息,进而确定与目标对象对应的虚拟模型的模型朝向。然后,可以根据模型朝向以虚拟模型模拟目标对象的运动,进而确定虚拟模型的尺寸变化量。进一步地,可以根据虚拟模型的尺寸变化量确定目标对象的深度信息,并根据深度信息确定目标对象的移动轨迹。再进一步地,可以根据目标对象的移动轨迹确定初始路径。例如,将鱼模型化,模型简单区分鱼头、鱼尾,模型整体大小,然后根据模型中心点的移动轨迹,确定鱼的单路径,鱼头、鱼尾确实鱼的朝向,同时根据移动过程中模型的大小变化,确实鱼的深度变化。
其中,可以将虚拟模型简化为一个矩形框,通过矩形的长宽来确定目标对象的实际深度。例如其中,Z可以表示当前深度,Z0可以表示初始深度,H可以表示当前虚拟模型的高度,W可以表示当前虚拟模型的宽度,H0可以表示虚拟模型的初始高度,W0可以表示虚拟模型的初始宽度。
图10示出了根据本申请实施例的一种离散后的目标路径的示例性示意图。
在一些实施例中,为了能够根据初始路径快速且便捷地得到多条不同的路径,可以对初始路径配置目标偏移量以对初始路径进行离散,从而得到离散路径。具体地,参考图10,可以对初始路径整体进行偏移离散,生成多条不一样的离散路径,从而形成不同类型的目标模型分别对应的目标路径。例如,获取在目标方向上的预设偏移量以确定所述目标偏移量;对所述初始路径配置所述目标偏移量以在所述目标方向上对所述初始路径进行离散,以得到离散路径。其中,目标方向可以为Y轴方向,使得得到的离散路径沿Y轴方向依次间隔,但每条路径的形态走势相同。当然,目标方向还可以为其他任意方向,例如X轴方向或Z轴方向,以及其他与坐标轴之间的夹角为任意角度的方向。
图11示出了根据本申请实施例的另一种离散后的目标路径的示例性示意图。
在另一些实施例中,参考图11,还可以对初始路径中的目标点分别进行偏移,例如对初始路径先进行整体偏移,再对路径中的目标点进行随机数的偏移,进一步地通过二次贝塞尔曲线,使偏移后的路径平滑,得到多条不同的离散路径。例如,对路径1进行整体偏移,进而得到路径2,再对路径2中的J点、K点以及L点分别进行横坐标和纵坐标上的偏移,通过二次贝塞尔曲线使得偏移后的路径平滑,得到了新的路径。当然,对于路径2而言,可以挑选其他在曲线上的点进行横坐标和纵坐标上的偏移,也可以单独进行横坐标或纵坐标上的偏移,再通过二次贝塞尔曲线使得偏移后的路径平滑,得到了新的路径,还可以沿其他与坐标轴之间的夹角为任意度数的其他方向进行偏移,计算方式在此不做具体限定,可以根据例如两点之间距离公式来确定曲线上任意一点在进行偏移后的位置。
具体地,可以获取在目标方向上的预设偏移量以确定目标偏移量,进而对初始路径配置目标偏移量以在目标方向上对初始路径进行离散,进而可以得到初始离散路径,其中,目标方向可以为例如X、Y、Z任意一轴对应方向。再进一步地,可以确定离散后的初始离散路径上的多个离散目标点,其中,多个离散目标点,至少包括:第一离散目标点、第二离散目标点以及第三离散目标点。
然后,可以以随机数作为倍数叠加至第二离散目标点的横坐标值和纵坐标值以得到偏移后的第二离散目标点,以及偏移后的第二离散目标点对应的坐标值。进一步地,可以确定由第一离散目标点指向偏移后的第二离散目标点的第一离散连续点,进而可以确定由偏移后的第二离散目标点指向第三离散目标点的第二离散连续点。
再进一步地,可以根据由第一离散连续点指向第二离散连续点的第三离散连续点基于二次贝塞尔曲线描述得到离散路径。具体基于二次贝塞尔曲线进行描述的方式与上述确定初始路径过程中的原理相同,在此不做赘述。
图12示出了根据本申请实施例的鱼模型的示例性示意图。
参考图12,对于每一个目标模型集群中的每一个目标模型而言,都配置有对应的模型实体以及对应的目标路径。其中,可以根据预先配置的美术资源生成多个不同类型的目标模型,例如A类型的鱼模型以及B类型的鱼模型,每个鱼模型可以自定义配置,例如大小、颜色、模型种类等参数。
进一步地,可以将初始路径和离散路径中的任意一条路径作为目标路径,并将目标路径配置至目标模型集群中的各目标模型,从而使得各目标模型能够沿目标路径移动。例如,将初始路径A配置到A类型的鱼模型,使得场景中出现的全部A类型的鱼模型都能够沿着初始路径A进行移动,避免对每个A类型的鱼模型分别配置路径,大大减少了时间以及系统资源成本。
图13示出了根据本申请实施例的同类型的鱼模型沿目标路径游动的示例性示意图。
参考图13,对于其中一个目标模型集群而言,例如可以包括10条同一类型的鱼模型,那么鱼模型不能够凭空出现在目标路径的不同位置,为了提升用户的观感以及真实性,可以将10条鱼模型依次根据预设的时间间隔放置在目标路径的起点,当第一条鱼模型沿目标路径游动一定距离后,在目标路径的起点再放置第二条鱼模型,以此类推,使得10条同一类型的鱼模型能够自然地出现在虚拟游戏运行场景中,并且能够沿目标路径进行游动。
具体地,可以将目标模型集群中的第一目标模型配置于目标路径的起点位置,并在起点位置显示第一目标模型,其中,第一目标模型为目标模型集群中的任意一个目标模型,例如第一条A类型的鱼模型A1。进一步地,可以控制第一目标模型沿目标路径移动,然后确定第一目标模型移动时间是否达到预设时间间隔。如果第一目标模型移动时间达到预设时间间隔,例如3s,则将目标模型集群中的第二目标模型配置于目标路径的起点位置,并在起点位置显示第二目标模型,其中,第二目标模型为目标模型集群中除第一目标模型以外的任意一个目标模型,例如第二条A类型的鱼模型A2。再进一步地,可以控制第二目标模型沿目标路径移动。以此类推,使得目标模型集群中的每个目标模型能够依次出现在目标路径的起始位置,并且沿目标路径进行游动。
图14示出了根据本申请实施例的不同类型的鱼模型沿目标路径游动的示例性示意图。
当然,参考图14,对于多个不同类型的鱼模型而言,可以分别配置离散后的目标路径,使得多个不同类型的鱼模型同时出现在场景中,并且每个类型的鱼模型对应的游动轨迹,也即目标路径不同。例如,图14中的鱼1、鱼2、鱼3分别为三种不同类型的鱼模型,则分别配置了不同的目标路径供其游动,从而实现游动路径的多样化。
图15示出了根据本申请实施例的虚拟场景的示例性示意图。
在一些实施例中,参考图15可以通过终端设备来提供图形用户界面,图形用户界面中展示有目标虚拟角色(例如图15中的虚拟角色G)以及游戏运行场景,游戏运行场景中包括虚拟对象,例如图15中的水草M。进而当目标虚拟角色触发动态模型生成事件时,在游戏运行场景中的目标位置配置动态目标模型,实现例如鱼群或鱼阵的自然出现,例如图15中方框内的鱼群或鱼阵。
其中,动态模型生成事件根据策划需求,目前有如下动态模型生成事件:玩家到达某个地点(进入碰撞盒子)触发、玩家破坏场景上物件(如岩石、水草)、每天固定时间等。
进一步地,碰撞盒子是策划在场景配置的碰撞物体,当玩家进入后,触发鱼群、鱼阵出现。鱼群出现,是更加自然出现,会从岩石、水草等以预设的轨迹游动,出现在玩家视角当中。具体地,当确定目标虚拟角色在游戏运行场景中进入预先设置的触发区域,例如游戏运行场景中某一个区域范围内时,则可以确定目标虚拟角色在游戏运行场景中触发动态模型生成事件。进而,可以确定用于控制目标虚拟角色的终端在游戏运行场景中的观察视角以及以观察视角所观察到的至少部分游戏运行场景,例如可以以玩家的第一视角或第三视角来确定观察视角,并根据观察视角确定能够显示在玩家终端上的游戏运行场景部分。从而,可以在至少部分游戏运行场景中的任意虚拟对象所对应的目标位置配置目标路径,显示并控制目标模型集群中的各目标模型按预设的时间间隔依次沿目标路径运动,例如在图15中的水草M的对应位置,例如水草M的顶部,配置并显示动态目标模型,也即图15方框内的鱼群或鱼阵。
在另一些场景中,场景中,策划配置可破坏的物件,当玩家对物件进行攻击,打破物件后,触发鱼群出现事件。例如,在虚拟场景中可以设置有瓶子或罐子,当玩家控制的目标虚拟角色通过执行攻击交互事件,使游戏运行场景中的瓶子或罐子被破坏时,则可以触发动态模型生成事件。
具体地,当确定目标虚拟角色对游戏运行场景中的目标虚拟对象执行相应的交互事件,例如对图15中的水草M进行执行攻击交互时间,则可以确定目标虚拟角色在游戏运行场景中触发动态模型生成事件。进而,可以确定用于控制目标虚拟角色的终端在游戏运行场景中的观察视角以及以观察视角所观察到的至少部分游戏运行场景,例如可以以玩家的第一视角或第三视角来确定观察视角,并根据观察视角确定能够显示在玩家终端上的游戏运行场景部分。从而,可以在至少部分游戏运行场景中的任意虚拟对象所对应的目标位置配置目标路径,显示并控制目标模型集群中的各目标模型按预设的时间间隔依次沿目标路径运动,例如在图15中的水草M的对应位置,例如水草M的顶部,为目标模型配置目标路径,显示并控制目标模型集群中的各目标模型按预设的时间间隔依次沿目标路径运动,也即图15方框内的鱼群或鱼阵。
例如,交互事件,还可以包括:第一交互事件。当确定目标虚拟角色对游戏运行场景中的目标虚拟对象执行第一交互事件以改变目标虚拟对象的模型形态,例如对图15中的水草M进行攻击使其当前的形态发生了改变时,则可以确定目标虚拟角色在游戏运行场景中触发动态模型生成事件。
再进一步地,交互事件,包括:第二交互事件;所述目标虚拟对象,包括:能量值;其中,能量值可以为目标虚拟对象的血量值。例如图15中的水草M,可以具有能量值,或者是血量值,当玩家控制的目标虚拟角色对其进行攻击时,每次攻击将会降低水草M的血量值,一旦将水草M的血量值降至0,则触发鱼群出现事件。
具体地,当确定目标虚拟角色对游戏运行场景中的目标虚拟对象执行第二交互事件,以将目标虚拟对象的能量值变化至预设能量值,例如将图15中的水草M的能量值降低至0时,则可以确定目标虚拟角色在游戏运行场景中触发动态模型生成事件。例如,当目标虚拟角色对目标虚拟对象执行攻击动作,并将目标虚拟对象的血量值变化为0时,可以触发动态模型生成事件,从而在游戏运行场景中的目标位置,例如水中的水草或岩石处为目标模型配置目标路径,显示并控制目标模型集群中的各目标模型按预设的时间间隔依次沿目标路径运动,实现例如鱼群或鱼阵的配置。
从上面所述可以看出,本申请提供的一种动态模型配置方法、终端设备、装置及存储介质,在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;其中,所述目标路径为所述初始路径和/或所述离散路径。本申请的方案通过对初始路径的离散,得到了不同的离散路径,无需单独配置每一条路径,利用同一条路径离散量的结构及其相互关系,达到多样性,使同一条路径数据可灵活展现出不同的路径,使得路径的丰富性得到提高的同时,减轻了数据量对系统资源的压力。由于每条路径之前存在相互关系,使得配置工作量减轻,并且提高了代码维护性以及代码可读性,提升了动态模型的表现效果。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种终端设备,所述终端设备中存储有目标游戏对应的模型集群数据,所述终端设备用于:
运行在所述目标游戏,呈现所述目标游戏对应的游戏运行场景;
响应于目标虚拟角色在所述游戏运行场景中触发目标事件,从所述目标游戏的游戏服务器获取与所述目标事件对应目标模型集群标识;
基于所述目标模型集群标识,从所述模型集群数据中确定与所述目标事件对应目标模型集群和目标配置数据,其中,所述目标配置数据包括目标路径,所述目标路径基于预设曲线方程和多个目标点生成,和/或基于预设曲线方程、多个目标点以及预先配置的目标偏移量生成;
基于所述目标配置数据和所述模型集群,在所述游戏运行场景中配置所述目标路径并控制所述目标模型集群中的各目标模型按指定时间参数沿所述目标路径运动。
在一些实施例中,终端设备可以用于运行游戏的客户端,终端设备可以被管理器所管理,该管理器可以使用单例模式,统一对游戏中的数据进行管理,例如模型数据、路径数据以及触发事件对应的触发条件等数据,并且整个游戏使用同一份数据,跟游戏服务器的数据保持同步更新。并且,触发事件可以注册并监听玩家的操作事件,例如接收到玩家的某一个事件通知,可以根据触发条件判断是否触发了目标事件。
其中,游戏服务器可以仅保存数据KEY等重要数据,例如目标标识,该目标标识还可以为例如目标模型或目标模型集群对应的ID。终端设备可以保存所有完整数据,也可以由游戏服务器进行管理,例如当游戏服务器下发数据KEY过来时。终端设备根据游戏服务器发过来的数据KEY,获取配置完整数据。
当然,可以拓展其功能,游戏服务器能把一份完整数据同步给终端设备,终端设备把数据存储在本地,同时第三方(例如直播通知、web活动等)也通过接口通知游戏服务器,由游戏服务器作为数据管理中心通知终端设备,这样对接入第三方具有可扩展性。由于终端设备和游戏服务器只需要传送目标标识,而目标模型、目标路径、触发事件的触发条件以及目标模型的实体Entity数据等实际的数据配置在终端设备本地,减少了游戏服务器和终端设备的消息传递数量,减少了游戏服务器的负载量,提高了游戏服务器的吞吐量。
其中,管理器可以对外提供获取这些实际数据的数据接口,通过接口可以传入目标标识,同时对外提供了设置其中部分实际数据的数据接口,例如某个“鱼群”、“鱼阵”数据的接口,参数为终端设备自己约定好的目标标识。游戏服务器只做保存功能不修改数据,终端设备自己处理和使用该数据。
图16示出了本申请实施例所提供的一种动态模型配置装置的示例性结构示意图。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种动态模型配置装置。
参考图16,所述动态模型配置装置,所述装置包括:接收模块、生成模块、离散模块、以及配置模块;其中,
接收模块,被配置为在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;
生成模块,被配置为基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;
离散模块,被配置为根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;
配置模块,被配置为将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;
其中,所述目标路径为所述初始路径和/或所述离散路径。
在一种可能的实现方式中,所述多个目标点,至少包括:第一目标点、第二目标点以及第三目标点;所述初始路径,至少包括:第一初始路径;
所述生成模块进一步被配置为:
确定预先设置的多个目标点所在的不同平面之间的最大高度差是否为零;
响应于所述最大高度差为零,则确定沿所述第一目标点与所述第二目标点之间的连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点;
确定沿所述第二目标点与所述第三目标点之间的连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点;
根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径。
在一种可能的实现方式中,所述多个目标点,还包括:第四目标点以及第五目标点;所述初始路径,还包括:第二初始路径;
所述生成模块进一步被配置为:
确定沿所述第三目标点与所述第四目标点之间的连线上,由所述第三目标点指向所述第四目标点根据所述预设参数移动的第四连续点;
确定沿所述第四目标点与所述第五目标点之间的连线上,由所述第四目标点指向所述第五目标点根据所述预设参数移动的第五连续点;
根据沿所述第四连续点与所述第五连续点之间的连线上,由所述第四连续点指向所述第五连续点根据所述预设参数移动的第六连续点,以及所述第三目标点和所述第五目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第二初始路径;
拼接所述第一初始路径和所述第二初始路径以得到针对目标模型集群的所述初始路径。
在一种可能的实现方式中,所述装置,还包括:路径调整模块;
所述路径调整模块被配置为:
过所述第三目标点作所述第一初始路径的第一切线,并过所述第三目标点作所述第二初始路径的第二切线;
确定所述第一切线与所述第二切线之间的夹角是否超过预设夹角阈值;
响应于所述第一切线与所述第二切线之间的夹角超过预设夹角阈值,则以目标颜色显示所述第一初始路径和所述第二初始路径;
重新确定多个目标点,并根据重新确定的多个目标点重新确定所述第一初始路径和所述第二初始路径,以使所述第一切线与所述第二切线之间的夹角小于或等于所述预设夹角阈值。
在一种可能的实现方式中,所述生成模块进一步被配置为:
响应于所述最大高度差不为零,则确定所述最大高度差是否超过预设高度差阈值;
响应于所述最大高度差未超过预设高度差阈值,则确定沿所述第一目标点与所述第二目标点之间的第一连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点,并确定所述第一目标点与所述第一连续点之间的第二连线;
确定沿所述第二目标点与所述第三目标点之间的第三连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点,并确定所述第二目标点与所述第二连续点之间的第四连线;
在所述第一目标点、所述第二目标点和所述第三目标点所在的平面内,根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径;其中,所述第三连续点的横坐标和纵坐标根据所述第一初始路径对应的曲线表达式确定,所述第三连续点的竖坐标根据所述第一目标点的竖坐标、所述第二目标点的竖坐标、所述第三目标点的竖坐标、所述第一连线与所述第二连线之间的比例关系以及所述第三连线与所述第四连线之间的比例关系确定。
在一种可能的实现方式中,所述多个目标点,还包括:第四目标点;
所述生成模块进一步被配置为:
响应于所述最大高度差超过预设高度差阈值,则确定所述第一目标点、所述第二目标点、所述第三目标点以及所述第四目标点的三维坐标;
根据所述第一目标点的三维坐标和所述第二目标点的三维坐标确定所述第一目标点对应的第一切向量,并根据所述第三目标点的三维坐标和所述第四目标点的三维坐标确定所述第四目标点对应的第二切向量;
根据所述第一目标点的三维坐标、所述第四目标点的三维坐标、所述第一切向量、所述第二切向量、预先获取到的调和函数以及修整平滑因子确定针对目标模型集群的所述初始路径。
在一种可能的实现方式中,所述生成模块进一步被配置为:
预先设置所述初始路径的初始位置以及所述初始路径的路径长度,并根据预先设定的曲线方程、所述初始位置以及所述路径长度生成所述初始路径。
在一种可能的实现方式中,所述生成模块进一步被配置为:
利用视频动作捕捉软件实时捕捉现实场景中的目标对象的运动信息;
确定与所述目标对象对应的虚拟模型的模型朝向;
根据所述模型朝向以所述虚拟模型模拟所述目标对象的运动,以确定所述虚拟模型的尺寸变化量;
根据所述虚拟模型的尺寸变化量确定所述目标对象的深度信息,并根据所述深度信息确定所述目标对象的移动轨迹;
根据所述目标对象的移动轨迹确定针对目标模型集群的所述初始路径。
在一种可能的实现方式中,所述离散模块进一步被配置为:
获取在目标方向上的预设偏移量以确定所述目标偏移量;
对所述初始路径配置所述目标偏移量以在所述目标方向上对所述初始路径进行离散,以得到离散路径。
在一种可能的实现方式中,所述离散模块进一步被配置为:
获取在目标方向上的预设偏移量以确定所述目标偏移量;
对所述初始路径配置所述目标偏移量以在所述目标方向上对所述初始路径进行离散,以得到初始离散路径;
确定离散后的所述初始离散路径上的多个离散目标点;所述多个离散目标点,至少包括:第一离散目标点、第二离散目标点以及第三离散目标点;
以随机数作为倍数叠加至所述第二离散目标点的横坐标值和纵坐标值以得到偏移后的第二离散目标点;
确定由所述第一离散目标点指向所述偏移后的第二离散目标点的第一离散连续点;
确定由所述偏移后的第二离散目标点指向所述第三离散目标点的第二离散连续点;
根据由所述第一离散连续点指向所述第二离散连续点的第三离散连续点基于二次贝塞尔曲线描述得到所述离散路径。
在一种可能的实现方式中,所述配置模块进一步被配置为:
根据预先配置的美术资源生成多个不同类型的目标模型;
所述将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,包括:
将所述初始路径和所述离散路径中的任意一条路径作为所述目标路径,并将所述目标路径和预先获取到的指定时间参数配置至所述目标模型集群中的各目标模型。
在一种可能的实现方式中,所述配置模块进一步被配置为:
将所述目标模型集群中的第一目标模型配置于所述目标路径的起点位置,并在所述起点位置显示所述第一目标模型;其中,所述第一目标模型为所述目标模型集群中的任意一个目标模型;
控制所述第一目标模型沿所述目标路径移动;
确定所述第一目标模型移动时间是否达到预设时间间隔;
响应于所述第一目标模型移动时间达到预设时间间隔,则将所述目标模型集群中的第二目标模型配置于所述目标路径的起点位置,并在所述起点位置显示所述第二目标模型;其中,所述第二目标模型为所述目标模型集群中除所述第一目标模型以外的任意一个目标模型;
控制所述第二目标模型沿所述目标路径移动。
在一种可能的实现方式中,所述配置模块进一步被配置为:
响应于目标虚拟角色在所述游戏运行场景中触发目标事件,确定所述目标事件在所述游戏运行场景中的触发区域;
在所述触发区域内的目标位置配置所述目标路径,显示并控制所述目标模型集群中的各目标模型按预设的时间间隔依次沿所述目标路径运动。
在一种可能的实现方式中,
所述配置模块进一步被配置为:
确定用于控制所述目标虚拟角色的终端在所述游戏运行场景中的观察视角以及以所述观察视角所观察到的至少部分游戏运行场景;
在所述至少部分游戏运行场景中的任意虚拟对象所对应的目标位置配置所述目标路径。
在一种可能的实现方式中,
所述配置模块进一步被配置为:
响应于所述目标虚拟角色进入所述游戏运行场景中的指定区域,确定所述目标虚拟角色触发所述目标事件;和/或
响应所述目标虚拟角色与所述游戏运行场景中的指定交互对象完成交互,确定所述目标虚拟角色触发所述目标事件。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的动态模型配置方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图17示出了本申请实施例所提供的一种终端设备的示例性结构示意图。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的动态模型配置方法。图17示出了本实施例所提供的一种更为具体的终端设备硬件结构示意图,该设备可以包括:处理器1710、存储器1720、输入/输出接口1730、通信接口1740和总线1750。其中处理器1710、存储器1720、输入/输出接口1730和通信接口1740通过总线1750实现彼此之间在设备内部的通信连接。
处理器1710可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1720可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1720可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1720中,并由处理器1710来调用执行。
输入/输出接口1730用于连接输入/输出模块,以实现信息输入及输出。输入/输出模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1740用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1750包括一通路,在设备的各个组件(例如处理器1710、存储器1720、输入/输出接口1730和通信接口1740)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1710、存储器1720、输入/输出接口1730、通信接口1740以及总线1750,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的终端设备用于实现前述任一实施例中相应的动态模型配置方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所述存储器1720存储有所述处理器1710可执行的机器可读指令,当终端设备运行时,所述处理器1710与所述存储器1720之间通过总线1730通信,使得所述处理器1710在运行时执行以下指令:
在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;
基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;
根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;
将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;
其中,所述目标路径为所述初始路径和/或所述离散路径。
一种可能的实施方式中,所述多个目标点,至少包括:第一目标点、第二目标点以及第三目标点;所述初始路径,至少包括:第一初始路径;
处理器1710执行的指令中,
所述基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径,包括:
确定预先设置的多个目标点所在的不同平面之间的最大高度差是否为零;
响应于所述最大高度差为零,则确定沿所述第一目标点与所述第二目标点之间的连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点;
确定沿所述第二目标点与所述第三目标点之间的连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点;
根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径。
一种可能的实施方式中,所述多个目标点,还包括:第四目标点以及第五目标点;所述初始路径,还包括:第二初始路径;
处理器1710执行的指令中,
所述根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径之后,还包括:
确定沿所述第三目标点与所述第四目标点之间的连线上,由所述第三目标点指向所述第四目标点根据所述预设参数移动的第四连续点;
确定沿所述第四目标点与所述第五目标点之间的连线上,由所述第四目标点指向所述第五目标点根据所述预设参数移动的第五连续点;
根据沿所述第四连续点与所述第五连续点之间的连线上,由所述第四连续点指向所述第五连续点根据所述预设参数移动的第六连续点,以及所述第三目标点和所述第五目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第二初始路径;
拼接所述第一初始路径和所述第二初始路径以得到针对目标模型集群的所述初始路径。
一种可能的实施方式中,处理器1710执行的指令中,
所述根据沿所述第四连续点与所述第五连续点之间的连线上,由所述第四连续点指向所述第五连续点根据所述预设参数移动的第六连续点,以及所述第三目标点和所述第五目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第二初始路径之后,还包括:
过所述第三目标点作所述第一初始路径的第一切线,并过所述第三目标点作所述第二初始路径的第二切线;
确定所述第一切线与所述第二切线之间的夹角是否超过预设夹角阈值;
响应于所述第一切线与所述第二切线之间的夹角超过预设夹角阈值,则以目标颜色显示所述第一初始路径和所述第二初始路径;
重新确定多个目标点,并根据重新确定的多个目标点重新确定所述第一初始路径和所述第二初始路径,以使所述第一切线与所述第二切线之间的夹角小于或等于所述预设夹角阈值。
一种可能的实施方式中,处理器1710执行的指令中,
所述确定预先设置的多个目标点所在的不同平面之间的最大高度差是否为零之后,还包括:
响应于所述最大高度差不为零,则确定所述最大高度差是否超过预设高度差阈值;
响应于所述最大高度差未超过预设高度差阈值,则确定沿所述第一目标点与所述第二目标点之间的第一连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点,并确定所述第一目标点与所述第一连续点之间的第二连线;
确定沿所述第二目标点与所述第三目标点之间的第三连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点,并确定所述第二目标点与所述第二连续点之间的第四连线;
在所述第一目标点、所述第二目标点和所述第三目标点所在的平面内,根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径;其中,所述第三连续点的横坐标和纵坐标根据所述第一初始路径对应的曲线表达式确定,所述第三连续点的竖坐标根据所述第一目标点的竖坐标、所述第二目标点的竖坐标、所述第三目标点的竖坐标、所述第一连线与所述第二连线之间的比例关系以及所述第三连线与所述第四连线之间的比例关系确定。
一种可能的实施方式中,所述多个目标点,还包括:第四目标点;
处理器1710执行的指令中,所述确定所述最大高度差是否超过预设高度差阈值之后,还包括:
响应于所述最大高度差超过预设高度差阈值,则确定所述第一目标点、所述第二目标点、所述第三目标点以及所述第四目标点的三维坐标;
根据所述第一目标点的三维坐标和所述第二目标点的三维坐标确定所述第一目标点对应的第一切向量,并根据所述第三目标点的三维坐标和所述第四目标点的三维坐标确定所述第四目标点对应的第二切向量;
根据所述第一目标点的三维坐标、所述第四目标点的三维坐标、所述第一切向量、所述第二切向量、预先获取到的调和函数以及修整平滑因子确定针对目标模型集群的所述初始路径。
一种可能的实施方式中,处理器1710执行的指令中,所述方法,还包括:
预先设置所述初始路径的初始位置以及所述初始路径的路径长度,并根据预先设定的曲线方程、所述初始位置以及所述路径长度生成针对目标模型集群的所述初始路径。
一种可能的实施方式中,处理器1710执行的指令中,所述方法,还包括:
利用视频动作捕捉软件实时捕捉现实场景中的目标对象的运动信息;
确定与所述目标对象对应的虚拟模型的模型朝向;
根据所述模型朝向以所述虚拟模型模拟所述目标对象的运动,以确定所述虚拟模型的尺寸变化量;
根据所述虚拟模型的尺寸变化量确定所述目标对象的深度信息,并根据所述深度信息确定所述目标对象的移动轨迹;
根据所述目标对象的移动轨迹确定针对目标模型集群的所述初始路径。
一种可能的实施方式中,处理器1710执行的指令中,
所述根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径,包括:
获取在目标方向上的预设偏移量以确定所述目标偏移量;
对所述初始路径配置所述目标偏移量以在所述目标方向上对所述初始路径进行离散,以得到离散路径。
一种可能的实施方式中,处理器1710执行的指令中,
所述根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径,包括:
获取在目标方向上的预设偏移量以确定所述目标偏移量;
对所述初始路径配置所述目标偏移量以在所述目标方向上对所述初始路径进行离散,以得到初始离散路径;
确定离散后的所述初始离散路径上的多个离散目标点;所述多个离散目标点,至少包括:第一离散目标点、第二离散目标点以及第三离散目标点;
以随机数作为倍数叠加至所述第二离散目标点的横坐标值和纵坐标值以得到偏移后的第二离散目标点;
确定由所述第一离散目标点指向所述偏移后的第二离散目标点的第一离散连续点;
确定由所述偏移后的第二离散目标点指向所述第三离散目标点的第二离散连续点;
根据由所述第一离散连续点指向所述第二离散连续点的第三离散连续点基于二次贝塞尔曲线描述得到所述离散路径。
一种可能的实施方式中,处理器1710执行的指令中,
所述将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型之前,还包括:
根据预先配置的美术资源生成多个不同类型的目标模型;
所述将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,包括:
将所述初始路径和所述离散路径中的任意一条路径作为所述目标路径,并将所述目标路径和预先获取到的指定时间参数配置至所述目标模型集群中的各目标模型。
一种可能的实施方式中,处理器1710执行的指令中,
所述将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,包括:
将所述目标模型集群中的第一目标模型配置于所述目标路径的起点位置,并在所述起点位置显示所述第一目标模型;其中,所述第一目标模型为所述目标模型集群中的任意一个目标模型;
控制所述第一目标模型沿所述目标路径移动;
确定所述第一目标模型移动时间是否达到预设时间间隔;
响应于所述第一目标模型移动时间达到预设时间间隔,则将所述目标模型集群中的第二目标模型配置于所述目标路径的起点位置,并在所述起点位置显示所述第二目标模型;其中,所述第二目标模型为所述目标模型集群中除所述第一目标模型以外的任意一个目标模型;
控制所述第二目标模型沿所述目标路径移动。
一种可能的实施方式中,
处理器1710执行的指令中,
所述在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动的步骤,包括:
响应于目标虚拟角色在所述游戏运行场景中触发目标事件,确定所述目标事件在所述游戏运行场景中的触发区域;
在所述触发区域内的目标位置配置所述目标路径,显示并控制所述目标模型集群中的各目标模型按预设的时间间隔依次沿所述目标路径运动。
一种可能的实施方式中,
处理器1710执行的指令中,
所述在所述触发区域内的目标位置配置所述目标路径,包括:
确定用于控制所述目标虚拟角色的终端在所述游戏运行场景中的观察视角以及以所述观察视角所观察到的至少部分游戏运行场景;
在所述至少部分游戏运行场景中的任意虚拟对象所对应的目标位置配置所述目标路径。
一种可能的实施方式中,
处理器1710执行的指令中,
所述目标虚拟角色触发目标事件的步骤,包括:
响应于所述目标虚拟角色进入所述游戏运行场景中的指定区域,确定所述目标虚拟角色触发所述目标事件;和/或
响应所述目标虚拟角色与所述游戏运行场景中的指定交互对象完成交互,确定所述目标虚拟角色触发所述目标事件。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的动态模型配置方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的动态模型配置方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例所述的动态模型配置方法相对应的,本公开还提供了一种计算机程序产品,其包括计算机程序指令。在一些实施例中,所述计算机程序指令可以由计算机的一个或多个处理器执行以使得所述计算机和/或所述处理器执行所述的动态模型配置方法。对应于所述的动态模型配置方法各实施例中各步骤对应的执行主体,执行相应步骤的处理器可以是属于相应执行主体的。
上述实施例的计算机程序产品用于使所述计算机和/或所述处理器执行如上任一实施例所述的动态模型配置方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
可以理解的是,在使用本申请中各个实施例的技术方案之前,均会通过恰当的方式对所涉及的个人信息的类型、使用范围、使用场景等告知用户,并获得用户的授权。
例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确的提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主的选择是否向执行本申请技术方案的操作的终端设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
作为一种可选的但非限定的实现方式,响应于接受到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向终端设备提供个人信息的选择控件。
可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本申请的实现方式构成限定,其他满足相关法律法规的方式也可应用于本申请的实现方式中。
本领域技术技术人员应当理解,本申请的实施方式可以实现为一种系统、方法或计算机程序产品。因此,本申请可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实施例中,本申请还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (19)
1.一种动态模型配置方法,其特征在于,所述方法包括:
在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;
基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;
根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;
将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;
其中,所述目标路径为所述初始路径和/或所述离散路径。
2.根据权利要求1所述的方法,其特征在于,所述多个目标点,至少包括:第一目标点、第二目标点以及第三目标点;所述初始路径,至少包括:第一初始路径;
所述基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径,包括:
确定预先设置的多个目标点所在的不同平面之间的最大高度差是否为零;
响应于所述最大高度差为零,则确定沿所述第一目标点与所述第二目标点之间的连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点;
确定沿所述第二目标点与所述第三目标点之间的连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点;
根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径。
3.根据权利要求2所述的方法,其特征在于,所述多个目标点,还包括:第四目标点以及第五目标点;所述初始路径,还包括:第二初始路径;
所述根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径之后,还包括:
确定沿所述第三目标点与所述第四目标点之间的连线上,由所述第三目标点指向所述第四目标点根据所述预设参数移动的第四连续点;
确定沿所述第四目标点与所述第五目标点之间的连线上,由所述第四目标点指向所述第五目标点根据所述预设参数移动的第五连续点;
根据沿所述第四连续点与所述第五连续点之间的连线上,由所述第四连续点指向所述第五连续点根据所述预设参数移动的第六连续点,以及所述第三目标点和所述第五目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第二初始路径;
拼接所述第一初始路径和所述第二初始路径以得到针对目标模型集群的所述初始路径。
4.根据权利要求3所述的方法,其特征在于,所述根据沿所述第四连续点与所述第五连续点之间的连线上,由所述第四连续点指向所述第五连续点根据所述预设参数移动的第六连续点,以及所述第三目标点和所述第五目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第二初始路径之后,还包括:
过所述第三目标点作所述第一初始路径的第一切线,并过所述第三目标点作所述第二初始路径的第二切线;
确定所述第一切线与所述第二切线之间的夹角是否超过预设夹角阈值;
响应于所述第一切线与所述第二切线之间的夹角超过预设夹角阈值,则以目标颜色显示所述第一初始路径和所述第二初始路径;
重新确定多个目标点,并根据重新确定的多个目标点重新确定所述第一初始路径和所述第二初始路径,以使所述第一切线与所述第二切线之间的夹角小于或等于所述预设夹角阈值。
5.根据权利要求2所述的方法,其特征在于,所述确定预先设置的多个目标点所在的不同平面之间的最大高度差是否为零之后,还包括:
响应于所述最大高度差不为零,则确定所述最大高度差是否超过预设高度差阈值;
响应于所述最大高度差未超过预设高度差阈值,则确定沿所述第一目标点与所述第二目标点之间的第一连线上,由所述第一目标点指向所述第二目标点根据预设参数移动的第一连续点,并确定所述第一目标点与所述第一连续点之间的第二连线;
确定沿所述第二目标点与所述第三目标点之间的第三连线上,由所述第二目标点指向所述第三目标点根据所述预设参数移动的第二连续点,并确定所述第二目标点与所述第二连续点之间的第四连线;
在所述第一目标点、所述第二目标点和所述第三目标点所在的平面内,根据沿所述第一连续点与所述第二连续点之间的连线上,由所述第一连续点指向所述第二连续点根据所述预设参数移动的第三连续点,以及所述第一目标点和所述第三目标点,基于二次贝塞尔曲线描述得到针对目标模型集群的所述第一初始路径;其中,所述第三连续点的横坐标和纵坐标根据所述第一初始路径对应的曲线表达式确定,所述第三连续点的竖坐标根据所述第一目标点的竖坐标、所述第二目标点的竖坐标、所述第三目标点的竖坐标、所述第一连线与所述第二连线之间的比例关系以及所述第三连线与所述第四连线之间的比例关系确定。
6.根据权利要求5所述的方法,其特征在于,所述多个目标点,还包括:第四目标点;
所述确定所述最大高度差是否超过预设高度差阈值之后,还包括:
响应于所述最大高度差超过预设高度差阈值,则确定所述第一目标点、所述第二目标点、所述第三目标点以及所述第四目标点的三维坐标;
根据所述第一目标点的三维坐标和所述第二目标点的三维坐标确定所述第一目标点对应的第一切向量,并根据所述第三目标点的三维坐标和所述第四目标点的三维坐标确定所述第四目标点对应的第二切向量;
根据所述第一目标点的三维坐标、所述第四目标点的三维坐标、所述第一切向量、所述第二切向量、预先获取到的调和函数以及修整平滑因子确定针对目标模型集群的所述初始路径。
7.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
预先设置所述初始路径的初始位置以及所述初始路径的路径长度,并根据预先设定的曲线方程、所述初始位置以及所述路径长度生成针对目标模型集群的所述初始路径。
8.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
利用视频动作捕捉软件实时捕捉现实场景中的目标对象的运动信息;
确定与所述目标对象对应的虚拟模型的模型朝向;
根据所述模型朝向以所述虚拟模型模拟所述目标对象的运动,以确定所述虚拟模型的尺寸变化量;
根据所述虚拟模型的尺寸变化量确定所述目标对象的深度信息,并根据所述深度信息确定所述目标对象的移动轨迹;
根据所述目标对象的移动轨迹确定针对目标模型集群的所述初始路径。
9.根据权利要求1所述的方法,其特征在于,所述根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径,包括:
获取在目标方向上的预设偏移量以确定所述目标偏移量;
对所述初始路径配置所述目标偏移量以在所述目标方向上对所述初始路径进行离散,以得到离散路径。
10.根据权利要求1所述的方法,其特征在于,所述根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径,包括:
获取在目标方向上的预设偏移量以确定所述目标偏移量;
对所述初始路径配置所述目标偏移量以在所述目标方向上对所述初始路径进行离散,以得到初始离散路径;
确定离散后的所述初始离散路径上的多个离散目标点;所述多个离散目标点,至少包括:第一离散目标点、第二离散目标点以及第三离散目标点;
以随机数作为倍数叠加至所述第二离散目标点的横坐标值和纵坐标值以得到偏移后的第二离散目标点;
确定由所述第一离散目标点指向所述偏移后的第二离散目标点的第一离散连续点;
确定由所述偏移后的第二离散目标点指向所述第三离散目标点的第二离散连续点;
根据由所述第一离散连续点指向所述第二离散连续点的第三离散连续点基于二次贝塞尔曲线描述得到所述离散路径。
11.根据权利要求1所述的方法,其特征在于,所述将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型之前,还包括:
根据预先配置的美术资源生成多个不同类型的目标模型;
所述将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,包括:
将所述初始路径和所述离散路径中的任意一条路径作为所述目标路径,并将所述目标路径和预先获取到的指定时间参数配置至所述目标模型集群中的各目标模型。
12.根据权利要求1所述的方法,其特征在于,所述将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,包括:
将所述目标模型集群中的第一目标模型配置于所述目标路径的起点位置,并在所述起点位置显示所述第一目标模型;其中,所述第一目标模型为所述目标模型集群中的任意一个目标模型;
控制所述第一目标模型沿所述目标路径移动;
确定所述第一目标模型移动时间是否达到预设时间间隔;
响应于所述第一目标模型移动时间达到预设时间间隔,则将所述目标模型集群中的第二目标模型配置于所述目标路径的起点位置,并在所述起点位置显示所述第二目标模型;其中,所述第二目标模型为所述目标模型集群中除所述第一目标模型以外的任意一个目标模型;
控制所述第二目标模型沿所述目标路径移动。
13.根据权利要求1所述的方法,其特征在于,所述在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动的步骤,包括:
响应于目标虚拟角色在所述游戏运行场景中触发目标事件,确定所述目标事件在所述游戏运行场景中的触发区域;
在所述触发区域内的目标位置配置所述目标路径,显示并控制所述目标模型集群中的各目标模型按预设的时间间隔依次沿所述目标路径运动。
14.根据权利要求13所述的方法,其特征在于,所述在所述触发区域内的目标位置配置所述目标路径,包括:
确定用于控制所述目标虚拟角色的终端在所述游戏运行场景中的观察视角以及以所述观察视角所观察到的至少部分游戏运行场景;
在所述至少部分游戏运行场景中的任意虚拟对象所对应的目标位置配置所述目标路径。
15.根据权利要求1所述的方法,其特征在于,所述目标虚拟角色触发目标事件的步骤,包括:
响应于所述目标虚拟角色进入所述游戏运行场景中的指定区域,确定所述目标虚拟角色触发所述目标事件;和/或
响应所述目标虚拟角色与所述游戏运行场景中的指定交互对象完成交互,确定所述目标虚拟角色触发所述目标事件。
16.一种终端设备,其特征在于,所述终端设备中存储有目标游戏对应的模型集群数据,所述终端设备用于:
运行在所述目标游戏,呈现所述目标游戏对应的游戏运行场景;
响应于目标虚拟角色在所述游戏运行场景中触发目标事件,从所述目标游戏的游戏服务器获取与所述目标事件对应目标模型集群标识;
基于所述目标模型集群标识,从所述模型集群数据中确定与所述目标事件对应目标模型集群和目标配置数据,其中,所述目标配置数据包括目标路径,所述目标路径基于预设曲线方程和多个目标点生成,和/或基于预设曲线方程、多个目标点以及预先配置的目标偏移量生成;
基于所述目标配置数据和所述模型集群,在所述游戏运行场景中配置所述目标路径并控制所述目标模型集群中的各目标模型按指定时间参数沿所述目标路径运动。
17.一种终端设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至15任意一项所述的方法。
18.一种动态模型配置装置,其特征在于,所述装置包括:
接收模块,被配置为在游戏编辑场景中,接收通过游戏编辑器设置的多个目标点;
生成模块,被配置为基于预设曲线方程和所述多个目标点生成针对目标模型集群的初始路径;
离散模块,被配置为根据配置的目标偏移量对所述初始路径进行离散处理,生成所述初始路径对应的离散路径;
配置模块,被配置为将目标路径和指定时间参数配置至所述目标模型集群中的各目标模型,用以在所述游戏编辑场景中控制各目标模型按所述指定时间参数沿所述目标路径运动,或在游戏运行场景中的目标虚拟角色触发目标事件时,在所述游戏运行场景中配置所述目标路径并控制各目标模型按指定时间参数沿所述目标路径运动;
其中,所述目标路径为所述初始路径和/或所述离散路径。
19.一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使所述计算机实现权利要求1至15任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311460112.0A CN117379795A (zh) | 2023-11-03 | 2023-11-03 | 动态模型配置方法、终端设备、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311460112.0A CN117379795A (zh) | 2023-11-03 | 2023-11-03 | 动态模型配置方法、终端设备、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117379795A true CN117379795A (zh) | 2024-01-12 |
Family
ID=89440670
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311460112.0A Pending CN117379795A (zh) | 2023-11-03 | 2023-11-03 | 动态模型配置方法、终端设备、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117379795A (zh) |
-
2023
- 2023-11-03 CN CN202311460112.0A patent/CN117379795A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11538229B2 (en) | Image processing method and apparatus, electronic device, and computer-readable storage medium | |
US10062354B2 (en) | System and methods for creating virtual environments | |
EP3882865A1 (en) | Object loading method, device, storage medium, and electronic device | |
CN113811920A (zh) | 分布式姿势估计 | |
US20150133216A1 (en) | View generation based on shared state | |
US20200402314A1 (en) | Location-based platform for multiple 3d engines for delivering location-based 3d content to a user | |
CN104870063A (zh) | 用于云处理和叠加远程处理应用的流式视频帧上的内容的系统和方法 | |
US20150130814A1 (en) | Data collection for multiple view generation | |
CN111142967B (zh) | 一种增强现实显示的方法、装置、电子设备和存储介质 | |
CN109151540A (zh) | 视频图像的交互处理方法及装置 | |
CN113590878B (zh) | 在视频画面上规划路径的方法、装置、终端设备 | |
US20150130815A1 (en) | Multiple parallel graphics processing units | |
KR101835974B1 (ko) | 가상현실환경에서 사용자 단말들의 시점 동기화 장치 및 방법 | |
JP2023504609A (ja) | ハイブリッドストリーミング | |
CN113952720A (zh) | 游戏场景渲染方法、装置、电子设备及存储介质 | |
CN114387400A (zh) | 三维场景的显示方法、显示装置、电子设备和服务器 | |
CN114140837A (zh) | 人脸识别方法、模板配置方法、装置、设备及存储介质 | |
CN109145688A (zh) | 视频图像的处理方法及装置 | |
CN115220906A (zh) | 音频/视频合成应用的云执行 | |
CN113673446A (zh) | 图像识别方法、装置、电子设备和计算机可读介质 | |
WO2024066723A1 (zh) | 针对虚拟场景的位置更新方法、设备、介质和程序产品 | |
KR102396060B1 (ko) | 전자 게임에서 카메라 뷰 변경 | |
KR102551914B1 (ko) | 인터랙티브 객체 뷰어 생성 방법 및 시스템 | |
CN109816791B (zh) | 用于生成信息的方法和装置 | |
KR102169024B1 (ko) | 3차원 증강현실을 이용한 합동 지휘통제 훈련 시스템 및 제공방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |