CN114047998B - 对象更新方法及装置 - Google Patents
对象更新方法及装置 Download PDFInfo
- Publication number
- CN114047998B CN114047998B CN202111445344.XA CN202111445344A CN114047998B CN 114047998 B CN114047998 B CN 114047998B CN 202111445344 A CN202111445344 A CN 202111445344A CN 114047998 B CN114047998 B CN 114047998B
- Authority
- CN
- China
- Prior art keywords
- driving
- dynamic
- updating
- resource map
- data
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 76
- 230000000007 visual effect Effects 0.000 claims abstract description 101
- 238000013515 script Methods 0.000 claims abstract description 30
- 230000008859 change Effects 0.000 claims description 48
- 238000012545 processing Methods 0.000 claims description 42
- 238000010586 diagram Methods 0.000 claims description 24
- 238000012800 visualization Methods 0.000 claims description 20
- 230000008569 process Effects 0.000 claims description 14
- 238000005070 sampling Methods 0.000 claims description 13
- 238000012216 screening Methods 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 description 27
- 244000025254 Cannabis sativa Species 0.000 description 22
- 235000017166 Bambusa arundinacea Nutrition 0.000 description 17
- 235000017491 Bambusa tulda Nutrition 0.000 description 17
- 241001330002 Bambuseae Species 0.000 description 17
- 235000015334 Phyllostachys viridis Nutrition 0.000 description 17
- 239000011425 bamboo Substances 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 5
- 238000009877 rendering Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 238000007664 blowing Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- 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/50—Controlling the output signals based on the game progress
- A63F13/52—Controlling the output signals based on the game progress involving aspects of the displayed game scene
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
- G06F9/45512—Command shells
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
- G06T13/20—3D [Three Dimensional] animation
- G06T13/60—3D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/005—General purpose rendering architectures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
-
- 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
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/60—Methods for processing data by generating or executing the game program
- A63F2300/66—Methods for processing data by generating or executing the game program for rendering three dimensional images
- A63F2300/663—Methods for processing data by generating or executing the game program for rendering three dimensional images for simulating liquid objects, e.g. water, gas, fog, snow, clouds
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提供对象更新方法及装置,其中所述对象更新方法包括:获取包含驱动对象的可视化区域对应的资源图;根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数;基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;在所述可视化区域中确定所述驱动对象关联的动态对象,并通过所述驱动数据对所述动态对象进行更新。
Description
技术领域
本申请涉及计算机技术领域,特别涉及对象更新方法及装置。
背景技术
随着互联网技术的发展,游戏成为了人们日常生活中消遣时间的一种娱乐方式。且随着游戏市场的发展趋势,游戏玩法越来越注重模拟真实场景,而玩家与场景的自由交互变得极其重要。现有技术中,游戏中的角色与游戏中的物体进行交互,通常是通过全局存储一个角色位置来实现角色对于可交互的物体接触等效果,然而由于该方式不支持动态的技能以及多个动态物体与交互的物体交互的效果,很大程度上会影响用户的游玩体验,因此亟需一种有效的方案以解决上述问题。
发明内容
有鉴于此,本申请实施例提供了一种对象更新方法,以解决现有技术中存在的技术缺陷。本申请实施例同时提供了一种对象更新装置,一种计算设备,以及一种计算机可读存储介质。
根据本申请实施例的第一方面,提供了一种对象更新方法,包括:
获取包含驱动对象的可视化区域对应的资源图;
根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数;
基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;
在所述可视化区域中确定所述驱动对象关联的动态对象,并通过所述驱动数据对所述动态对象进行更新。
可选地,所述获取包含驱动对象的可视化区域对应的资源图步骤执行之前,还包括:
在目标游戏中确定满足所述驱动对象移动的全局可视化区域;
针对所述全局可视化区域创建设定尺寸的资源图组成的资源图集合;
其中,所述资源图集合中包含的初始资源图的像素点对应所述全局可视化区域中的单位区域。
可选地,所述获取包含驱动对象的可视化区域对应的资源图,包括:
在所述目标游戏中确定当前时刻游戏角色关联的所述驱动对象;
根据所述游戏角色在所述全局可视化区域中的位置确定包含所述驱动对象的所述可视化区域;
基于所述可视化区域在所述全局可视化区域中的位置关系,在所述资源图集合中提取所述可视化区域对应的所述资源图。
可选地,所述基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据步骤执行之前,还包括:
将所述驱动参数输入至预设的动态对象管理器;
其中,所述基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据,包括:
通过输入所述驱动参数的动态对象管理器,计算所述资源图对应的待驱动区域关联的所述驱动数据。
可选地,所述通过输入所述驱动参数的动态对象管理器,计算所述资源图对应的待驱动区域关联的所述驱动数据,包括:
所述动态对象管理器按照逐帧处理策略将所述驱动参数通过缓冲区写入图像处理单元;
所述图像处理单元基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据。
可选地,所述图像处理单元基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据,包括:
所述图像处理单元基于所述驱动参数,计算所述资源图中的每个像素点对应的虚拟对象系数以及虚拟对象变化数据;
在所述可视化区域中确定每个像素点对应的所述待驱动区域,并将所述虚拟对象系数和所述虚拟对象变化数据作为所述待驱动区域关联的驱动数据。
可选地,所述在所述可视化区域中确定所述驱动对象关联的动态对象,包括:
确定所述可视化区域中包含的初始动态对象;
基于所述驱动对象的运动轨迹在所述初始动态对象中筛选中间动态对象,作为所述驱动对象关联的所述动态对象。
可选地,所述在所述可视化区域中确定所述驱动对象关联的动态对象步骤执行之前,还包括:
通过所述图像处理单元为所述资源图中的每个像素点配置所述驱动数据;
其中,所述通过所述驱动数据对所述动态对象进行更新,包括:
通过顶点着色器采样配置所述驱动数据的资源图,根据采样结果获得所述动态对象的顶点所在位置的虚拟对象数据;
基于所述虚拟对象数据对所述动态对象进行更新。
可选地,还包括:
根据更新结果创建所述动态对象对应的顶点动画,并展示包含所述顶点动画的游戏画面;或者
根据更新结果确定所述驱动对象驱动所述动态对象的关联驱动数据,并基于所述关联驱动数据对游戏画面进行更新。
可选地,其特征在于,所述通过所述驱动数据对所述动态对象进行更新步骤执行之后,还包括:
在所述动态对象更新对象属性的情况下,通过所述动态对象管理器确定处理器接口;
基于所述处理器接口确定所述动态对象在所述可视化区域中位置对应的虚拟对象;
通过所述处理器接口计算所述动态对象与所述虚拟对象之间的目标驱动参数。
根据本申请实施例的第二方面,提供了一种对象更新装置,包括:
获取模块,被配置为获取包含驱动对象的可视化区域对应的资源图;
确定模块,被配置为根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数;
计算模块,被配置为基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;
更新模块,被配置为在所述可视化区域中确定所述驱动对象关联的动态对象,并通过所述驱动数据对所述动态对象进行更新。
根据本申请实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器执行所述计算机可执行指令时实现所述对象更新方法的步骤。
根据本申请实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现所述对象更新方法的步骤。
根据本申请实施例的第五方面,提供了一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述对象更新方法的步骤。
本实施例提供的对象更新方法,为了能够提高虚拟场景中的物体变化更接近于真实场景,以提高用户的参与体验。可以在获取包含驱动对象的可视化区域对应的资源图后,根据驱动对象挂载的驱动脚本确定驱动对象的驱动参数,之后再基于驱动参数计算资源图对应的待驱动区域关联的驱动数据,最后在可视化区域中确定驱动对象关联的动态对象,再通过驱动数据对其进行更新,实现了在驱动对象移动的情况下可以产生对动态对象影响的数据,从而能够保证动态对象随着驱动对象的变化趋势而变化,提高在虚拟场景下对象移动的真实性,从而提高用户的参与体验。
附图说明
图1是本申请一实施例提供的一种对象更新方法的流程图;
图2是本申请一实施例提供的一种对象更新方法中可视化区域的示意图;
图3是本申请一实施例提供的一种应用于游戏场景中的对象更新方法的处理流程图;
图4是本申请一实施例提供的一种对象更新方法中风力驱动物体移动的示意图;
图5是本申请一实施例提供的一种对象更新装置的结构示意图;
图6是本申请一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请一个或多个实施例。在本申请一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本申请一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。
在本申请中,提供了一种对象更新方法。本申请同时涉及一种对象更新装置、一种计算设备,以及一种计算机可读存储介质,在下面的实施例中逐一进行详细说明。
图1示出了根据本申请一实施例提供的一种对象更新方法的流程图,具体包括以下步骤:
步骤S102,获取包含驱动对象的可视化区域对应的资源图。
具体的,驱动对象具体是指虚拟场景中发生位移的对象,且驱动对象的位移会造成周边的环境发生变化,驱动对象包括但不限于游戏场景中的游戏角色,游戏角色释放的技能,游戏中的可移动物体等。相应的,可视化区域具体是驱动对象当前所在的区域,且该区域能够被玩家所观看;相应的,资源图具体是指可视化区域对应的3D贴图,以实现支持后续的驱动对象和动态对象的交互产生的效果更新。
基于此,为了能够支持可驱动对象在移动的过程中,可以对因为驱动对象的移动而对其他对象产生的影响进行体现,如游戏角色移动带动植被摇摆,或者技能释放带动树木倾斜,再或者游戏角色从水面上滑过带动水面起伏等,此时可以先确定包含驱动对象的可视化区域,以保证最终展示的效果可以被玩家所查看,并以此为基础确定可视化区域对应的资源图,以支持后续能够以资源图为基础进行数据更新,提高玩家的游玩体验。
实际应用中,本实施例提供的对象更新方法可以应用于游戏场景,或者虚拟现实场景,再或者动画制作场景等,本实施例在此不作任何限定。
本实施例以游戏场景为例对对象更新方法进行说明,其他应用场景中对象更新方法的具体描述均可参见本实施例相同或相应的描述内容,在此不作过多赘述。
进一步的,为了能够支持后续在对动态对象进行更新时,可以保证更新后的效果更加真实,且满足游戏机制的执行逻辑,可以在游戏启动时创建资源图集合,本实施例中,具体实现方式如下:
在目标游戏中确定满足所述驱动对象移动的全局可视化区域;针对所述全局可视化区域创建设定尺寸的资源图组成的资源图集合;其中,所述资源图集合中包含的初始资源图的像素点对应所述全局可视化区域中的单位区域。
具体的,全局可视化区域具体是指目标游戏中能够支持驱动对象进行移动的区域,也就是说,在全局可视化区域中,游戏中的游戏角色,或者飞行道具,再或者技能都可以在全局可视化区域中进行移动;相应的,资源图集合具体是指具体是指针对全局可视化区域创建完成的资源图组成的集合。
需要说明的是,集合中的每个资源图的每个像素均对应全局可视化区域中的单位区域,可以理解为每个单位区域是目标游戏的空间中1*1*1的区域,那么资源图的像素点就对应这一个单位区域,以方便后续可以以资源图为基础完成动态对象的更新。其中,每个资源图均为3D贴图。
基于此,在目标游戏启动时,可以根据目标游戏的世界空间大小确定满足驱动对象移动的全局可视化区域,之后针对全局可视化区域创建设定尺寸的资源图,且资源图的数量受全局可视化区域的大小决定,最后将创建完成的资源图组成资源图集合即可,以保证在驱动对象移动时,可以直接从集合中选择可视化区域对应的资源图用于后续的处理操作。
此外,资源图的像素点对应全局可视化区域中的单位区域的精度可以根据实际应用场景进行配置,为了提高渲染后展示画面的展示效果,可以以每个像素点对应一个单位区域,也可以以每个像素点对应多个单位区域,本实施例在此不作任何限定。
综上,通过预先创建资源图集合,并以每个资源图的像素点对应全局可视化区域中的单位区域,可以保证后续能够从资源图出发完成对动态对象的更新,不仅可以保证更新精准度,还能够保证动态对象与驱动对象联动,从而进一步提高游戏真实性。
更进一步的,考虑到全局可视化区域对应目标游戏的全部可移动场景,但是在向玩家展示时,实则仅展示当前游戏角色所处位置一定范围内的可视化区域,因此为了能够节省计算资源,同时保证在通过着色器进行渲染时,可以展示更加真实的游戏画面,可以基于位置关系在全局可视化区域对应的资源图集合中选择当前驱动对象所在区域对应的资源图,本实施例中,具体实现方式如下:
在所述目标游戏中确定当前时刻游戏角色关联的所述驱动对象;根据所述游戏角色在所述全局可视化区域中的位置确定包含所述驱动对象的所述可视化区域;基于所述可视化区域在所述全局可视化区域中的位置关系,在所述资源图集合中提取所述可视化区域对应的所述资源图。
实际应用中,当目标游戏中的游戏角色触发某个操作事件时,如释放技能,或者发射可移动道具,再或者投掷道具时,都会存在移动的虚拟对象,则该对象即为游戏角色关联的驱动对象。
基于此,当驱动对象被触发的情况下,其移动就会造成其他对象发生形变,因此当确定当前时刻游戏角色关联的驱动对象后,可以先根据游戏对象在全局可视化区域中的位置,确定包含驱动对象的可视化区域,也就是说,确定驱动对象将要移动的区域,之后基于可视化区域和全局可视化区域确定位置关系,即可利用该位置关系从资源图中选择其对应的资源图,用于后续支持动态对象的更新处理操作,提高游戏场景的真实性。
举例说明,在游戏J中,在游戏启动时创建S张指定大小的3D贴图,并且以每张贴图的每个像素点模拟游戏J的世界空间中一块1*1*1的区域。进一步的,当游戏角色向某个方向投射飞行道具时,该飞行道具滑过一片竹林,此时确定竹林对应的可视化区域,并在创建的3D贴图中查询到竹林对应的可视化区域,以方便后续可以根据飞行道具的高速移动,渲染出竹林中竹叶受风力影响而摆动的效果。
综上,通过结合可视化区域与全局可视化区域的位置关系,在预先建立的资源图集合中筛选出对应可视化区域的资源图,方便后续结合驱动对象的驱动数据对可视化区域中的动态对象进行更新,以提高游戏场景的真实性。
步骤S104,根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数。
具体的,在上述获取到包含驱动对象的可视化区域对应的资源图后,进一步的,由于驱动对象是促使动态对象形变或者位姿变化的基础,因此动态对象的受力情况以及受力方向都需要根据驱动对象决定。基于此,此时可以根据驱动对象挂载的驱动脚本确定其对应的驱动参数,以方便后续结合驱动参数计算出能够驱动动态对象变化的驱动参数,从而精准的完成动态对象的更新。
其中,驱动脚本具体是指挂载在驱动对象上的风力检测脚本,通过该脚本可以实时将驱动对象所产生的驱动参数进行记录,以方便后续可以结合驱动参数计算驱动数据;相应的,驱动参数具体是指驱动对象在移动过程中能够对其他对象产生位姿影响的参数。
沿用上例,当飞行道具需要通过竹林时,可以先根据飞行道具上挂载的动态风脚本实时采集飞行道具所产生的风力参数,以方便后续可以结合风力参数计算出驱动竹叶位姿发生变化的驱动数据,以在每帧可以结合驱动参数对竹叶进行更新。
步骤S106,基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据。
具体的,在上述结合驱动脚本完成对驱动对象对应的驱动参数的确定之后,进一步的,为了能够实时计算区域内驱动对象移动时对其他对象的位姿影响,本实施例采用维护资源图的方式实现。也就是说,当确定驱动参数后,将计算资源图对应的待驱动区域关联的驱动数据,以根据驱动对象的移动,确定在待驱动区域中产生的驱动事件的系数以及驱动事件的消失数据,方便后续以此为基础对动态对象进行更新。
其中,待驱动区域具体是指受到驱动参数影响的区域,该区域中的其他对象都会因为驱动对象的移动发生形变或位姿变化;相应的,驱动数据具体是指能够驱动动态对象发生形变或位姿变化的数据,且驱动数据能够对待驱动区域中的动态对象产生驱动影响。
进一步的,在根据驱动参数计算驱动数据时,考虑到驱动参数是通过驱动对象的驱动脚本实时采集的数据,而驱动参数是对待驱动区域内的动态对象产生影响的数据,因此在需要完成后续对动态对象的更新操作时,需要结合动态对象管理器完成计算缓冲区和计算着色器的联合调用,从而支持后续的处理操作,本实施例中,具体实现方式如步骤S1062至步骤S1066:
步骤S1062,将所述驱动参数输入至预设的动态对象管理器。
步骤S1064,所述动态对象管理器按照逐帧处理策略将所述驱动参数通过缓冲区写入图像处理单元。
步骤S1066,所述图像处理单元基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据。
具体的,动态对象管理器具体是指能够对驱动对应的驱动参数进行管理的模块,且动态对象管理器用于维护目标游戏中全部动态对象。相应的,逐帧处理策略具体是指采用每帧处理的方式对驱动参数进行计算和后续的更新,之后将连续的帧拼接,即可得到动态对象被驱动对象影响的动画内容。相应的,图像处理单元具体是指用于计算驱动数据的着色器,如在游戏场景中的植被着色器。
基于此,当得到驱动对象对应的驱动参数后,此时可以将驱动参数输入至预设的动态对象管理器,实现通过动态对象管理器按照逐帧处理策略将其通过缓冲区写入图像处理单元,以通过图像处理单元完成从驱动参数计算出资源图对应的待驱动区域关联的驱动数据的执行操作。
也就是说,动态对象管理器将在每帧对驱动参数使用Compute Buffer(计算缓冲区)传入Compute Shader(计算着色器)中,通过在计算着色器中实时计算待驱动区域关联的驱动数据,以方便后续结合驱动数据对动态对象进行精准的更新。
进一步的,在通过图像处理单元计算待驱动区域关联的驱动数据时,为了能够达到更加真实的游戏效果,驱动数据可以结合系数和变化数据确定,从而保证精准的完成动态对象的更新,本实施例中,具体实现方式如下:
所述图像处理单元基于所述驱动参数,计算所述资源图中的每个像素点对应的虚拟对象系数以及虚拟对象变化数据;在所述可视化区域中确定每个像素点对应的所述待驱动区域,并将所述虚拟对象系数和所述虚拟对象变化数据作为所述待驱动区域关联的驱动数据。
具体的,虚拟对象系数具体是指驱动对象产生的力系数;相应的,虚拟对象变化数据具体是指驱动对象的力消失信息对应的数据。
基于此,由于资源图中的每个像素点对应全局可视化区域中的单位区域,而驱动对象的移动可能同时对多个区域产生影响,因此图像处理单元可以基于驱动参数,同时计算资源图中的每个像素点对应的虚拟对象系数和虚拟对象变化数据,之后将每个像素点对应的虚拟对象系数和虚拟对象变化数据与默认系数和默认变化数据进行比较,即可从每个像素点对应的多个单位区域中筛选出待驱动区域,并结合已经计算完成的虚拟对象系数和所述虚拟对象变化数据确定待驱动区域关联的驱动数据即可。
沿用上例,当通过动态风脚本采集到风力参数后,将其传入至动态风管理器,由动态风管理器将风力参数使用计算缓冲区传入植被着色器,以通过植被着色器采样3D贴图,在植被着色器中实时计算出所有能够被飞行道具影响的区域方格上的风力系数及其消散数据,方便后续可以结合风力系数及其消散数据对区域内的竹叶进行更新,渲染出被飞行道具高速飞行而影响位姿的动画。
综上,通过以资源图为基础进行待驱动区域的驱动数据的计算,不仅可以降低资源消耗,还能够保证可以实时计算每个区域上的虚拟对象系数以及虚拟对象变化数据,从而保证后续可以精准的完成动态对象的更新。
步骤S108,在所述可视化区域中确定所述驱动对象关联的动态对象,并通过所述驱动数据对所述动态对象进行更新。
具体的,在上述确定待驱动区域关联的驱动数据后,进一步的,为了能够提高游戏场景的真实性,可以在可视化区域中确定驱动对象关联的动态对象,并以驱动数据为基础对动态对象进行更新。
参见图2所示的示意图,其中包括动态风计算区域以及动态风区域,实现在驱动对象在该区域中进行移动时,动态对象会随着驱动对象的移动带起的风力而发生形体变化,此时则需要对动态对象进行更新,以向用户展示动态对象随着风而摆动的效果。
例如,游戏角色在多棵树间来回穿梭,则游戏角色所挂载的动态风脚本每一帧都会将移动的位置通过Compute Shader写入3D空间贴图,从而通过算法转换成当前空间节点所存在的动态风力,以模拟出游戏角色由于高速移动所产生的风对周边树木和灌木产生的影响,使得树木和灌木可以随风摆动,提高模拟真实度,增加玩家的游玩体验。
进一步的,考虑到可视化区域中包含大量的初始动态对象,且不同的初始动态对象与驱动对象的距离不同,受到驱动对象的影响也不同,因此为了能够保证渲染后动画的合理性,可以结合驱动对象的运动轨迹进行动态对象的筛选,本实施例中,具体实现方式如下:
确定所述可视化区域中包含的初始动态对象;基于所述驱动对象的运动轨迹在所述初始动态对象中筛选中间动态对象,作为所述驱动对象关联的所述动态对象。
具体的,初始动态对象具体是指可视化区域中包含的全部动态对象,且各个动态对象的当前状态均为默认状态,即未被驱动对象的移动产生影响的状态;相应的,中间动态对象具体是指在初始动态对象中筛选出能够被驱动对象影响的动态对象。
基于此,为了能够实现驱动对象的移动可以对其他动态对象产生影响,且该影响效果与真实效果更加贴近,可以先确定可视化区域中包含的初始动态对象,之后基于驱动对象的运动轨迹在初始对象中筛选出中间动态对象,将其作为驱动对象关联的动态对象即可,以方便后续结合驱动数据可以对这部分动态对象进行更新。
综上,通过结合驱动对象的运动轨迹在多个初始动态对象中筛选出动态对象,不仅可以节省计算资源,还能够提高计算效率,从而有效的保证了后续渲染出的动画更加真实。
此外,在确定作为动态对象的中间动态对象后,考虑到驱动对象的移动轨迹会随着时间的推移,逐渐拉开与各个中间动态对象的距离,如果中间动态对象一直保持被驱动对象驱动的状态,会很大程度影响游戏画面的真实性。因此在驱动对象移动的过程中,可以结合驱动数据计算每个像素点在每帧中的参数信息,以实现在每帧中都能够保证每个像素点中的参数呈曲线变化,从而促使中间动态对象会基于曲线变化的参数进行更新,体现出中间动态对象随着参数的变大或变小,会体现出位姿变化趋势大小的展示效果。
也就是说,中间动态对象的更新过程将逐帧完成,且每帧中每个像素点的参数变化也是逐步更新完成的,从而体现中间动态对象因为驱动对象移动可以逐渐发生位姿变化,且位姿变化的大小也是由驱动对象距离中间动态对象的距离决定,从而保证后续渲染出的画面更加符合真实场景。
举例说明,子弹穿过草丛,会分别经过草丛1,草丛2和草丛3,当子弹打到草丛1位置时,此时草丛1基于子弹对应的驱动数据会发生45度的倾斜,随着子弹经过草丛1,草丛1所属的区域的风力参数会随着子弹的移动减弱,则草丛1向下偏转的角度会小于45度,通过每帧渲染的方式,逐渐恢复草丛1的默认位置。相应的,草丛2和草丛3也会发生与草丛1相同的展示效果,本实施例在此不作过多赘述。
综上,通过在每帧中针对每个像素点的驱动参数进行不断的更新,可以在后续的渲染画面中体现出更加真实的展示效果。
更进一步的,在基于驱动数据更新动态对象的过程中,为了能够精准的还原出动态对象受驱动对象的运动而发生的变化,可以结合图像处理单元完成,本实施例中,具体实现方式如下所述:
通过所述图像处理单元为所述资源图中的每个像素点配置所述驱动数据;通过顶点着色器采样配置所述驱动数据的资源图,根据采样结果获得所述动态对象的顶点所在位置的虚拟对象数据;基于所述虚拟对象数据对所述动态对象进行更新。
基于此,当图像处理单元实时计算出驱动数据后,可以通过图像处理单元为资源图中的每个像素点配置驱动数据,而由于每个像素点对应单位区域,因此目标游戏中能够被驱动对象影响的区域都会配置驱动数据,之后通过顶点着色器采样配置驱动数据的资源图,实现根据采样结果获得动态对象的顶点所在位置的虚拟对象数据,之后基于虚拟对象数据对动态对象进行更新即可,使得更新后的动态对象可以符合驱动对象的驱动效果。
综上,通过为每个像素点配置驱动数据,并结合顶点着色器对配置驱动数据的资源图进行采样,即可还原出动态对象所在位置的被驱动情况,并以此为基础对动态对象进行更新,能够保证更新后的动态对象具有更加真实的展示效果。
此外,在完成对动态对象的更新后,则可以结合驱动对象和动态对象展示出对应可视化区域的游戏画面,而为了能够保证展示效果更佳,满足玩家的需求,可以采用如下方式完成游戏动画处理,本实施例中,具体实现方式如下:
(1)根据更新结果创建所述动态对象对应的顶点动画,并展示包含所述顶点动画的游戏画面。
具体的,顶点动画具体是指动态对象被更新后,结合驱动对象的运动轨迹造成动态对象位姿变化的动画。基于此,当按照驱动数据对动态对象进行更新完成后,可以创建更新后的动态对象对应的顶点动画,并在展示游戏对应的画面时,可以展示包含顶点动画的游戏动画,使得游戏画面更加真实。也就是说,当游戏动画被展示时,动画内容中将包含驱动对象的运动,以及驱动对象运动时对动态对象产生的影响。
(2)根据更新结果确定所述驱动对象驱动所述动态对象的关联驱动数据,并基于所述关联驱动数据对游戏画面进行更新。
基于此,还可以将驱动对象和动态对象作为一个整体,即在更新游戏画面时,会在更新后的画面中直接展示动态对象和驱动对象的变化。其中,关联驱动数据具体是指动态对象被驱动对象影响后对应的变化轨迹,以此更新游戏画面,可以使得游戏画面中包含动态对象运动的内容。
沿用上例,当飞行道具穿过竹林时,竹林中的竹叶会随着飞行道具的高速移动而发生位姿变化,即距离飞行道具近的竹叶位姿变化明显,距离飞行道具远的竹叶位姿变化不明显,并且随着时间的推移,竹叶会逐渐恢复原始状态,即恢复至被影响前的位姿。
此外,当动态对象的属性发生变化时,其再次受到驱动对象的影响可能也会发生变化,因此为了能够充分的考虑属性变化的影响,本实施例中,具体实现方式如下:
在所述动态对象更新对象属性的情况下,通过所述动态对象管理器确定处理器接口;基于所述处理器接口确定所述动态对象在所述可视化区域中位置对应的虚拟对象;通过所述处理器接口计算所述动态对象与所述虚拟对象之间的目标驱动参数。
具体的,对象属性具体是指动态对象对应的可被调整的属性,如控制动态对象的重量,大小,形态等;相应的,虚拟对象具体是指驱动对象在移动过程中可以对动态对象产生影响的对象,如风。
基于此,当动态对象的属性发生变更的情况下,可以通过动态对象管理器确定处理器接口,并基于处理器接口确定动态对象在可视化区域中位置对应的虚拟对象,最后再基于处理器接口计算动态对象与虚拟对象之间的目标驱动参数即可,以方便后续可以结合目标驱动参数计算驱动数据,以完成对更新属性后的动态对象进行更新。
也就是说,在游戏场景中,风力影响的动态对象更新属性时,可以通过动态风管理器提供的能力获取CPU风接口,在获得驱动对象所在位置的动态风力后,可以以此为基础计算动态对象所受到的力。
需要说明的是,基于目标驱动参数计算驱动数据,并更新属性变更后的动态对象的过程,均可参见上述实施例中相同或相应的描述内容,本实施例在此不作过多赘述。
本实施例提供的对象更新方法,为了能够提高虚拟场景中的物体变化更接近于真实场景,以提高用户的参与体验。可以在获取包含驱动对象的可视化区域对应的资源图后,根据驱动对象挂载的驱动脚本确定驱动对象的驱动参数,之后再基于驱动参数计算资源图对应的待驱动区域关联的驱动数据,最后在可视化区域中确定驱动对象关联的动态对象,再通过驱动数据对其进行更新,实现了在驱动对象移动的情况下可以产生对动态对象影响的数据,从而能够保证动态对象随着驱动对象的变化趋势而变化,提高在虚拟场景下对象移动的真实性,从而提高用户的参与体验。
下述结合附图3,以本申请提供的对象更新方法对在游戏场景中的应用为例,对所述对象更新方法进行进一步说明。其中,图3示出了本申请一实施例提供的一种应用于游戏场景中的对象更新方法的处理流程图,具体包括以下步骤:
步骤S302,在目标游戏中确定满足驱动对象移动的全局可视化区域。
步骤S304,针对全局可视化区域创建设定尺寸的资源图组成的资源图集合。
步骤S306,在目标游戏中确定当前时刻游戏角色关联的驱动对象。
步骤S308,根据游戏角色在全局可视化区域中的位置确定包含驱动对象的可视化区域。
步骤S310,基于可视化区域在全局可视化区域中的位置关系,在资源图集合中提取可视化区域对应的资源图。
步骤S312,根据驱动对象挂载的驱动脚本确定驱动对象的驱动参数。
步骤S314,将驱动参数输入至预设的动态对象管理器。
步骤S316,动态对象管理器按照逐帧处理策略将驱动参数通过缓冲区写入图像处理单元。
步骤S318,图像处理单元基于驱动参数,计算资源图中的每个像素点对应的虚拟对象系数以及虚拟对象变化数据。
步骤S320,在可视化区域中确定每个像素点对应的待驱动区域,并将虚拟对象系数和虚拟对象变化数据作为待驱动区域关联的驱动数据。
步骤S322,确定可视化区域中包含的初始动态对象,并基于驱动对象的运动轨迹在初始动态对象中筛选动态对象。
步骤S324,通过图像处理单元为资源图中的每个像素点配置驱动数据。
步骤S326,通过顶点着色器采样配置驱动数据的资源图,根据采样结果获得动态对象的顶点位置的虚拟对象数据。
步骤S328,基于虚拟对象数据对动态对象进行更新,根据更新结果生成顶点动画并展示。
本实施例以射击类游戏为例对对象更新方法进行说明,其他类型游戏中的对象更新方法均可参见本实施例相同或相应的描述内容,在此不作过多赘述。
玩家控制游戏角色向某一方向进行射击,子弹将根据玩家的射击方向进行高速移动,子弹会经过一片草坪,参见图4中(a)所示的示意图,子弹从左往右进行移动,在移动的过程中,将穿过4个草。本实施例为方便进行描述,仅以子弹穿过草坪过程对对象更新方法进行说明,实际应用中,不同游戏中的移动操作会对应不同的游戏场景,本实施例在此不作过多赘述。
进一步的,此时检测到游戏角色所在位置对应的相机周围因为子弹的高速移动产生风力,且相机周围还包括因为风力的影响而会发生形体变化的草,则此时可以根据子弹上挂载的动态风脚本参数实施将子弹所产生的风种传入动态风管理器。
更进一步的,为了能够提高游戏展示效果的真实性,此时可以基于动态风管理器每帧将所有可见的风种使用Compute Buffe传入Compute Shader;之后在再ComputeShader中实时计算当前场景中所有区域方格上的风力系数以及风消散数据。
此时,3D贴图中的每个像素点的风力系数以及风消散数据都已经确定,之后在植被顶点着色器中采样该3D贴图,以还原出植被顶点所在位置的风力情况并以此计算植被的顶点动画。
也就是说,当子弹通过每个草时,都会因为子弹高速移动产生的风力而对草产生影响,草会随着风力而摆动,当子弹移动到如图4中(b)示出的位置时,草会因为子弹的移动,受到风力的吹动发生向右侧倾倒的效果,展示效果如图4中(b)所示。
最后当子弹移动到最右侧时,参见图4中(c)所示的示意图,草会随着风力的减小而恢复原始形态,即向右侧倾斜后,会再向左恢复初始位置。需要说明的是,在草向左右来回摆动时,会随着风力的减小而降低摆动幅度,从而体现出与真实场景相同原理的效果,以提高用户的参与体验。
综上,本实施例以基于空间3D贴图的动态风系统,当子弹被游戏角色发射后,子弹上挂载的动态风脚本每一帧会将当前位置通过Compute Shader写入3D空间贴图,通过算法转换成当前空间节点所存在的动态风力,以模拟出子弹由于高速运动所产生的风对周边的草丛产生的吹动影响。从而达到模拟真实效果的实现,提高玩家的游玩体验。
本实施例提供的对象更新方法,为了能够提高虚拟场景中的物体变化更接近于真实场景,以提高用户的参与体验。可以在获取包含驱动对象的可视化区域对应的资源图后,根据驱动对象挂载的驱动脚本确定驱动对象的驱动参数,之后再基于驱动参数计算资源图对应的待驱动区域关联的驱动数据,最后在可视化区域中确定驱动对象关联的动态对象,再通过驱动数据对其进行更新,实现了在驱动对象移动的情况下可以产生对动态对象影响的数据,从而能够保证动态对象随着驱动对象的变化趋势而变化,提高在虚拟场景下对象移动的真实性,从而提高用户的参与体验。
与上述方法实施例相对应,本申请还提供了对象更新装置实施例,图5示出了本申请一实施例提供的一种对象更新装置的结构示意图。如图5所示,该装置包括:
获取模块502,被配置为获取包含驱动对象的可视化区域对应的资源图;
确定模块504,被配置为根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数;
计算模块506,被配置为基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;
更新模块508,被配置为在所述可视化区域中确定所述驱动对象关联的动态对象,并通过所述驱动数据对所述动态对象进行更新。
一个可选的实施例中,所述对象更新装置,还包括:
创建模块,被配置为在目标游戏中确定满足所述驱动对象移动的全局可视化区域;针对所述全局可视化区域创建设定尺寸的资源图组成的资源图集合;其中,所述资源图集合中包含的初始资源图的像素点对应所述全局可视化区域中的单位区域。
一个可选的实施例中,所述获取模块502进一步被配置为:
在所述目标游戏中确定当前时刻游戏角色关联的所述驱动对象;根据所述游戏角色在所述全局可视化区域中的位置确定包含所述驱动对象的所述可视化区域;基于所述可视化区域在所述全局可视化区域中的位置关系,在所述资源图集合中提取所述可视化区域对应的所述资源图。
一个可选的实施例中,所述对象更新装置,还包括:
输入模块,被配置为将所述驱动参数输入至预设的动态对象管理器;
其中,所述计算模块506进一步被配置为:
通过输入所述驱动参数的动态对象管理器,计算所述资源图对应的待驱动区域关联的所述驱动数据。
一个可选的实施例中,所述计算模块506进一步被配置为:
所述动态对象管理器按照逐帧处理策略将所述驱动参数通过缓冲区写入图像处理单元;所述图像处理单元基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据。
一个可选的实施例中,所述计算模块506进一步被配置为:
所述图像处理单元基于所述驱动参数,计算所述资源图中的每个像素点对应的虚拟对象系数以及虚拟对象变化数据;在所述可视化区域中确定每个像素点对应的所述待驱动区域,并将所述虚拟对象系数和所述虚拟对象变化数据作为所述待驱动区域关联的驱动数据。
一个可选的实施例中,所述更新模块508进一步被配置为:
确定所述可视化区域中包含的初始动态对象;基于所述驱动对象的运动轨迹在所述初始动态对象中筛选中间动态对象,作为所述驱动对象关联的所述动态对象。
一个可选的实施例中,所述对象更新装置,还包括:
配置模块,被配置为通过所述图像处理单元为所述资源图中的每个像素点配置所述驱动数据;
其中,所述更新模块508进一步被配置为:
通过顶点着色器采样配置所述驱动数据的资源图,根据采样结果获得所述动态对象的顶点所在位置的虚拟对象数据;基于所述虚拟对象数据对所述动态对象进行更新。
一个可选的实施例中,所述对象更新装置,还包括:
根据更新结果创建所述动态对象对应的顶点动画,并展示包含所述顶点动画的游戏画面;或者根据更新结果确定所述驱动对象驱动所述动态对象的关联驱动数据,并基于所述关联驱动数据对游戏画面进行更新。
一个可选的实施例中,所述对象更新装置,还包括:
更新属性模块,被配置为在所述动态对象更新对象属性的情况下,通过所述动态对象管理器确定处理器接口;基于所述处理器接口确定所述动态对象在所述可视化区域中位置对应的虚拟对象;通过所述处理器接口计算所述动态对象与所述虚拟对象之间的目标驱动参数。
本实施例提供的对象更新装置,为了能够提高虚拟场景中的物体变化更接近于真实场景,以提高用户的参与体验。可以在获取包含驱动对象的可视化区域对应的资源图后,根据驱动对象挂载的驱动脚本确定驱动对象的驱动参数,之后再基于驱动参数计算资源图对应的待驱动区域关联的驱动数据,最后在可视化区域中确定驱动对象关联的动态对象,再通过驱动数据对其进行更新,实现了在驱动对象移动的情况下可以产生对动态对象影响的数据,从而能够保证动态对象随着驱动对象的变化趋势而变化,提高在虚拟场景下对象移动的真实性,从而提高用户的参与体验。
上述为本实施例的一种对象更新装置的示意性方案。需要说明的是,该对象更新装置的技术方案与上述的对象更新方法的技术方案属于同一构思,对象更新装置的技术方案未详细描述的细节内容,均可以参见上述对象更新方法的技术方案的描述。此外,装置实施例中的各组成部分应当理解为实现该程序流程各步骤或该方法各步骤所必须建立的功能模块,各个功能模块并非实际的功能分割或者分离限定。由这样一组功能模块限定的装置权利要求应当理解为主要通过说明书记载的计算机程序实现该解决方案的功能模块构架,而不应当理解为主要通过硬件方式实现该解决方案的实体装置。
图6示出了根据本申请一实施例提供的一种计算设备600的结构框图。该计算设备600的部件包括但不限于存储器610和处理器620。处理器620与存储器610通过总线630相连接,数据库650用于保存数据。
计算设备600还包括接入设备640,接入设备640使得计算设备600能够经由一个或多个网络660通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备640可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本申请的一个实施例中,计算设备600的上述部件以及图6中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图6所示的计算设备结构框图仅仅是出于示例的目的,而不是对本申请范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备600可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备600还可以是移动式或静止式的服务器。
其中,处理器620用于执行如下计算机可执行指令:
获取包含驱动对象的可视化区域对应的资源图;
根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数;
基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;
在所述可视化区域中确定所述驱动对象关联的动态对象,并通过所述驱动数据对所述动态对象进行更新。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的对象更新方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述对象更新方法的技术方案的描述。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时以用于:
获取包含驱动对象的可视化区域对应的资源图;
根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数;
基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;
在所述可视化区域中确定所述驱动对象关联的动态对象,并通过所述驱动数据对所述动态对象进行更新。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的对象更新方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述对象更新方法的技术方案的描述。
本申请一实施例还提供一种芯片,其存储有计算机程序,该计算机程序被芯片执行时实现所述对象更新方法的步骤。
上述对本申请特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本申请的内容,可作很多的修改和变化。本申请选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种对象更新方法,其特征在于,包括:
获取包含驱动对象的可视化区域对应的资源图;
根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数,其中,所述驱动脚本为挂载在驱动对象上的风力检测脚本,所述驱动脚本用于实时记录所述驱动对象产生的驱动参数,所述驱动参数为所述驱动对象移动过程中产生的,对其他对象位姿产生影响的参数;
基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;
在所述可视化区域中确定所述驱动对象关联的动态对象,并通过顶点着色器采样配置所述驱动数据的资源图,根据采样结果获得所述动态对象的顶点所在位置的虚拟对象数据;
基于所述虚拟对象数据对所述动态对象进行更新。
2.根据权利要求1所述的对象更新方法,其特征在于,所述获取包含驱动对象的可视化区域对应的资源图步骤执行之前,还包括:
在目标游戏中确定满足所述驱动对象移动的全局可视化区域;
针对所述全局可视化区域创建设定尺寸的资源图组成的资源图集合;
其中,所述资源图集合中包含的初始资源图的像素点对应所述全局可视化区域中的单位区域。
3.根据权利要求2所述的对象更新方法,其特征在于,所述获取包含驱动对象的可视化区域对应的资源图,包括:
在所述目标游戏中确定当前时刻游戏角色关联的所述驱动对象;
根据所述游戏角色在所述全局可视化区域中的位置确定包含所述驱动对象的所述可视化区域;
基于所述可视化区域在所述全局可视化区域中的位置关系,在所述资源图集合中提取所述可视化区域对应的所述资源图。
4.根据权利要求1所述的对象更新方法,其特征在于,所述基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据步骤执行之前,还包括:
将所述驱动参数输入至预设的动态对象管理器;
其中,所述基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据,包括:
通过输入所述驱动参数的动态对象管理器,计算所述资源图对应的待驱动区域关联的所述驱动数据。
5.根据权利要求4所述的对象更新方法,其特征在于,所述通过输入所述驱动参数的动态对象管理器,计算所述资源图对应的待驱动区域关联的所述驱动数据,包括:
所述动态对象管理器按照逐帧处理策略将所述驱动参数通过缓冲区写入图像处理单元;
所述图像处理单元基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据。
6.根据权利要求5所述的对象更新方法,其特征在于,所述图像处理单元基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据,包括:
所述图像处理单元基于所述驱动参数,计算所述资源图中的每个像素点对应的虚拟对象系数以及虚拟对象变化数据;
在所述可视化区域中确定每个像素点对应的所述待驱动区域,并将所述虚拟对象系数和所述虚拟对象变化数据作为所述待驱动区域关联的驱动数据。
7.根据权利要求1所述的对象更新方法,其特征在于,所述在所述可视化区域中确定所述驱动对象关联的动态对象,包括:
确定所述可视化区域中包含的初始动态对象;
基于所述驱动对象的运动轨迹在所述初始动态对象中筛选中间动态对象,作为所述驱动对象关联的所述动态对象。
8.根据权利要求5或6所述的对象更新方法,其特征在于,所述在所述可视化区域中确定所述驱动对象关联的动态对象步骤执行之前,还包括:
通过所述图像处理单元为所述资源图中的每个像素点配置所述驱动数据;
其中,所述通过所述驱动数据对所述动态对象进行更新,包括:
通过顶点着色器采样配置所述驱动数据的资源图,根据采样结果获得所述动态对象的顶点所在位置的虚拟对象数据;
基于所述虚拟对象数据对所述动态对象进行更新。
9.根据权利要求8所述的对象更新方法,其特征在于,还包括:
根据更新结果创建所述动态对象对应的顶点动画,并展示包含所述顶点动画的游戏画面;或者
根据更新结果确定所述驱动对象驱动所述动态对象的关联驱动数据,并基于所述关联驱动数据对游戏画面进行更新。
10.根据权利要求4-6任意一项所述的对象更新方法,其特征在于,所述通过所述驱动数据对所述动态对象进行更新步骤执行之后,还包括:
在所述动态对象更新对象属性的情况下,通过所述动态对象管理器确定处理器接口;
基于所述处理器接口确定所述动态对象在所述可视化区域中位置对应的虚拟对象;
通过所述处理器接口计算所述动态对象与所述虚拟对象之间的目标驱动参数。
11.一种对象更新装置,其特征在于,包括:
获取模块,被配置为获取包含驱动对象的可视化区域对应的资源图;
确定模块,被配置为根据所述驱动对象挂载的驱动脚本确定所述驱动对象的驱动参数,其中,所述驱动脚本为挂载在驱动对象上的风力检测脚本,所述驱动脚本用于实时记录所述驱动对象产生的驱动参数,所述驱动参数为所述驱动对象移动过程中产生的,对其他对象位姿产生影响的参数;
计算模块,被配置为基于所述驱动参数计算所述资源图对应的待驱动区域关联的驱动数据;
更新模块,被配置为在所述可视化区域中确定所述驱动对象关联的动态对象,并通过顶点着色器采样配置所述驱动数据的资源图,根据采样结果获得所述动态对象的顶点所在位置的虚拟对象数据;基于所述虚拟对象数据对所述动态对象进行更新。
12.一种计算设备,其特征在于,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现权利要求1至10任意一项所述方法的步骤。
13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1至10任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111445344.XA CN114047998B (zh) | 2021-11-30 | 2021-11-30 | 对象更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111445344.XA CN114047998B (zh) | 2021-11-30 | 2021-11-30 | 对象更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114047998A CN114047998A (zh) | 2022-02-15 |
CN114047998B true CN114047998B (zh) | 2024-04-19 |
Family
ID=80211951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111445344.XA Active CN114047998B (zh) | 2021-11-30 | 2021-11-30 | 对象更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114047998B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008225571A (ja) * | 2007-03-08 | 2008-09-25 | Namco Bandai Games Inc | プログラム、情報記憶媒体、及び、画像生成システム |
JP2010152870A (ja) * | 2008-11-25 | 2010-07-08 | Sony Corp | 画像処理装置、画像処理方法および画像処理プログラム |
CN108273265A (zh) * | 2017-01-25 | 2018-07-13 | 网易(杭州)网络有限公司 | 虚拟对象的显示方法及装置 |
CN109718540A (zh) * | 2018-12-26 | 2019-05-07 | 网易(杭州)网络有限公司 | 游戏中的漂移效果的实现方法、装置、设备及存储介质 |
CN110215706A (zh) * | 2019-06-20 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 虚拟对象的位置确定方法、装置、终端及存储介质 |
CN111729312A (zh) * | 2020-06-30 | 2020-10-02 | 成都完美时空网络技术有限公司 | 位置同步方法、装置及设备 |
CN112121414A (zh) * | 2020-09-29 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 虚拟场景中的追踪方法、装置、电子设备及存储介质 |
CN112562050A (zh) * | 2020-11-27 | 2021-03-26 | 成都完美时空网络技术有限公司 | 虚拟对象风动画的生成方法及装置、存储介质、终端 |
CN112843679A (zh) * | 2021-03-04 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 虚拟对象的技能释放方法、装置、设备及介质 |
CN112843704A (zh) * | 2021-03-12 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 动画模型处理方法、装置、设备及存储介质 |
CN112907741A (zh) * | 2021-02-05 | 2021-06-04 | 深圳市润谦科技有限公司 | 地形场景生成方法、装置、电子设备及存储介质 |
CN113101637A (zh) * | 2021-04-19 | 2021-07-13 | 网易(杭州)网络有限公司 | 游戏中的场景记录方法、装置、设备及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180276870A1 (en) * | 2017-03-24 | 2018-09-27 | Mz Ip Holdings, Llc | System and method for mass-animating characters in animated sequences |
JP7207911B2 (ja) * | 2018-09-06 | 2023-01-18 | 株式会社バンダイナムコエンターテインメント | プログラム、ゲームシステム、サーバシステム及びゲーム提供方法 |
JP7349242B2 (ja) * | 2018-12-27 | 2023-09-22 | 株式会社バンダイナムコエンターテインメント | ゲームシステム、ゲーム提供方法及びプログラム |
US11493989B2 (en) * | 2019-11-08 | 2022-11-08 | Magic Leap, Inc. | Modes of user interaction |
CN112843700B (zh) * | 2021-03-05 | 2022-08-19 | 腾讯科技(深圳)有限公司 | 地形图像的生成方法、装置、计算机设备和存储介质 |
-
2021
- 2021-11-30 CN CN202111445344.XA patent/CN114047998B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008225571A (ja) * | 2007-03-08 | 2008-09-25 | Namco Bandai Games Inc | プログラム、情報記憶媒体、及び、画像生成システム |
JP2010152870A (ja) * | 2008-11-25 | 2010-07-08 | Sony Corp | 画像処理装置、画像処理方法および画像処理プログラム |
CN108273265A (zh) * | 2017-01-25 | 2018-07-13 | 网易(杭州)网络有限公司 | 虚拟对象的显示方法及装置 |
CN109718540A (zh) * | 2018-12-26 | 2019-05-07 | 网易(杭州)网络有限公司 | 游戏中的漂移效果的实现方法、装置、设备及存储介质 |
CN110215706A (zh) * | 2019-06-20 | 2019-09-10 | 腾讯科技(深圳)有限公司 | 虚拟对象的位置确定方法、装置、终端及存储介质 |
CN111729312A (zh) * | 2020-06-30 | 2020-10-02 | 成都完美时空网络技术有限公司 | 位置同步方法、装置及设备 |
CN112121414A (zh) * | 2020-09-29 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 虚拟场景中的追踪方法、装置、电子设备及存储介质 |
CN112562050A (zh) * | 2020-11-27 | 2021-03-26 | 成都完美时空网络技术有限公司 | 虚拟对象风动画的生成方法及装置、存储介质、终端 |
CN112907741A (zh) * | 2021-02-05 | 2021-06-04 | 深圳市润谦科技有限公司 | 地形场景生成方法、装置、电子设备及存储介质 |
CN112843679A (zh) * | 2021-03-04 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 虚拟对象的技能释放方法、装置、设备及介质 |
CN112843704A (zh) * | 2021-03-12 | 2021-05-28 | 腾讯科技(深圳)有限公司 | 动画模型处理方法、装置、设备及存储介质 |
CN113101637A (zh) * | 2021-04-19 | 2021-07-13 | 网易(杭州)网络有限公司 | 游戏中的场景记录方法、装置、设备及存储介质 |
Non-Patent Citations (8)
Title |
---|
Algorithms for procedural generation and display of trees;H. Nuić 等;2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO);20190524;230-235 * |
Flavio Paulus Franzin等.GPU-Based Rendering and Collision Simulation of Ground Vegetation in Large-Scale Virtual Scenarios.2019 18th Brazilian Symposium on Computer Games and Digital Entertainment (SBGames).2019,106-114. * |
Kan CHEN.Animating 3D vegetation in real-time using a 2D approach.i3D '15: Proceedings of the 19th Symposium on Interactive 3D Graphics and Games.2015,69–76. * |
Real-Time Grass (and Other Procedural Objects) on Terrain;Dimitris Papavasiliou;Journal of Computer Graphics Techniques;20150131;第4卷(第2期);26-49 * |
树随风动的计算机模拟研究;罗胜华;中国优秀硕士论文电子期刊;20090115;1-63 * |
草的捕捉与大规模草地渲染模拟研究和实现;樊增智;中国优秀硕士论文电子期刊;20200131;1-86 * |
风场作用下大规模真实感草地模拟;任庆东等;计算机技术与发展;20130430;第23卷(第4期);198-201 * |
风场作用下大规模草地场景动态模拟;邱航;计算机应用研究;20100831;第27卷(第8期);3171-3175 * |
Also Published As
Publication number | Publication date |
---|---|
CN114047998A (zh) | 2022-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3882870B1 (en) | Method and device for image display, storage medium and electronic device | |
WO2021258994A1 (zh) | 虚拟场景的显示方法、装置、设备及存储介质 | |
CN112241993B (zh) | 游戏图像处理方法、装置及电子设备 | |
CN112489171B (zh) | 一种动画效果模拟方法及装置 | |
US8363051B2 (en) | Non-real-time enhanced image snapshot in a virtual world system | |
CN114419099B (zh) | 捕捉待渲染虚拟对象的运动轨迹的方法 | |
CN112927332B (zh) | 骨骼动画更新方法、装置、设备及存储介质 | |
CN112669414B (zh) | 动画数据的处理方法及装置、存储介质、计算机设备 | |
WO2023160054A1 (zh) | 一种图像渲染方法、装置、电子设备、计算机可读存储介质及计算机程序产品 | |
CN106780707B (zh) | 模拟场景中全局光照的方法和装置 | |
CN110570500B (zh) | 角色绘制方法、装置、设备及计算机可读存储介质 | |
CN115228083A (zh) | 一种资源渲染方法及装置 | |
US10839587B2 (en) | Image processing methods and devices for moving a target object by using a target ripple | |
CN113332714B (zh) | 游戏模型的补光方法及装置、存储介质、计算机设备 | |
JP2008033522A (ja) | プログラム、情報記憶媒体、及び画像生成システム | |
CN112891940A (zh) | 图像数据处理方法及装置、存储介质、计算机设备 | |
CN114047998B (zh) | 对象更新方法及装置 | |
JP2008027064A (ja) | プログラム、情報記録媒体および画像生成システム | |
CN112604279A (zh) | 一种特效显示方法及装置 | |
CN109692476B (zh) | 游戏交互方法、装置、电子设备及存储介质 | |
CN113313796B (zh) | 场景生成方法、装置、计算机设备和存储介质 | |
CN115970275A (zh) | 虚拟对象的投影处理方法、装置、存储介质与电子设备 | |
CN115564878A (zh) | 虚拟对象更新方法及装置 | |
CN114219888A (zh) | 三维角色动态剪影效果生成方法及装置、存储介质 | |
CN114782593A (zh) | 图像处理方法、装置、电子设备及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |