CN114020355A - 基于缓存空间的对象加载方法及装置 - Google Patents
基于缓存空间的对象加载方法及装置 Download PDFInfo
- Publication number
- CN114020355A CN114020355A CN202111281767.2A CN202111281767A CN114020355A CN 114020355 A CN114020355 A CN 114020355A CN 202111281767 A CN202111281767 A CN 202111281767A CN 114020355 A CN114020355 A CN 114020355A
- Authority
- CN
- China
- Prior art keywords
- interaction
- target
- target object
- type
- interactive
- 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.)
- Granted
Links
- 238000011068 loading method Methods 0.000 title claims abstract description 83
- 230000003993 interaction Effects 0.000 claims abstract description 343
- 230000002452 interceptive effect Effects 0.000 claims abstract description 152
- 230000000007 visual effect Effects 0.000 claims abstract description 101
- 238000000034 method Methods 0.000 claims abstract description 38
- 230000001960 triggered effect Effects 0.000 claims abstract description 31
- 230000009471 action Effects 0.000 claims description 119
- 230000004044 response Effects 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 description 14
- 241000196324 Embryophyta Species 0.000 description 12
- 230000008859 change Effects 0.000 description 9
- 235000011430 Malus pumila Nutrition 0.000 description 7
- 235000015103 Malus silvestris Nutrition 0.000 description 7
- 241000220225 Malus Species 0.000 description 5
- 230000002829 reductive effect Effects 0.000 description 5
- 235000013399 edible fruits Nutrition 0.000 description 4
- 238000012544 monitoring process Methods 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 244000141359 Malus pumila Species 0.000 description 3
- 230000008901 benefit Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 239000000463 material Substances 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 238000005316 response function Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 235000021016 apples Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000011022 operating instruction Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
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/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- User Interface Of Digital Computer (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明涉及电子信息领域,具体公开了一种基于缓存空间的对象加载方法及装置,用以解决对象加载速度慢的问题。该方法包括:确定所述虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间;其中,所述目标对象预先加载有对象视觉模型;获取与所述虚拟场景相对应的场景信息,根据所述场景信息确定所述目标对象中符合交互条件的交互对象;从所述缓存空间中获取并加载所述交互对象的对象交互模型;其中,所述对象交互模型用于响应针对所述交互对象触发的交互操作。该方式将对象视觉模型与对象交互模型分离,使对象交互模型能够按需加载,从而大幅提升了对象加载速度,确保界面显示的流畅性。
Description
技术领域
本发明实施例涉及电子信息领域,具体涉及一种基于缓存空间的对象加载方法及装置。
背景技术
随着虚拟现实技术的日益发展,虚拟场景中能够展示的对象种类和数量日益增多。并且,随着交互技术的日益成熟,虚拟场景中包含的很多对象能够实现交互功能。例如,部分虚拟对象能够响应虚拟场景中的动作对象触发的交互操作,从而展示与交互操作相对应的状态。比如,在虚拟场景中,若某一动物或植物类对象受到其他用户的攻击,则该动物或植物类对象应呈现出与攻击相对应的状态,如倒地、或掉落枝叶等。
在现有技术中,各个虚拟对象设置有对应的对象模型,该对象模型集成有视觉展示功能以及交互响应功能,以使展示的虚拟对象能够同时实现交互功能。发明人在实现本发明的过程中发现,现有的对象加载方式至少存在如下缺陷:当虚拟场景中包含的可交互的虚拟对象的数量较多时,需要逐一加载各个虚拟对象的对象模型,而对象模型由于集成了视觉展示功能以及交互响应功能两方面的功能,导致数据量较大,从而造成加载耗时、界面卡顿等技术问题。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于缓存空间的对象加载方法及装置。
根据本发明的一个方面,提供了一种基于缓存空间的对象加载方法,包括:
确定所述虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间;其中,所述目标对象预先加载有对象视觉模型;
获取与所述虚拟场景相对应的场景信息,根据所述场景信息确定所述目标对象中符合交互条件的交互对象;
从所述缓存空间中获取并加载所述交互对象的对象交互模型;其中,所述对象交互模型用于响应针对所述交互对象触发的交互操作。
依据本发明的再一方面,提供了一种基于缓存空间的对象加载装置,包括:
缓存模块,适于确定所述虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间;其中,所述目标对象预先加载有对象视觉模型;
交互判断模块,适于获取与所述虚拟场景相对应的场景信息,根据所述场景信息确定所述目标对象中符合交互条件的交互对象;
加载模块,适于从所述缓存空间中获取并加载所述交互对象的对象交互模型;其中,所述对象交互模型用于响应针对所述交互对象触发的交互操作。
依据本发明的再一方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述的基于缓存空间的对象加载方法对应的操作。
依据本发明实施例的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述的基于缓存空间的对象加载方法对应的操作。
在本发明提供的基于缓存空间的对象加载方法及装置中,确定虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间;获取与虚拟场景相对应的场景信息,根据场景信息确定目标对象中符合交互条件的交互对象,从缓存空间中获取并加载交互对象的对象交互模型。在本发明中,将对象视觉模型与对象交互模型分离,各个目标对象在初始状态下仅加载对象视觉模型,由于对象视觉模型中不包含交互信息,占用资源少,因此,能够提升加载速度,避免界面卡顿。由此可见,该方法将对象视觉模型与对象交互模型分离,使对象交互模型能够按需加载,从而大幅提升了对象加载速度,确保界面显示的流畅性。并且,预先将目标对象的对象交互模型缓存至缓存空间,能够大幅提升后续加载的速度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明一个实施例提供的一种基于缓存空间的对象加载方法的流程图;
图2示出了本发明又一个实施例提供的一种基于缓存空间的对象加载方法的流程图;
图3示出了本发明又一个实施例提供的一种基于缓存空间的对象加载装置的结构示意图;
图4示出了本发明实施例五提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了本发明一个实施例提供的一种基于缓存空间的对象加载方法的流程图。如图1所示,该方法包括:
步骤S110:确定虚拟场景中包含的目标对象,将目标对象的对象交互模型缓存至缓存空间;其中,目标对象预先加载有对象视觉模型。
其中,本实施例中的虚拟场景包括各类由电子屏幕呈现的场景,如游戏场景、虚拟现实场景、人机交互场景等。虚拟场景中包含的目标对象是指:能够根据交互操作显示交互状态的对象。换言之,目标对象主要是指具有交互功能的对象。相应的,在本实施例中,预先在虚拟场景中加载目标对象的对象视觉模型。其中,目标对象的数量可以为一个或多个,对象视觉模型用于呈现目标对象的视觉特征,如颜色、形状、以及材质等。
目标对象除具有对象视觉模型之外,还具有对象交互模型。其中,对象交互模型用于提供交互功能。为了降低加载量,先将对象交互模型缓存到缓存空间中,而不直接加载至目标对象。
步骤S120:获取与虚拟场景相对应的场景信息,根据场景信息确定目标对象中符合交互条件的交互对象。
其中,与虚拟场景相对应的场景信息包括:与场景的加载进度、场景的切换状态、场景中包含的各个对象的状态相关的内容。具体实施时,凡是与虚拟场景相关联的信息均可作为场景信息,本发明对场景信息的具体内涵不做限定。其中,虚拟场景中通常包含多个虚拟的对象,如人物对象、植物对象、以及物品对象等。虚拟场景中的各个对象具有对象状态信息,该对象状态信息用于反映对象的位置状态、交互状态等属性。相应的,与虚拟场景相对应的场景信息包括:直接和/或间接出现于虚拟场景中的各个对象的对象状态信息。其中,直接出现于虚拟场景中的对象是指:虚拟场景中呈现的对象,如虚拟场景中呈现的人物对象、植物对象等;间接出现于虚拟场景中的对象是指:未直接呈现在虚拟场景中,但该对象的运动状态将影响虚拟场景中的其他对象的显示状态的对象。例如,对于游戏类虚拟场景而言,通常会针对游戏用户设置对应的虚拟对象,该虚拟对象可能不会直接呈现在游戏界面中,但是,随着该虚拟对象的移动,游戏界面中的其他对象的显示状态将对应调整。其中,与游戏用户相对应的虚拟对象也叫受控对象,用于根据游戏用户的控制执行对应的操作。
由此可见,在本步骤中,动态检测与虚拟场景相对应的场景信息,其中,场景信息主要包括与虚拟场景相对应的对象的状态信息,本领域技术人员可灵活设定与虚拟场景相对应的对象的种类和数量,本发明对此不做限定。
另外,场景信息除包含与对象相关的状态信息之外,还可以设置为与场景的加载进度、视角变化或切换状态相关的信息。例如,在虚拟场景的视角逐渐变化的情况下,随着视角的变化,虚拟场景的展示状态也将随之调整(如场景中的图像呈现出由远及近的动态变化),相应的,可以将虚拟场景的视角变化信息作为上述的场景信息。
其中,在根据场景信息确定目标对象中符合交互条件的交互对象时,交互条件可通过多种方式设置。例如,交互条件可根据与虚拟场景相对应的动作对象的对象状态信息、和/或虚拟场景中包含的目标对象的对象状态信息进行设置。其中,与虚拟场景相对应的动作对象是指:直接或间接出现于虚拟场景中,并且,能够主动触发交互操作和/或能够动态移动位置的对象。例如,虚拟场景中的人物、动物都可以作为动作对象。相应的,动作对象的对象状态信息包括与动作对象的交互操作和/或位置变化相关的各类信息。例如,对象状态信息包括:动作对象相对于目标对象的相对位置信息、和/或动作对象触发的交互操作的操作状态信息。其中,动作对象触发的交互操作的操作状态信息用于描述交互操作的操作类型、操作位置、和/或操作结果等各类与交互操作相关的内容。同理,目标对象的对象状态信息与动作对象的对象状态信息类似。具体实施时,既可以将动作对象的对象状态信息作为交互条件,从而在动作对象靠近目标对象或针对目标对象发起交互操作时,确定目标对象满足交互条件;也可以将目标对象的对象状态信息作为交互条件,从而在目标对象靠近预设位置时,确定目标对象满足交互条件。总之,本发明不限定交互条件的具体内涵,本领域技术人员可根据动态监测的各个对象的对象状态信息,灵活设定交互条件。例如,在一种可选的实现方式中,交互条件主要包括:距离类交互条件、以及操作类交互条件。通过距离类交互条件判断动作对象与目标对象的相对距离是否小于第一预设距离阈值,通过操作类交互条件判断动作对象是否针对目标对象具有交互意图。其中,距离类条件以及操作类条件可以单独使用。或者,距离类条件以及交互类条件也可以结合使用,当二者结合使用时,交互条件为同时包含距离类交互条件以及操作类交互条件的组合条件。
另外,除根据与虚拟场景相对应的对象的状态信息设置交互条件之外,还可以根据其他类型的场景信息设置交互条件。例如,在虚拟场景的视角逐渐变化的情况下,动态检测场景视角的变化情况,并根据场景视角变化后的虚拟场景所展示的图像内容设定交互条件。例如,当场景视角变化后,若检测到虚拟场景中的预设图像区域移动至指定位置,则确定位于该预设图像区域内的目标对象符合交互条件。其中,预设图像区域以及指定位置可根据实际情况灵活设定。总之,本发明不限定交互条件的具体内涵,本领域技术人员可根据与虚拟场景的场景信息相关的内容进行灵活设置。
步骤S130:从缓存空间中获取并加载交互对象的对象交互模型;其中,对象交互模型用于响应针对交互对象触发的交互操作。
其中,由于预先将目标对象的对象交互模型缓存至缓存空间,因此,直接从缓存空间中获取并加载交互对象的对象交互模型即可,与传统的从硬盘等存储设备中获取并加载对象交互模型的方式相比,该方式利用缓存空间降低了加载耗时,提升了加载速度。
由此可见,在本发明提供的基于缓存空间的对象加载方法中,确定虚拟场景中包含的目标对象,将目标对象的对象交互模型缓存至缓存空间;获取与虚拟场景相对应的场景信息,根据场景信息确定目标对象中符合交互条件的交互对象,从缓存空间中获取并加载交互对象的对象交互模型。在本发明中,将对象视觉模型与对象交互模型分离,各个目标对象在初始状态下仅加载对象视觉模型,由于对象视觉模型中不包含交互信息,占用资源少,因此,能够提升加载速度,避免界面卡顿。由此可见,该方法将对象视觉模型与对象交互模型分离,使对象交互模型能够按需加载,从而大幅提升了对象加载速度,确保界面显示的流畅性。并且,预先将目标对象的对象交互模型缓存至缓存空间,能够大幅提升后续加载的速度。
图2示出了本发明又一实施例提供的一种基于缓存空间的对象加载方法的流程图。如图2所示,该方法包括:
步骤S200:确定虚拟场景中包含的目标对象。
为了提升目标对象的对象交互模型的加载速度,在本实施例中,预先确定虚拟场景中包含的目标对象,以便将目标对象的对象交互模型提前加载至缓存空间。其中,本实施例中的目标对象通常是指可呈现交互状态的对象。优选地,本实施例中的目标对象主要是指:能够响应于动作对象的触发操作,呈现与触发操作相对应的碰撞响应状态的对象。通常情况下,目标对象无法主动触发交互操作,只能被动响应由动作对象触发的交互操作。其中,动作对象是指:能够主动触发交互操作的虚拟对象,如可移动的动物类对象。与上一实施例类似,动作对象包括直接或间接出现于虚拟场景中的对象。
具体实施时,获取虚拟场景中包含的各个对象的对象描述信息,根据对象描述信息确定虚拟场景中包含的目标对象。相应的,针对目标对象设置相互分离的对象视觉模型以及对象交互模型,并预先将对象交互模型缓存至缓存空间。由此可见,通过对象描述信息选择特定的对象作为目标对象,能够实现对象交互模型的快速加载,从而优化目标对象的加载效率。例如,可选择将无法主动触发交互操作、和/或交互频次较低的可交互对象设置为目标对象,由于该类对象通常仅用于被动响应交互操作,当未接收到交互操作时则无需响应,因此,将该类对象作为目标对象,能够在不影响交互效果的前提下,提升加载效率。
具体的,对象描述信息包括以下中的至少一个:对象类别信息、同类对象数量、对象交互方式、以及历史交互记录。相应的,目标对象的确定方式可通过如下方式中的至少一种实现:
在第一种实现方式中,对象描述信息为对象类别信息,根据对象类别信息确定目标对象以及非目标对象。比如,将对象类别信息为动物类的虚拟对象划分为非目标对象,将对象类别信息为植物类的虚拟对象划分为目标对象。其中,非目标对象通过一次性加载方式进行加载,而目标对象则通过对象视觉模型与对象交互模型相互分离的方式进行加载。由于植物类虚拟对象无法主动触发交互操作,因而可以在初始加载阶段暂不加载对象交互模型,从而提升加载效率。另外,非目标对象可以包括:一次性加载同时支持视觉展示功能以及交互操作功能的对象模型的动物类对象、仅加载支持视觉展示功能的对象模型的静态类对象(如高山、峭壁等)。
在第二种实现方式中,对象描述信息为同类对象数量,根据同类对象数量划分目标对象以及非目标对象。比如,将同类对象数量超过预设值的虚拟对象划分为目标对象。实际情况中,在游戏类的虚拟场景中可能包含大量的植物类对象(如草木类对象),由于植物类对象的数量庞大,因此,加载耗时较大,通过将植物类对象确定为目标对象,能够大幅缩短植物类对象的加载耗时。
在第三种实现方式中,对象描述信息为对象交互方式,根据对象交互方式确定目标对象以及非目标对象。比如,将交互方式单一的对象确定为目标对象。实际情况中,一部分对象具有多种交互方式,而另一部分对象则仅具有单一的交互方式,相应的,交互方式单一的对象的交互概率较低,因此,将交互方式单一的对象划分为目标对象有助于提升加载效率。
在第四种实现方式中,对象描述信息为历史交互记录,根据对象的历史交互记录确定目标对象以及非目标对象。比如,预先获取各个用户针对各种类型的对象的历史交互记录,从而按照交互频次进行分类,将交互频次较低的对象划分为目标对象。由于交互频次较低的对象产生交互的概率较低,在该类对象未产生交互的情况下无需加载对象交互模型,因此,该方式也有助于提升加载效率。
上述几种划分方式既可以单独使用,也可以结合使用,本发明对具体细节不做限定。当然,本步骤为一个可选的步骤,在其他实施例中,也可以省略本步骤,直接将全部虚拟对象作为目标对象。
步骤S210:针对目标对象设置相互分离的对象视觉模型以及对象交互模型。
一方面,获取目标对象的视觉展示特征,根据目标对象的视觉展示特征生成目标对象的对象视觉模型。其中,对象视觉模型用于实现目标对象的视觉展示功能,具体包括与目标对象的视觉效果相关的属性信息,如目标对象的坐标位置、颜色、尺寸、旋转角度、以及缩放比例等。另一方面,获取目标对象的交互响应方式,根据目标对象的交互响应方式生成目标对象的对象交互模型。其中,对象交互模型用于使目标对象具备响应交互操作的能力,具体包括与碰撞检测相关的逻辑功能。由此可见,通过将目标对象的对象视觉模型以及对象交互模型分离设置,能够实现对象交互模型的按需加载,从而提升加载速度。
另外,发明人在实现本发明的过程中发现,在虚拟场景中,可能包含多种相同类型的目标对象,因此,分别针对每一个目标对象单独设置对象视觉模型以及对象交互模型需要耗费大量的系统资源。为了节约系统资源,提升存储效率,可选的,进一步将目标对象按照对象类型进行划分,并分别针对每一种对象类型设置对应的类型视觉模型以及类型交互模型。其中,类型视觉模型用于实现对应类型的目标对象的视觉展示功能,类型交互模型用于实现对应类型的目标对象的交互操作功能。通过使同一类型的目标对象复用同一个类型视觉模型或类型交互模型,能够大幅降低存储资源消耗,且便于实现同类型的目标对象的批量加载。
在一种实现方式中,针对虚拟场景中包含的各个目标对象进行聚类,得到至少一个对象类型;分别针对各个对象类型,设置与该对象类型相对应的类型交互模型。例如,将乔木类的目标对象聚类为乔木对象类型,将灌木类的目标对象聚类为灌木对象类型,分别针对各种对象类型设置对应的类型交互模型。
在一种实现方式中,可根据各个目标对象的对象种类、对象视觉信息进行聚类,得到至少一个对象类型。其中,对象种类可为上文提到的树木种类等;对象视觉信息包括:对象尺寸、对象形状、对象中包含的视觉模块。例如,将对象尺寸类似或对象形状类似的多个目标对象聚类为一个对象类型。比如,各种树木的尺寸或形状均大同小异,因此,可针对树木设置统一的类型交互模型。又如,将包含相同视觉模块的多个目标对象聚类为一个对象类型,并根据该相同的视觉模块设置类型交互模型。其中,视觉模块是指:用于呈现该目标对象的各个对象部件的视觉效果的模块。例如,苹果树对象包括:用于呈现树枝的视觉效果的树枝类视觉模块、用于呈现树干的视觉效果的树干类视觉模块、以及用于呈现果实的视觉效果的果实类视觉模块。相应的,可以从目标对象对应的多个视觉模块中,提取一个主体视觉模块,并基于该主体视觉模块设置类型交互模型。该主体视觉模块通常为多个目标对象所共有的视觉模块、或表面积较大、或形状较规则的视觉模块。在一种实现方式中,分别针对各个目标对象,从该目标对象的多个视觉模块中提取主体视觉模块;将主体视觉模块相同的多个目标对象聚类为与该主体视觉模块相对应的对象类型。相应的,分别针对各个对象类型,根据该对象类型所对应的主体视觉模块设置类型交互模型。例如,将树干类视觉模块作为主体视觉模块,并基于树干类视觉模块设置类型交互模型。相应的,类型交互模型的形状和位置与树干相匹配。具体的,可以在树干位置添加矩形形状的碰撞盒作为类型交互模型。
另外,步骤S210为一个可选的步骤,目的在于提升后续的加载速度,在本发明其他的实施例中,也可以省略步骤S210,并在后续步骤中实时生成并加载对象视觉模型以及对象交互模型。
步骤S220:加载目标对象的对象视觉模型,并将目标对象的对象交互模型缓存至缓存空间。
其中,预先在虚拟场景中加载目标对象的对象视觉模型,对象视觉模型用于呈现目标对象的视觉特征,如颜色、形状、以及材质等。并且,将目标对象的对象交互模型缓存至访问速度较快的缓存空间,以提升后续的加载速度。其中,缓存空间可以为内存、高速缓存等,只要能够实现快速访问的目的即可。
另外,在将目标对象的对象交互模型缓存至缓存空间时,进一步确定目标对象的对象类型,获取与对象类型相对应的类型交互模型,将类型交互模型作为目标对象的对象交互模型缓存至缓存空间,从而提升对象交互模型的复用率。
另外,还可以进一步将目标对象划分为第一类目标对象以及第二类目标对象,并将第一类目标对象的对象交互模型缓存至缓存空间,而将第二类目标对象的对象交互模型保留在硬盘等非缓存空间内。其中,第一类目标对象是指:需要快速响应交互动作的对象。即:第一类目标对象的响应优先级高于第二类目标对象。例如,与确定目标对象以及非目标对象的方式类似,可根据对象类别信息、同类对象数量、对象交互方式、以及历史交互记录等信息确定第一类目标对象以及第二类目标对象,以便将交互优先级较高的目标对象确定为第一类目标对象。例如,将历史交互频次较高的目标对象确定为第一类目标对象。通过上述方式,能够将响应优先级较高的交互对象缓存至缓存空间,以便在再次加载时提升加载速度。其中,所谓响应优先级较高,是指该交互对象在接收到交互操作时需要立即响应,若响应不及时则会导致画面卡顿、交互结果出错等异常情况。例如,在游戏场景中,部分交互对象在响应交互操作时,交互操作结果与关联实体的实体属性相关,因此,为了确保关联实体的实体属性的准确性,需要及时响应该交互对象的交互操作,即:具有关联实体的目标对象的响应优先级高于不具有关联实体的目标对象的响应优先级。比如,假设目标对象为“苹果树”,其具有关联实体“苹果篮”;并且,每当“苹果树”被击落苹果时,其对应的关联实体“苹果篮”的实体属性将动态改变(根据苹果蓝中增加的苹果数量而调整)。
由此可见,通过划分目标对象以及非目标对象,能够使目标对象的对象视觉模型以及对象交互模型分离,通过在交互之前仅加载对象视觉模型的方式提升加载速度。通过划分第一类目标对象以及第二类目标对象,能够将交互实时性较高的第一类目标对象的对象交互模型预先缓存至缓存空间,从而提升后续的加载速度。另外,交互实时性较低的第二类目标对象的对象交互模型仍存储在硬盘空间等非缓存空间中。其中,由于缓存空间具有加载速度快、且重启后数据易丢失等特点,所以,预先将所有目标对象的对象交互模型都存储在硬盘等非缓存空间中,并在虚拟场景加载时,进一步将第一类目标对象的对象交互模型缓存至缓存空间,以提升后续的加载速度。其中,本实施例中的缓存空间包括:内存空间;非缓存空间包括:本地终端中包含的硬盘空间、或云服务器中包含的存储空间。
另外,在又一种可选的实现方式中,缓存空间进一步包括:多个缓存子空间,各个缓存子空间的访问速度不同,且各个缓存子空间分别对应于不同的对象优先级。例如,将缓存空间划分为多个层级,不同层级的缓存子空间的访问速度和数据缓存时长各不相同。在一种情况中,第一层级的缓存子空间的缓存时长为第一时长,访问速度为第一速率;第二层级的缓存子空间的缓存时长为第二时长,访问速度为第二速率……以此类推。其中,第一时长小于第二时长,且第一速率大于第二速率。相应的,在将目标对象的对象交互模型缓存至缓存空间时,进一步确定目标对象的对象优先级,将目标对象的对象交互模型缓存至与对象优先级相对应的缓存子空间。其中,目标对象的对象优先级可根据对象的类型、访问频次等信息确定。
另外,上文已经提到过,为了节约系统资源,提升存储效率,可以将目标对象按照对象类型进行划分,并分别针对每一种对象类型设置对应的类型视觉模型以及类型交互模型。相应的,在虚拟场景中加载目标对象的对象视觉模型之前,进一步获取与目标对象的对象类型相对应的类型视觉模型,根据类型视觉模型得到目标对象的对象视觉模型。考虑到实际场景中的各个目标对象可能具有独特的位姿状态,例如,同一种类的多个草木对象,生长于不同位置时的生长朝向、大小、坐标等信息各不相同,因此,为了能够准确展示各个目标对象的位姿,在本步骤中,首先,获取与目标对象的对象类型相对应的类型视觉模型;然后,获取与目标对象的对象标识相对应的对象位姿信息;最后,根据对象位姿信息,对类型视觉模型的位姿状态进行调整,以得到目标对象的对象视觉模型。由此可见,该方法能够将调整后的类型视觉模型加载为该目标对象的对象视觉模型。其中,对象位姿信息与目标对象的对象标识关联存储,用于描述该目标对象的位姿状态。具体的,对象位姿信息包括:对象的位置坐标、尺寸大小、旋转角度、以及缩放比例等与对象的位置和姿态相关的内容。另外,对象位姿信息还可以包括:对象的颜色信息、材质信息等,总之,凡是与对象的位置和姿态相关的属性特征均可作为对象位姿信息。由此可见,在本实施例中,一个目标对象通过对象类型以及对象标识共同表示,其中,对象类型用于指示对象所属的种类,对象标识用于唯一标识一个特定的对象。并且,通过将同类型的目标对象共有的视觉特征存储到与对象类型相关联的类型视觉模型中,并将每个目标对象独有的位姿特征存储到与对象标识相关联的对象位姿信息中,能够兼顾同类对象的共性以及每个对象的特性。
步骤S230:获取与虚拟场景相对应的场景信息,根据场景信息确定目标对象中符合交互条件的交互对象。
其中,与虚拟场景相对应的场景信息主要是指:与虚拟场景相对应的动作对象的对象状态信息。其中,与虚拟场景相对应的动作对象包括:直接或间接出现于虚拟场景中的动作对象,该动作对象主要是指能够主动触发交互动作的对象,具体可以为虚拟场景中的动物对象、人物对象等。或者,还可以为游戏场景中的游戏用户所对应的受控对象。具体的,动作对象的对象状态信息包括:动作对象相对于目标对象的相对位置信息、和/或动作对象触发的交互操作的操作状态信息。其中,由于动作对象能够移动位置,因此,动作对象相对于目标对象的相对位置信息是不断变化的。另外,动态检测动作对象触发的交互操作,从而获取交互操作的操作状态信息。当然,本领域技术人员能够理解的是,与虚拟场景相对应的场景信息还可以为其他各类与场景相关的信息,本发明对此不做限定。
另外,根据场景信息判断目标对象是否符合交互条件,并将符合交互条件的目标对象确定为交互对象。其中,目标对象的数量可能为一个或多个。由于场景信息是动态变化的,因此,目标对象中符合交互条件的交互对象也是动态变化的。具体的,交互条件包括以下中的至少一种:
第一种交互条件为距离判断条件:动作对象与目标对象之间的相对距离小于第二预设距离阈值。具体的,根据动作对象相对于目标对象的相对位置信息,确定动作对象与目标对象之间的相对距离小于第二预设距离阈值时,确定目标对象符合交互条件。由此可见,第一种交互条件为距离类条件,主要根据目标对象相对于动作对象或预设位置的相对距离进行判断。具体实施时,若动作对象与任一目标对象之间的相对距离小于第一预设距离阈值,则将相对距离小于第二预设距离阈值的目标对象确定为符合交互条件的交互对象。其中,第二预设距离阈值可根据具体场景设置,例如,在游戏场景中,可根据普通攻击范围所对应的距离值设置该第二预设距离阈值。
第二种交互条件为交互意图判断条件:动作对象针对目标对象具有交互意图;其中,交互意图根据动作对象触发的交互操作的操作类型确定。具体实施时,获取动作对象触发的交互操作的操作类型等信息,在根据操作类型确定动作对象针对任一目标对象具有交互意图的情况下,将该具有交互意图的目标对象确定为符合交互条件的交互对象。具体的,检测动作对象触发的交互操作,根据交互操作的操作类型以及操作状态,判断动作对象具有交互意图的目标对象。其中,可以将动作对象已触发交互行为的目标对象确定为具有交互意图的交互对象,如将动作对象已执行攻击操作的目标对象确定为具有交互意图的交互对象;还可以将动作对象尚未触发攻击行为、且将要触发攻击操作(如执行了诸如抬起手臂之类的攻击之前的准备动作)的目标对象确定为具有交互意图的交互对象。
其中,第二种交互条件旨在判断动作对象是否针对目标对象具有交互意图。具体实施时,可以预先确定与交互意图相关的各种交互操作的操作类型,从而根据动作对象触发的交互操作的操作类型判断动作对象是否具有交互意图。其中,与交互意图相关的各种交互操作的操作类型可以进一步划分为:与直接意图相对应的第一操作类型,如攻击类操作;以及与间接意图相对应的第二操作类型,如与攻击类操作相对应的准备操作。通过检测动作对象针对目标对象触发的交互操作的操作类型是否属于第一操作类型或第二操作类型,能够准确判断动作对象的操作意图。其中,通过设置第二操作类型能够提前预判动作对象的意图,从而确保目标对象的对象交互模型的及时加载。
上述两种方式既可以单独使用,也可以结合使用。当二者结合使用时,可以在目标对象同时满足上述两个条件,即距离较近且具有交互意图时,确定该目标对象为交互对象。或者,当二者结合使用时,也可以针对上述两个条件设置优先级,比如,先执行距离判断条件,并在距离判断条件满足的情况下,进一步执行交互意图判断条件,从而仅针对距离较近的若干目标对象监测交互意图,从而降低监测成本。又如,先执行交互意图判断条件,并在具有交互意图的情况下,进一步执行距离判断条件,从而仅针对具有交互意图的若干目标对象监测距离,同样能够达到降低监测成本的目的。
步骤S240:从缓存空间中获取并加载交互对象的对象交互模型;其中,对象交互模型用于响应针对交互对象触发的交互操作。
其中,当确定交互对象之后,从缓存空间中获取并加载交互对象的对象交互模型。当目标对象进一步划分为第一类目标对象以及第二类目标对象时,若交互对象属于第一类目标对象,则从缓存空间中获取并加载交互对象的对象交互模型;若交互对象属于第二类目标对象,则从非缓存空间中获取并加载交互对象的对象交互模型。
前文已经描述过,为了提升模型的复用率,降低存储空间,针对同一类型的目标对象设置有类型交互模型,相应的,从缓存空间中获取并加载交互对象的对象交互模型时,只需从缓存空间中获取对应的类型交互模型进行加载即可,从而能够进一步提升加载速度。
另外,考虑到各个目标对象具有不同的位姿信息,因此,在本步骤中,还可以进一步根据与交互对象的对象标识相对应的对象位姿信息,对类型交互模型的位姿状态进行调整,以得到交互对象的对象交互模型。其中,对象位姿信息即为上文获取的与对象标识关联存储的对象位姿信息。通过对象位姿信息,能够将通用于同一类型的目标对象的类型交互模型调整为与当前目标对象的特定位姿状态匹配的对象交互模型,从而在尽可能降低存储空间的前提下,优化各个目标对象的展示状态。具体的,类型交互模型可通过碰撞盒实现,具体用于存储碰撞检测信息。
另外,当虚拟场景中包含的目标对象的数量为多个时,由于交互操作的影响范围较大,可能导致相邻的多个目标对象都受到交互操作的影响。此时,为了真实模拟各个目标对象的交互状态,在加载交互对象的对象交互模型时,需要进一步确定与交互对象存在关联关系的关联对象,以便进一步加载关联对象的对象交互模型。
具体的,在确定与交互对象存在关联关系的关联对象时,可通过多种方式实现,例如,将交互对象的第一预设范围内的目标对象确定为关联对象,该方式旨在将交互对象的邻近区域内的目标对象确定为关联对象;又如,将动作对象的第二预设范围内的目标对象确定为关联对象,该方式旨在将动作对象的邻近区域内的目标对象确定为关联对象。其中,上述第一预设范围和/或第二预设范围可通过多种方式设置,例如,可通过以下方式中的至少一种确定第一预设范围和/或第二预设范围:
在第一种确定方式中,获取展示虚拟场景的终端设备的设备属性信息,确定与设备属性信息相对应的区域范围阈值,根据区域范围阈值确定第一预设范围和/或第二预设范围。其中,终端设备的设备属性信息包括:设备类型信息(如移动设备、固定设备等)、和/或设备性能信息(如硬件配置信息等)。相应的,若设备类型信息为移动设备、和/或根据设备性能信息确定设备的配置较低,则需要减小区域范围阈值,以避免因加载量过大而导致的卡顿问题;若设备类型信息为固定设备、和/或根据设备性能信息确定设备的配置较高,则可以增大区域范围阈值,从而加载更大范围内的目标对象,进而使交互体验更加真实。由此可见,通过预先存储设备属性信息与区域范围阈值之间的对应关系,能够根据设备属性信息,灵活确定区域范围阈值的大小。该区域范围阈值用于设定第一预设范围和/或第二预设范围的尺寸。
在第二种确定方式中,获取动作对象的运动轨迹信息,以及由动作对象连续触发的多个交互操作的操作位置信息,根据运动轨迹信息以及操作位置信息,预测动作对象的意图操作区域,根据意图操作区域确定第一预设范围和/或第二预设范围。例如,根据动作对象的运动轨迹信息,能够确定动作对象的运动趋势和运动方向,从而根据运动趋势和运动方向预测动作对象的意图操作区域。又如,根据动作对象连续触发的多个交互操作的操作位置信息,能够确定动作对象的交互趋势和交互方向,从而根据交互趋势和交互方向预测动作对象的意图操作区域。比如,当动作对象执行攻击类交互操作时,可根据多次攻击类交互操作的攻击方向预测意图操作区域。通过预测意图操作区域,能够在动作对象触发交互操作之前,预判可能的操作区域,从而使关联对象的设置更加合理。实际情况中,在该方式中,也可以直接根据预测得到的动作对象的意图操作区域确定与交互对象存在关联关系的关联对象,而无需设置第一预设范围以及第二预设范围。
在第三种确定方式中,获取动作对象的历史交互记录,根据历史交互记录确定动作对象针对各种类型的目标对象的交互偏好,根据交互偏好确定动作对象的偏好类型,根据与偏好类型相对应的目标对象所处的区域确定第一预设范围和/或第二预设范围。具体的,通过动作对象的历史交互记录,能够确定动作对象针对不同类型的目标对象的交互频次、交互方式等信息,从而得到动作对象针对各种类型的目标对象的交互偏好,根据交互偏好确定偏好类型。例如,可筛选交互频次较高的目标对象作为关联对象。又如,还可以根据历史交互记录确定动作对象针对不同类型的目标对象的交互次序或交互组合,从而根据交互次序或交互组合设置关联对象。所谓交互次序是指:动作对象针对多个不同的目标对象触发交互操作的次序信息,比如,动作对象倾向于按照第一类目标对象、第二类目标对象、第三类目标对象的次序进行交互,相应的,若当前的交互对象为第二类目标对象,则可以将第三类目标对象作为关联对象。所谓交互组合是指:动作对象倾向于针对由多个目标对象构成的对象组合进行交互,比如,动作对象在与目标对象A交互的同时,还会与目标对象B进行交互,则可以在目标对象A为当前交互对象时,将目标对象B确定为关联对象。
在第四种确定方式中,根据与动作对象相对应的任务序列信息、和/或路线设置信息,确定第一预设范围和/或第二预设范围。其中,与动作对象相对应的任务序列信息用于描述动作对象待执行的各个任务,例如,在游戏场景中,动作对象通常会根据游戏关卡的设置,执行一系列用于完成指定任务的操作动作,相应的,能够根据该一系列用于完成指定任务的操作动作确定上述的第一预设范围和/或第二预设范围。由此可见,任务序列信息可以根据游戏关卡设置预先获取,相应的,能够根据任务序列信息预测动作对象的意图操作区域,进而根据意图操作区域筛选关联对象。另外,路线设置信息可根据虚拟场景中的地形信息确定,例如,若动作对象周边存在峡谷、悬崖等不可达区域,则需要根据可达区域确定路线,进而根据路线设置关联对象。
进一步地,响应于动作对象触发的交互操作,控制已加载对象交互模型的目标对象的对象视觉模型的显示状态为碰撞响应状态。具体的,响应于动作对象触发的交互操作,在根据对象交互模型确定交互操作与交互对象发生碰撞的情况下,确定与交互操作的操作类型和/或碰撞位置相对应的碰撞响应状态,控制交互对象的对象视觉模型的显示状态从初始状态改变为碰撞响应状态。其中,当对象视觉模型未发生碰撞时,对应的显示状态为初始状态。具体实施时,需要在对象交互模型中存储各个碰撞位置以及与碰撞位置相对应的碰撞响应状态。例如,对于植物类目标对象而言,该植物类目标对象中的每根树枝作为一个碰撞位置,且对象交互模型中预先存储了各个碰撞位置与碰撞响应状态之间的对应关系。比如,当树枝A受到碰撞时,碰撞响应状态为树枝A及其旁边的枝杈掉落;当树枝B受到碰撞时,碰撞响应状态为树枝B及其旁边的枝杈掉落;当果实受到碰撞时,碰撞响应状态为果实及其旁边的枝杈掉落。总之,通过预先存储各个碰撞位置及其对应的碰撞响应状态,能够控制对象视觉模型的显示状态发生改变。另外,实际情况中,碰撞响应状态除与交互操作的碰撞位置相关外,还与交互操作的操作类型相关,例如,不同攻击类型的交互操作所对应的碰撞响应状态也各不相同。因此,对象交互模型中还需要存储各种操作类型及其对应的碰撞响应状态。由此可见,对象交互模型中存储有碰撞响应映射表,该碰撞响应映射表用于存储碰撞位置、交互操作、以及碰撞响应状态三者之间的映射关系。
步骤S250:在确定已加载对象交互模型的交互对象符合卸载条件的情况下,卸载符合卸载条件的交互对象的对象交互模型,并将符合卸载条件的交互对象的对象交互模型缓存至缓存空间。
具体的,判断已加载对象交互模型的交互对象是否符合卸载条件;若是,卸载符合卸载条件的交互对象的对象交互模型。其中,卸载条件包括以下中的至少一种:
第一种卸载条件为距离类卸载条件,包括:已加载对象交互模型的交互对象与动作对象之间的相对距离大于第二预设距离阈值。具体的,判断已加载对象交互模型的交互对象与动作对象之间的相对距离是否大于第一预设距离阈值;若是,将相对距离大于第一预设距离阈值的交互对象确定为符合卸载条件的交互对象。
第二种卸载条件为交互类卸载条件,包括:已加载对象交互模型的交互对象与动作对象之间的未交互时长大于预设时长阈值。具体的,判断已加载对象交互模型的交互对象与动作对象之间的未交互时长是否大于预设时长阈值;若是,将未交互时长大于预设时长阈值的交互对象确定为符合卸载条件的交互对象。
上述两种卸载条件既可以单独使用,也可以结合使用。另外,本领域技术人员也可以灵活设置各类卸载条件,本发明对此不做限定。当二者结合使用时,可以在目标对象同时满足上述两个条件,即距离较远且未交互时长大于预设时长阈值时,确定该交互对象符合卸载条件。或者,在二者结合使用时,也可以针对上述两种卸载条件设置优先级,比如,先判断距离类卸载条件是否满足,并在距离类卸载条件满足的情况下,进一步判断交互类卸载条件是否满足,从而仅针对距离较远的若干目标对象监测未交互时长,从而降低监测成本。又如,先判断交互类卸载条件是否满足,并在交互类卸载条件满足的情况下,进一步判断距离类卸载条件是否满足,从而仅针对未交互时长较长的若干目标对象监测距离,同样能够达到降低监测成本的目的。
本领域技术人员可灵活调整上述各个步骤的执行顺序,并且,可以将上述各个步骤拆分为更多的步骤,或合并为更少的步骤,还可以针对其中的部分步骤进行删减。而且,上述的各个步骤可以循环执行,例如,当对象交互模型卸载之后,若再次检测到目标对象符合交互条件,则会再次加载对应的对象交互模型。总之,对象交互模型的加载操作和卸载操作能够随场景信息的检测结果动态执行。
另外,在将符合卸载条件的交互对象的对象交互模型缓存至缓存空间时,也可以仅将第一类目标对象的对象交互模型缓存至缓存空间。而且,还可以根据交互对象的对象优先级将对象交互模型缓存至对应的缓存子空间。总之,卸载时的缓存策略可参照上文描述的各类缓存策略实现,本发明对此不作限定。
综上可知,该方式将对象视觉模型与对象交互模型相互分离,并动态检测与虚拟场景相对应的对象状态信息,以便动态确定目标对象中符合交互条件的交互对象,进而实现对象交互模型的按需加载,从而大幅提升了对象加载速度,确保了界面显示的流畅性。并且,通过设置通用于相同类型的目标对象的类型视觉模型以及类型交互模型,能够降低存储空间,提升模型的复用率,且便于确保类型视觉模型以及类型交互模型之间的精准匹配,从而提升交互响应的准确性。而且,通过针对目标对象设置对象位姿信息,便于在类型视觉模型以及类型交互模型的基础上,灵活设置各个目标对象的位姿状态。并且,通过将目标对象的对象交互模型预先缓存至缓存空间,能够显著提升对象交互模型的加载速度。
实施例三
图3示出了本发明又一实施例提供的一种基于缓存空间的对象加载装置,包括:
缓存模块31,适于确定所述虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间;其中,所述目标对象预先加载有对象视觉模型;
交互判断模块32,适于获取与所述虚拟场景相对应的场景信息,根据所述场景信息确定所述目标对象中符合交互条件的交互对象;
加载模块33,适于从所述缓存空间中获取并加载所述交互对象的对象交互模型;其中,所述对象交互模型用于响应针对所述交互对象触发的交互操作。
可选的,所述缓存模块具体适于:
将所述目标对象划分为第一类目标对象以及第二类目标对象;
将所述第一类目标对象的对象交互模型缓存至缓存空间;其中,所述第一类目标对象的响应优先级高于所述第二类目标对象。
可选的,所述缓存模块具体适于:
根据各个目标对象的对象类型、交互响应方式、和/或历史交互频次,将所述虚拟场景中包含的目标对象划分为第一类目标对象以及第二类目标对象。
可选的,所述缓存空间包括:多个缓存子空间,各个缓存子空间的访问速度不同,且各个缓存子空间分别对应于不同的对象优先级;
则所述缓存模块具体适于:
确定所述目标对象的对象优先级,将所述目标对象的对象交互模型缓存至与所述对象优先级相对应的缓存子空间。
可选的,所述缓存模块还适于:
针对所述虚拟场景中包含的各个目标对象进行聚类,得到至少一个对象类型;分别针对各个对象类型,设置与该对象类型相对应的类型交互模型;
确定所述目标对象的对象类型,获取与所述对象类型相对应的类型交互模型,将所述类型交互模型作为所述目标对象的对象交互模型缓存至缓存空间。
可选的,所述缓存模块具体适于:
根据各个目标对象的对象种类、对象视觉信息进行聚类,得到至少一个对象类型;
其中,所述对象视觉信息包括:对象尺寸、对象形状、和/或对象中包含的视觉模块。
可选的,所述缓存模块具体适于:
分别针对各个目标对象,从该目标对象的多个视觉模块中提取主体视觉模块;
将主体视觉模块相似的多个目标对象聚类为与该主体视觉模块相对应的对象类型;
分别针对各个对象类型,根据该对象类型所对应的主体视觉模块设置类型交互模型。
可选的,所述缓存模块具体适于:根据对象描述信息确定所述虚拟场景中包含的目标对象;其中,所述对象描述信息包括以下中的至少一个:对象类别信息、同类对象数量、对象交互方式、以及历史交互记录;
并且,所述与所述虚拟场景相对应的场景信息包括以下中的至少一个:与所述虚拟场景相对应的动作对象的对象状态信息、以及所述虚拟场景中包含的目标对象的对象状态信息;其中,所述与所述虚拟场景相对应的动作对象的对象状态信息包括:所述动作对象相对于所述目标对象的相对位置信息、和/或所述动作对象触发的交互操作的操作状态信息;
则所述交互条件包括以下中的至少一种:
所述动作对象与所述目标对象之间的相对距离小于第一预设距离阈值;
所述动作对象针对所述目标对象具有交互意图;其中,所述交互意图根据所述动作对象触发的交互操作的操作类型确定;
并且,所述加载模块还适于:在确定已加载对象交互模型的交互对象符合卸载条件的情况下,卸载符合卸载条件的交互对象的对象交互模型,并将所述符合卸载条件的交互对象的对象交互模型缓存至所述缓存空间;其中,所述卸载条件包括:已加载对象交互模型的交互对象与动作对象之间的相对距离大于第二预设距离阈值;和/或,已加载对象交互模型的交互对象与动作对象之间的未交互时长大于预设时长阈值。
可选的,所述加载模块还适于:
确定与所述交互对象存在关联关系的关联对象,加载所述关联对象的对象交互模型;
其中,所述确定与所述交互对象存在关联关系的关联对象包括:将所述交互对象的第一预设范围内的目标对象确定为所述关联对象;和/或,将动作对象的第二预设范围内的目标对象确定为所述关联对象;
并且,所述第一预设范围和/或所述第二预设范围通过以下方式中的至少一种确定:
获取展示所述虚拟场景的终端设备的设备属性信息,确定与所述设备属性信息相对应的区域范围阈值,根据所述区域范围阈值确定所述第一预设范围和/或所述第二预设范围;
获取所述动作对象的运动轨迹信息,以及由所述动作对象连续触发的多个交互操作的操作位置信息,根据所述运动轨迹信息以及所述操作位置信息,预测所述动作对象的意图操作区域,根据所述意图操作区域确定所述第一预设范围和/或所述第二预设范围;
获取所述动作对象的历史交互记录,根据所述历史交互记录确定所述动作对象针对各种类型的目标对象的交互偏好,根据所述交互偏好确定所述动作对象的偏好类型,根据与所述偏好类型相对应的目标对象所处的区域确定所述第一预设范围和/或所述第二预设范围;以及,
根据与所述动作对象相对应的任务序列信息、和/或路线设置信息,确定所述第一预设范围和/或所述第二预设范围。
上述各个模块的具体结构和工作原理可参照方法实施例相应部分的描述,此处不再赘述。
本申请又一实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的基于缓存空间的对象加载方法。可执行指令具体可以用于使得处理器执行上述方法实施例中对应的各个操作。
图4示出了根据本发明又一实施例的一种电子设备的结构示意图,本发明具体实施例并不对电子设备的具体实现做限定。
如图4所示,该电子设备可以包括:处理器(processor)502、通信接口(Communications Interface)506、存储器(memory)504、以及通信总线508。
其中:
处理器502、通信接口506、以及存储器504通过通信总线508完成相互间的通信。
通信接口506,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器502,用于执行程序510,具体可以执行上述基于缓存空间的对象加载方法实施例中的相关步骤。
具体地,程序510可以包括程序代码,该程序代码包括计算机操作指令。
处理器502可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器504,用于存放程序510。存储器504可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序510具体可以用于使得处理器502执行上述方法实施例中对应的各个操作。
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (12)
1.一种基于缓存空间的对象加载方法,包括:
确定虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间;其中,所述目标对象预先加载有对象视觉模型;
获取与所述虚拟场景相对应的场景信息,根据所述场景信息确定所述目标对象中符合交互条件的交互对象;
从所述缓存空间中获取并加载所述交互对象的对象交互模型;其中,所述对象交互模型用于响应针对所述交互对象触发的交互操作。
2.根据权利要求1所述的方法,其中,所述确定所述虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间包括:
将所述目标对象划分为第一类目标对象以及第二类目标对象;
将所述第一类目标对象的对象交互模型缓存至缓存空间;其中,所述第一类目标对象的响应优先级高于所述第二类目标对象。
3.根据权利要求2所述的方法,其中,所述将所述目标对象划分为第一类目标对象以及第二类目标对象包括:
根据各个目标对象的对象类型、交互响应方式、和/或历史交互频次,将所述虚拟场景中包含的目标对象划分为第一类目标对象以及第二类目标对象。
4.根据权利要求1-3任一所述的方法,其中,所述缓存空间包括:多个缓存子空间,各个缓存子空间的访问速度不同,且各个缓存子空间分别对应于不同的对象优先级;
则所述将所述目标对象的对象交互模型缓存至缓存空间包括:
确定所述目标对象的对象优先级,将所述目标对象的对象交互模型缓存至与所述对象优先级相对应的缓存子空间。
5.根据权利要求1-4任一所述的方法,其中,所述确定所述虚拟场景中包含的目标对象之前,还包括:
针对所述虚拟场景中包含的各个目标对象进行聚类,得到至少一个对象类型;分别针对各个对象类型,设置与该对象类型相对应的类型交互模型;
则所述将所述目标对象的对象交互模型缓存至缓存空间包括:
确定所述目标对象的对象类型,获取与所述对象类型相对应的类型交互模型,将所述类型交互模型作为所述目标对象的对象交互模型缓存至缓存空间。
6.根据权利要求5所述的方法,其中,所述针对所述虚拟场景中包含的各个目标对象进行聚类,得到至少一个对象类型包括:
根据各个目标对象的对象种类、对象视觉信息进行聚类,得到至少一个对象类型;
其中,所述对象视觉信息包括:对象尺寸、对象形状、和/或对象中包含的视觉模块。
7.根据权利要求6所述的方法,其中,所述根据各个目标对象的对象种类、对象视觉信息进行聚类,得到至少一个对象类型包括:
分别针对各个目标对象,从该目标对象的多个视觉模块中提取主体视觉模块;
将主体视觉模块相同的多个目标对象聚类为与该主体视觉模块相对应的对象类型;
则所述分别针对各个对象类型,设置与该对象类型相对应的类型交互模型包括:分别针对各个对象类型,根据该对象类型所对应的主体视觉模块设置类型交互模型。
8.根据权利要求1-7任一所述的方法,其中,所述确定所述虚拟场景中包含的目标对象包括:根据对象描述信息确定所述虚拟场景中包含的目标对象;其中,所述对象描述信息包括以下中的至少一个:对象类别信息、同类对象数量、对象交互方式、以及历史交互记录;
并且,所述与所述虚拟场景相对应的场景信息包括以下中的至少一个:与所述虚拟场景相对应的动作对象的对象状态信息、以及所述虚拟场景中包含的目标对象的对象状态信息;其中,所述与所述虚拟场景相对应的动作对象的对象状态信息包括:所述动作对象相对于所述目标对象的相对位置信息、和/或所述动作对象触发的交互操作的操作状态信息;
则所述交互条件包括以下中的至少一种:
所述动作对象与所述目标对象之间的相对距离小于第一预设距离阈值;
所述动作对象针对所述目标对象具有交互意图;其中,所述交互意图根据所述动作对象触发的交互操作的操作类型确定;
并且,所述从所述缓存空间中获取并加载所述交互对象的对象交互模型之后,还包括:在确定已加载对象交互模型的交互对象符合卸载条件的情况下,卸载符合卸载条件的交互对象的对象交互模型,并将所述符合卸载条件的交互对象的对象交互模型缓存至所述缓存空间;其中,所述卸载条件包括:已加载对象交互模型的交互对象与动作对象之间的相对距离大于第二预设距离阈值;和/或,已加载对象交互模型的交互对象与动作对象之间的未交互时长大于预设时长阈值。
9.根据权利要求1-8任一所述的方法,其中,所述虚拟场景中包含的目标对象的数量为多个,则所述根据所述场景信息确定所述目标对象中符合交互条件的交互对象之后,还包括:
确定与所述交互对象存在关联关系的关联对象,加载所述关联对象的对象交互模型;
其中,所述确定与所述交互对象存在关联关系的关联对象包括:将所述交互对象的第一预设范围内的目标对象确定为所述关联对象;和/或,将动作对象的第二预设范围内的目标对象确定为所述关联对象;
并且,所述第一预设范围和/或所述第二预设范围通过以下方式中的至少一种确定:
获取展示所述虚拟场景的终端设备的设备属性信息,确定与所述设备属性信息相对应的区域范围阈值,根据所述区域范围阈值确定所述第一预设范围和/或所述第二预设范围;
获取所述动作对象的运动轨迹信息,以及由所述动作对象连续触发的多个交互操作的操作位置信息,根据所述运动轨迹信息以及所述操作位置信息,预测所述动作对象的意图操作区域,根据所述意图操作区域确定所述第一预设范围和/或所述第二预设范围;
获取所述动作对象的历史交互记录,根据所述历史交互记录确定所述动作对象针对各种类型的目标对象的交互偏好,根据所述交互偏好确定所述动作对象的偏好类型,根据与所述偏好类型相对应的目标对象所处的区域确定所述第一预设范围和/或所述第二预设范围;以及,
根据与所述动作对象相对应的任务序列信息、和/或路线设置信息,确定所述第一预设范围和/或所述第二预设范围。
10.一种基于缓存空间的对象加载装置,包括:
缓存模块,适于确定虚拟场景中包含的目标对象,将所述目标对象的对象交互模型缓存至缓存空间;其中,所述目标对象预先加载有对象视觉模型;
交互判断模块,适于获取与所述虚拟场景相对应的场景信息,根据所述场景信息确定所述目标对象中符合交互条件的交互对象;
加载模块,适于从所述缓存空间中获取并加载所述交互对象的对象交互模型;其中,所述对象交互模型用于响应针对所述交互对象触发的交互操作。
11.一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-9中任一项所述的基于缓存空间的对象加载方法对应的操作。
12.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-9中任一项所述的基于缓存空间的对象加载方法对应的操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111281767.2A CN114020355B (zh) | 2021-11-01 | 2021-11-01 | 基于缓存空间的对象加载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111281767.2A CN114020355B (zh) | 2021-11-01 | 2021-11-01 | 基于缓存空间的对象加载方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114020355A true CN114020355A (zh) | 2022-02-08 |
CN114020355B CN114020355B (zh) | 2024-01-30 |
Family
ID=80059406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111281767.2A Active CN114020355B (zh) | 2021-11-01 | 2021-11-01 | 基于缓存空间的对象加载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114020355B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080155427A1 (en) * | 2006-12-21 | 2008-06-26 | Jean-Francois Leblay | Mobile business client |
US20160049005A1 (en) * | 2013-12-31 | 2016-02-18 | Daqri, Llc | Visualization of physical interactions in augmented reality |
CN108269307A (zh) * | 2018-01-15 | 2018-07-10 | 歌尔科技有限公司 | 一种增强现实交互方法及设备 |
CN109420336A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市掌网科技股份有限公司 | 基于增强现实的游戏实现方法和装置 |
CN109754471A (zh) * | 2019-01-10 | 2019-05-14 | 网易(杭州)网络有限公司 | 增强现实中的图像处理方法及装置、存储介质、电子设备 |
CN109840947A (zh) * | 2017-11-28 | 2019-06-04 | 广州腾讯科技有限公司 | 增强现实场景的实现方法、装置、设备及存储介质 |
CN110851043A (zh) * | 2019-11-14 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 页面显示方法和装置、存储介质及电子装置 |
CN111773688A (zh) * | 2020-06-30 | 2020-10-16 | 完美世界(北京)软件科技发展有限公司 | 柔性对象的渲染方法和装置、存储介质、电子装置 |
CN112057849A (zh) * | 2020-09-15 | 2020-12-11 | 网易(杭州)网络有限公司 | 游戏场景渲染方法、装置及电子设备 |
CN112749127A (zh) * | 2020-12-28 | 2021-05-04 | 北京聚云科技有限公司 | 一种用于模型训练的数据提供方法及系统 |
CN112862108A (zh) * | 2021-02-07 | 2021-05-28 | 超参数科技(深圳)有限公司 | 组件化的强化学习模型处理方法、系统、设备和存储介质 |
-
2021
- 2021-11-01 CN CN202111281767.2A patent/CN114020355B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080155427A1 (en) * | 2006-12-21 | 2008-06-26 | Jean-Francois Leblay | Mobile business client |
US20160049005A1 (en) * | 2013-12-31 | 2016-02-18 | Daqri, Llc | Visualization of physical interactions in augmented reality |
CN109420336A (zh) * | 2017-08-30 | 2019-03-05 | 深圳市掌网科技股份有限公司 | 基于增强现实的游戏实现方法和装置 |
CN109840947A (zh) * | 2017-11-28 | 2019-06-04 | 广州腾讯科技有限公司 | 增强现实场景的实现方法、装置、设备及存储介质 |
CN108269307A (zh) * | 2018-01-15 | 2018-07-10 | 歌尔科技有限公司 | 一种增强现实交互方法及设备 |
CN109754471A (zh) * | 2019-01-10 | 2019-05-14 | 网易(杭州)网络有限公司 | 增强现实中的图像处理方法及装置、存储介质、电子设备 |
CN110851043A (zh) * | 2019-11-14 | 2020-02-28 | 腾讯科技(深圳)有限公司 | 页面显示方法和装置、存储介质及电子装置 |
CN111773688A (zh) * | 2020-06-30 | 2020-10-16 | 完美世界(北京)软件科技发展有限公司 | 柔性对象的渲染方法和装置、存储介质、电子装置 |
CN112057849A (zh) * | 2020-09-15 | 2020-12-11 | 网易(杭州)网络有限公司 | 游戏场景渲染方法、装置及电子设备 |
CN112749127A (zh) * | 2020-12-28 | 2021-05-04 | 北京聚云科技有限公司 | 一种用于模型训练的数据提供方法及系统 |
CN112862108A (zh) * | 2021-02-07 | 2021-05-28 | 超参数科技(深圳)有限公司 | 组件化的强化学习模型处理方法、系统、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114020355B (zh) | 2024-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100452089B1 (ko) | 게임 화면을 갱신하기 위한 오브젝트를 로딩하는 이미지리소스 로딩 시스템 및 이미지 리소스 로딩 방법 | |
US20120081369A1 (en) | Method and apparatus for search in virtual world | |
CN107875630B (zh) | 渲染区域确定方法及装置 | |
CA3015516A1 (en) | Geometric work scheduling with dynamic and probabilistic work trimming | |
CN111932943A (zh) | 动态目标的检测方法、装置、存储介质及路基监测设备 | |
CN110377527A (zh) | 一种内存管理的方法以及相关设备 | |
CN113856197A (zh) | 虚拟场景中的对象交互方法及装置 | |
EP3905204A1 (en) | Scene recognition method and apparatus, terminal, and storage medium | |
CN109725802B (zh) | 页面交互方法及装置 | |
CN114020355B (zh) | 基于缓存空间的对象加载方法及装置 | |
WO2024114322A1 (zh) | 画面渲染方法、装置、设备、存储介质及程序产品 | |
CN113786614B (zh) | 虚拟场景中的对象加载方法及装置 | |
CN107569851B (zh) | 游戏挂机方法、装置及系统 | |
CN114253458A (zh) | 内存缺页异常的处理方法、装置、设备及存储介质 | |
CN111476872B (zh) | 一种图像绘制方法及图像绘制装置 | |
US11854139B2 (en) | Graphics processing unit traversal engine | |
CN115859683A (zh) | 一种基于自动驾驶的场景仿真评估方法及装置 | |
US20180144521A1 (en) | Geometric Work Scheduling of Irregularly Shaped Work Items | |
CN113840169B (zh) | 一种视频处理方法、装置、计算设备和存储介质 | |
CN110860082B (zh) | 识别方法、装置、电子设备及存储介质 | |
CN113117334A (zh) | 目标点的可见区域的确定方法及相关装置 | |
US20230115603A1 (en) | Scene entity processing using flattened list of sub-items in computer game | |
CN113010454A (zh) | 数据读写方法、装置、终端及存储介质 | |
CN110889004A (zh) | 一种矢量图纸展示方法、系统、装置及存储介质 | |
US11426664B1 (en) | Dynamic destruction of game objects |
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 |