CN106807087A - 一种应用中模拟对象处理的方法以及移动终端 - Google Patents
一种应用中模拟对象处理的方法以及移动终端 Download PDFInfo
- Publication number
- CN106807087A CN106807087A CN201710058471.1A CN201710058471A CN106807087A CN 106807087 A CN106807087 A CN 106807087A CN 201710058471 A CN201710058471 A CN 201710058471A CN 106807087 A CN106807087 A CN 106807087A
- Authority
- CN
- China
- Prior art keywords
- target
- resource
- target simulation
- mobile terminal
- simulation object
- 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
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/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- 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
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- 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
-
- 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/50—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 characterized by details of game servers
- A63F2300/53—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 characterized by details of game servers details of basic data processing
- A63F2300/538—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 characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
-
- 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/65—Methods for processing data by generating or executing the game program for computing the condition of a game character
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Human Computer Interaction (AREA)
- Processing Or Creating Images (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明实施例公开了一种应用中模拟对象处理的方法,用于优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率。本发明实施例方法包括:所述移动终端检测以所述主模拟对象为中心的检测范围,所述检测范围包括多个控制范围,所述多个控制范围是与所述中心的距离不同的同心控制范围,每个控制范围与进入各自控制范围所执行的操作对应;当在所述检测范围内检测到目标模拟对象时,确定所述目标模拟对象与所述主模拟对象的距离;根据所述距离,确定所述目标模拟对象所属的控制范围;根据所述所属的控制范围所对应的执行操作,对所述目标模拟对象进行处理。
Description
技术领域
本发明涉及计算机领域,尤其涉及一种应用中模拟对象处理的方法以及移动终端。
背景技术
在现有技术中,在使用非Unity的其它游戏引擎的项目开发中使用分层视野圈管理技术,在一些多个模拟对象同时显示的交互式应用中,存在服务器下发圈和资源加载圈的概念,用来优化角色渲染压力和加/卸载速度。
多个模拟对象同时显示的交互式应用,该应用基于根据项目需求修改过的GameBryo引擎实现,仅存在服务器下发圈和资源加载圈两层。当角色进入服务器下发圈后就立刻创建角色的逻辑对象和名字牌,当玩家进一步进入资源加载圈后即开始异步加载角色资源,并在加载完毕后立刻创建角色模型实例并显示。
这样的技术方案可满足大多数PC(personal computer,个人计算机)游戏的多人同屏显示效率需求。在PC平台上由于中央处理器(CPU,Central Processing Unit)和图形处理器(Graphics Processing Unit,GPU)性能都远远高于手机等移动端设备,通过资源加载圈实现异步的资源加载和角色实例创建操作,出现卡顿的情况很少。但是对于性能有限、对耗电量、发热量严格要求的移动设备来说,在多人同屏类型的游戏中,通过资源加载圈实现异步的资源加载和角色实例创建操作,经常会出现卡顿的情况,不能流畅的使游戏运行。
发明内容
本发明实施例提供了一种应用中模拟对象处理的方法以及移动终端,用于移动终端在每个控制范围执行相应的操作,对每个控制范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准备工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率,还优化了帧速率(Frames per second)。
本发明实施例第一方面提供一种应用中模拟对象处理的方法,该方法应用于移动终端上多模拟对象同屏显示的交互应用中,该交互应用的显示界面上显示有主模拟对象,该方法可以包括:
该移动终端检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;
当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;
根据该距离,确定该目标模拟对象所属的控制范围;
根据该所属的控制范围所对应的执行操作,对该目标模拟对象进行处理。
本发明实施例第二方面提供一种移动终端,该移动终端上包含多模拟对象同屏显示的交互应用,该交互应用的显示界面上显示有主模拟对象,该移动终端可以包括:
检测模块,用于检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;
第一确定模块,用于当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;
第二确定模块,用于根据该距离,确定该目标模拟对象所属的控制范围;
处理模块,用于根据该所属的控制范围所对应的执行操作,对该目标模拟对象进行处理。
从以上技术方案可以看出,本发明实施例具有以下优点:
在本发明实施例中,该方法应用于移动终端上多模拟对象同屏显示的交互应用中,该交互应用的显示界面上显示有主模拟对象,该移动终端检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;根据该距离,确定该目标模拟对象所属的控制范围;根据该所属的控制范围所对应的执行操作,对该目标模拟对象进行处理。因为移动终端在每个控制范围执行相应的操作,对每个控制范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准备工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例和现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,还可以根据这些附图获得其它的附图。
图1为本发明实施例中对模拟对象视野圈管理的一个示意图;
图2为本发明实施例中移动终端上多模拟对象同屏显示的一个示意图;
图3为本发明实施例中资源管理器和角色实例对象池的框架示意图;
图4为本发明实施例中应用中模拟对象处理的方法的一个实施例示意图;
图5为本发明实施例中对模拟对象视野圈管理的另一个示意图;
图6为本发明实施例中移动终端的另一个实施例示意图;
图7为本发明实施例中移动终端的另一个实施例示意图;
图8为本发明实施例中移动终端的另一个实施例示意图。
具体实施方式
本发明实施例提供了一种应用中模拟对象处理的方法以及移动终端,用于移动终端在每个环形操作范围执行相应的操作,对每个环形操作范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准备工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率,还优化了帧速率(Frames per second)。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,都应当属于本发明保护的范围。
在有大规模多人同屏角色显示需求的游戏中,每个人物在游戏场景中都会显示一个人物模型,即玩家角色实例。模拟对象通俗的可以称呼为角色。在现有技术中的一些多人网络游戏内,是基于根据项目需求修改过的GameBryo引擎实现,仅存在服务器下发圈和资源加载圈两层,如图1所示,为对模拟对象视野圈管理的一个示意图。当角色进入服务器下发圈后就立刻创建角色的逻辑对象和名字牌,当玩家进一步进入资源加载圈后即开始异步加载角色资源,并在加载完毕后立刻创建角色模型实例并显示。但是因为资源加载圈需要加载资源,创建实例,再进行渲染等操作,在PC平台上由于CPU、GPU性能都远远高于手机等移动端设备,只要通过资源加载圈实现异步的资源加载和角色实例创建操作,很少出现卡顿的情况。而对于性能有限、对耗电量、发热量严格要求的移动设备却体验比较差,执行这些操作经常会出现卡顿的情况。
下面先对本发明技术方案中所用到的一些缩略语和关键术语进行定义:
Unity:一款业界广为使用的3D游戏引擎,提供了游戏开发中的基础功能和部分开发工具,可大幅提高产品开发效率。但在性能和特定游戏类型的适用性方面存在一定问题,需要项目组自行改进。
Prefab:Unity引擎中的美术资源基本管理单位,可以将美术制作的模型、贴图、动画等存储在预先编辑好的文件中。
Game Object:Unity引擎中的游戏运行时对象,不同的角色和模型必须创建不同的Game Object对象用来显示。
角色实例:大型多人网络游戏中每个玩家都控制游戏中的一个人物,每个人物在场景中都会显示出一个人物模型,即玩家角色实例。
实例化:多个角色可能在美术表现上使用了相同的资源(模板),但在表现上却显示为多个对象实例。实例化是指根据美术资源创建多个游戏对象实例的过程。
换装:当玩家穿着不同装备或时装时,玩家的角色模型外观也会发生相应的变化,这个过程被称为换装。
名字牌:悬浮显示在角色模型之上,用于显示玩家名称和家族名、称号等文字的信息面板。
本技术主要的应用场合为:在有大规模多人同屏角色显示需求的游戏中,当有大量玩家动态进出屏幕视野时,最大程度地减少玩家角色的渲染计算开销、角色创建/删除卡顿开销。如图2所示,为多模拟对象同屏显示的一个示意图。现有技术主要的问题体现在如下几方面:
Prefab及其包含的模型、纹理、动画等资源的加载开销;Prefab实例化的开销;渲染开销;动画更新开销;GameObjet开启时的引擎数据更新开销;本发明技术方案可以有效的解决上述的这些性能问题。
如图3所示,为资源管理器和角色实例对象池的框架示意图,技术原理下述进行说明。在图3中,角色管理器Actor Manager为负责管理所有玩家角色对象的程序类,当新的角色需要创建角色实例时则会通过实例池Instance Pool进行申请。而实例池Instance Pool则会在创建新实例前先尝试从实例缓存Instance Cache的回收池中复用已有的闲置对象实例,避免创建新实例的开销。
当实例池Instance Pool创建实例需要资源时,则会通过资源管理器ResourceManager加载资源。而资源管理器Resource Manager中也有一份资源索引列表,当引用到相同资源时可以直接提取该资源,避免通过开销较大的Unity引擎接口去重复加载资源。
需要说明的是,图3所示的只是设计上的概要描述,具体实现中还可以划分角色实例对象池、特效实例对象池、装备部件对象池等针对性的类型特化实现和延迟卸载算法区分。
下面以实施例的方式对本发明技术方案做进一步的描述,主要应用在移动终端上多模拟对象同屏显示的交互应用中,所述交互应用的显示界面上显示有主模拟对象,如图4所示,为本发明实施例中应用中模拟对象处理的方法的一个实施例示意图,包括:
401、移动终端检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;
在本发明实施例中,移动终端检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,其中,多个控制范围是与中心的距离不同的同心控制范围,每个控制范围与进入各自控制范围所执行的操作对应。
示例性的,基于视野圈的角色管理中,如图5所示,为移动终端上多个模拟对象视野圈管理的一个示意图。多个控制范围可以是以主角为中心点设置的四层角色视野圈:服务器下发圈、资源准备圈、角色实例化圈、可见圈,资源准备圈也可以叫资源加载圈,可见圈也叫可视化圈。并配置相应的程序算法策略,减少卡顿出现的情况,即可以优化同屏显示大量玩家角色时的渲染计算压力、反复进出视野时的角色加载和删除压力等。
需要说明的是,这里的控制范围可以是以主角为中心的多个不同半径的圆,也可以是正方形,椭圆或者其他形状的角色视野圈,具体不做限定。而且,控制范围的个数至少为3个,每个控制范围都会执行相应的操作。
这里的移动终端可以包括手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、车载电脑等任意终端设备。应理解,这里的目标模拟对象和主模拟对象是游戏中的各个角色,例如:可以是游戏中的将军,士兵等角色,起的名字可以类似为撕裂的天堂、风吹屁丫爽、Mini丶弑魂、不服来嘛、从小立志当贱客、街角、杀红眼等名称。
402、当在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离;
在本发明实施例中,当移动终端在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离。这里的主模拟对象是主角,目标模拟对象可以是之前就已经上线的目标角色,也可以是刚上线的目标角色,现在出现在主角可以检测到的检测范围内,那么,可以确定主角和目标角色之前的距离。
403、根据距离,确定目标模拟对象所属的控制范围;
在本发明实施例中,当移动终端在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离之后,移动终端根据距离,确定目标模拟对象所属的控制范围。
如上述图5中所示,多个控制范围与中心的距离由大到小排列,可以包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;那么,移动终端根据该距离,确定目标模拟对象所属的控制范围可以是服务器下发范围、资源加载范围、实例化范围或者可视化范围。即若该距离为8m,那么目标模拟对象所属的控制范围是服务器下发范围;若该距离为6m,那么目标模拟对象所属的控制范围是资源加载范围;若该距离为4m,那么目标模拟对象所属的控制范围是实例化范围;若该距离为2m,那么目标模拟对象所属的控制范围是可视化范围。应理解,这里的单位m是以游戏虚拟世界中的米作为单位。
404、根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理;
在本发明实施例中,移动终端根据距离,确定目标模拟对象所属的控制范围之后,根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理。
如上述图5中所示,具体的,根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理,至少包括以下之一:
(1)当所属的控制范围包括服务器下发范围时,对目标模拟对象创建逻辑对象,并显示创建逻辑对象的目标模拟对象对应的名字牌;
或者,
(2)当所属的控制范围包括资源加载范围时,对目标模拟对象加载对应的资源;
或者,
(3)当所属的控制范围包括实例化范围时,使用对应的资源创建目标模拟对象对应的目标实例;
或者,
(4)当所属的控制范围包括可视化范围时,对目标实例进行渲染计算,显示渲染后的目标模拟对象。
需要说明的是,可选的,在一些可能的实现方式中,移动终端包括资源缓存,那么,对目标模拟对象加载对应的资源,可以包括:
①若资源缓存中包括对目标模拟对象创建实例的目标资源,则从资源缓存中提取目标资源;
或者,
②若资源缓存中未包括对目标模拟对象创建实例的目标资源,则异步加载目标资源。
而且,可选的,在一些可能的实现方式中,移动终端还可以包括实例缓存,还可以执行如下步骤:若实例缓存中包括目标模拟对象对应的目标实例,则复用目标实例;对目标实例进行渲染计算,显示渲染后的目标模拟对象,可以包括:对目标实例进行渲染计算,显示渲染后的目标模拟对象。
其中,可选的,在一些可能的实现方式中,使用对应的资源创建目标模拟对象对应的目标实例,可以包括:若实例缓存中未包括目标模拟对象对应的目标实例,则获取对目标模拟对象创建实例的目标资源;使用目标资源创建目标实例。
下面对目标角色首次上线,在出现在不同的控制范围所执行的不同操作做进一步的说明:
一、目标角色所属的控制范围为服务器下发范圈,会连续移动通过资源加载圈、实例化圈和可视化圈。
(1)目标角色现在在服务器下发圈,那么,移动终端会对目标角色进行判断,确定是否创建过逻辑对象,若未创建逻辑对象,则移动终端创建该目标角色的逻辑对象,并显示该目标对象的名字牌;若创建过该逻辑对象,则移动终端直接显示该目标对象的名字牌。
(2)当目标角色移动到资源加载圈时,移动终端还是会先判断该目标角色是否创建过逻辑对象,若创建过,则移动终端对目标角色进行资源加载,当然,这里是因为从服务器下发圈移动到资源加载圈的,所以,判断的结果是创建过逻辑对象;若未创建过逻辑对象,则移动终端先对目标角色进行逻辑对象的创建,再进行资源的加载。
进一步的,这里移动终端对目标角色进行资源加载的时候,也可以先判断是否在资源缓存中保存该目标角色资源,若有,那么可以直接复用该资源,若没有,那么,移动终端就需要通过资源管理器为该目标角色创建实例异步加载所需要的资源。需要说明的是,该目标角色在资源加载圈时,在移动终端上显示的还是该目标角色的名字牌。
(3)当目标角色移动到角色实例化圈时,移动终端还是会先判断该目标角色是否创建过逻辑对象,若创建过,则移动终端对该目标角色进行资源加载,当然,这里是因为从服务器下发圈移动到资源加载圈再移动到角色实例化圈的,所以,判断的结果是创建过逻辑对象;若未创建过逻辑对象,则移动终端先对该目标角色进行逻辑对象的创建,再进行资源的加载。
进一步的,这里移动终端对目标角色进行资源加载的时候,也可以先判断是否在资源缓存中保存为该目标角色创建实例的资源,若有,那么移动终端可以直接复用该资源;若没有,那么,移动终端就需要通过资源管理器为该目标角色创建实例异步加载所需要的资源。
更进一步的,移动终端可以利用资源加载圈获取的资源对目标角色进行实例的创建,而目标角色在角色实例化圈的时候,并不显示目标角色,即没有渲染和实例更新计算开销,在移动终端上显示的还是该目标角色的名字牌。
(4)当目标角色移动到可视化圈时,移动终端还是会先判断该目标角色是否创建过逻辑对象,若创建过,则移动终端对该目标角色进行资源加载,当然,这里是因为从服务器下发圈移动到资源加载圈,再移动到角色实例化圈的,最后移动到可视化圈的,所以,判断的结果是创建过逻辑对象;若未创建过逻辑对象,则移动终端先对目标角色进行逻辑对象的创建,再进行资源的加载。
进一步的,这里移动终端对目标角色进行资源加载的时候,也可以先判断是否在资源缓存中保存为该目标角色创建实例的资源,若有,那么移动终端可以直接复用该资源;若没有,那么,移动终端就需要通过资源管理器为该目标角色创建实例异步加载所需要的资源。
更进一步的,移动终端可以利用资源加载圈获取的资源对目标角色进行实例的创建,而目标角色在角色实例化圈的时候,并不显示目标角色,即没有渲染和实例更新计算开销,在移动终端上显示的还是该目标角色的名字牌。
最后,移动终端对目标角色启用创建好的角色实例,进行实际的渲染和计算,在移动终端上显示渲染后的目标角色。
需要说明的是,在“一”的说明中,当目标角色上线所属的控制范围为服务器下发范圈,那么,目标角色连续移动通过资源加载圈停止不动或者下线,或者,连续移动通过资源加载圈和实例化圈然后停止不动或者下线,都可以参考上述的说明,此处不再赘述。
二、目标角色所属的控制范围为可视化圈,会连续移动通过实例化圈、资源加载圈和服务器下发圈。
(1)目标角色首次上线出现在可视化圈,那么,移动终端首先判断该目标角色是否创建过逻辑对象,若未创建过,则移动终端创建该目标角色的逻辑对象;若创建过,则移动终端直接复用已创建过的逻辑对象,若没有创建逻辑对象,那么,移动终端对该目标应用创建纯逻辑角色对象。
下一步,移动终端判断该目标角色是否创建过实例,如创建过实例,可以从实例缓存中复用该目标角色的实例,实现实例的重复利用,避免创建新实例的开销;若未创建过实例,那么,移动终端需要获取对目标角色创建实例的资源。
进一步的,移动终端获取对目标角色创建实例的资源时,可以先判断是否已缓存该目标角色的资源;若已缓存,那么,移动终端可以直接从资源缓存中提取已缓存的资源;若未缓存,那么,移动终端需要通过资源管理器进行异步资源的加载,获取为该目标角色创建实例的资源。
再进一步,移动终端使用获取的资源,对目标角色进行实例的创建。
最后,移动终端启用创建好的目标角色的实例,进行实际的渲染和计算,在移动终端上显示渲染后的目标角色,即显示人物。
(2)当目标角色移动到实例化圈时,移动终端还会判断一下该目标角色是否创建过逻辑对象,若未创建过,则移动终端创建该目标角色的逻辑对象;若创建过,则移动终端判断是否创建过该目标角色的实例,若创建过该目标角色的实例,那么移动终端直接从实例缓存中复用该实例;若没有创建过该目标角色的实例,则移动终端需要获取创建该目标角色实例的资源,使用该资源创建目标角色的实例。
而移动终端在获取创建该目标角色的实例的资源时,也可以先判断创建该目标角色实例的资源是否已经缓存,若缓存,那么,移动终端可以直接提取缓存的资源,若没有,那么,移动终端需要通过资源管理器异步加载创建该目标实例所需的资源。
当移动终端获取为目标角色创建实例的资源时,可以使用该资源创建目标角色的实例,但是此时在移动终端上显示的是该目标角色的名字牌。
(3)当目标角色移动到资源加载圈时,移动终端还会判断一下该目标角色是否创建过逻辑对象,若创建过,则移动终端获取为目标角色创建实例的资源;若未创建过,则移动终端创建该目标角色的逻辑对象。移动终端获取为目标角色创建实例的资源又可以包括:移动终端判断创建该目标角色实例的资源是否已经缓存,若缓存,那么,移动终端可以直接提取缓存的资源;若没有,那么,移动终端需要通过资源管理器异步加载创建该目标实例所需的资源。此时在移动终端上显示的还是该目标角色的名字牌。
(4)当目标角色移动到服务器下发圈时,移动终端还会判断一下该目标角色是否创建过逻辑对象,若创建过,则移动终端直接用该逻辑对象了,若未创建过,则移动终端创建该目标角色的逻辑对象。
需要说明的是,在“二”的说明中,当目标角色上线所属的控制范围为可视化圈时,那么,目标角色可以连续移动通过实例化圈停止不动或者下线,或者,目标角色可以连续移动通过实例化圈和资源加载圈然后停止不动或者下线,都可以参考上述的说明,此处不再赘述。
应理解,上述只是针对一个目标角色来进行说明,但在实际应用中,多人同屏显示中,包括很多个目标角色,对每个目标角色的处理都是类似上述的方法,结合资源管理器、实例对象池和视野圈管理的技术,极大地降低了角色反复进出视野的资源加载和实例创建/删除开销。同时辅以根据硬件性能和实时帧率的动态参数调整机制、以及根据游戏玩法设计的角色隐藏策略,巧妙地降低了同屏显示大量角色的渲染和计算开销。
405、接收对目标模拟对象的换肤指令;
在本发明实施例中,移动终端接收对目标模拟对象的换肤指令,这里的目标模拟对象可以是主角,也可以是其他的目标角色。这里需要说明的是,移动终端对主角或者目标角色进行换肤之前,需要保证的是骨骼和模型的统一性,这里的换肤也可以称呼为换装。
在RPG(角色扮演游戏,Role-playing game)类型的游戏中通常都有在为角色更换装备时,同步切换外观皮肤显示的功能需求。而当角色大量进出视野或切换装备时,由于资源大量加载,切换显示皮肤,会造成严重的卡顿。
406、获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据;
在现有技术中,Unity引擎官方给出的实现方式步骤为:
1.载入一个新皮肤的Prefab;
2.实例化新皮肤的Prefab;
3.将新实例中的模型节点替换到原实例上;
4.根据骨骼名称遍历原实例的所有骨骼节点,并根据结果将Skinned MeshRenderer(蒙皮网格渲染器)内的骨骼索引重新排序。
在本发明实施例中,移动终端接收对目标模拟对象的换肤指令之后,获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据。即移动终端可以直接载入新皮肤的Mesh网格和Material材质资源(需要保证模型导出的骨骼一致)。
407、将骨骼数据上绑定的源网格数据和源材质数据对应的替换为目标网格数据和目标材质数据。
在本发明实施例中,移动终端获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据之后,将骨骼数据上绑定的源网格数据和源材质数据对应的替换为目标网格数据和目标材质数据。
即移动终端直接将Mesh和Material替换到原模型的Skinned Mesh Renderer(蒙皮网格渲染器)上;经过修改后因省去了Prefab层级载入和实例化的步骤,将换肤开销降低到了很多。当大量玩家进出视野时,移动终端原本卡顿的体验得到了明显优化。换装优化机制通过保证骨骼和模型的统一性,跳过Unity引擎的Prefab层级实例化步骤,使用直接替换底层节点模型、材质资源的方法来提高换肤的程序执行效率。
需要说明的是,步骤405-407是可选的步骤,在实际应用中,可以根据实际需要确定是否执行。而且,步骤405-407的时序与步骤401-404的时序不做限定。
应理解,本文中提及的技术方案只是说明整体上的设计思路,针对不同项目可以衍生出特化的算法。例如视野圈可以不使用资源预加载圈或可视化圈,而是合并到其它的圈内;换肤的具体算法也可以连同部分骨骼一起替换,或者直接替换材质,皮肤连同Prefab一起载入等。
在本发明实施例中,该方法应用于移动终端上多模拟对象同屏显示的交互应用中,该交互应用的显示界面上显示有主模拟对象,该移动终端检测以该主模拟对象为中心的检测范围,该检测范围包括多个控制范围,该多个控制范围是与该中心的距离不同的同心控制范围,且该多个控制范围各自不重叠,每个控制范围与进入各自控制范围所执行的操作对应;当在该检测范围内检测到目标模拟对象时,确定该目标模拟对象与该主模拟对象的距离;根据该距离,确定该目标模拟对象所属的控制范围;根据该所属的控制范围所对应的执行操作,对该目标模拟对象进行处理。因为移动终端在每个控制范围执行相应的操作,对每个控制范围都有合理的操作安排,为最终显示渲染后的目标模拟对象做准确工作,优化同屏显示大量模拟对象时的资源分配,降低卡顿出现的概率。
通过资源管理器、实例对象池结合视野圈管理技术,极大地降低了角色反复进出视野的资源加载和实例创建/删除开销。同时辅以根据硬件性能和实时帧率的动态参数调整机制、以及根据游戏玩法设计的角色隐藏策略,巧妙地降低了同屏显示大量角色的渲染和计算开销。而角色换肤机制的优化则是针对项目特点,在以上技术的基础上,进一步提高了装备更换时不可避免的资源加载、切换开销。
下面以实际应用场景对本发明技术方案做进一步的说明,如下所示:
在手机上的一个多角色扮演游戏中,假设包括主角傲战,目标角色1开国猛将,目标角色2镇边将军,目标角色3是镇关将军;
手机以主角傲战为中心,视野圈管理分为上述图5所示的四个圈,服务器下发圈、资源准备圈、角色实例化圈、可见圈。那么,当目标角色1上线时,确定目标角色1离主角的距离S1,根据距离S1确定目标角色1所属的环形操作范围,这里确定的环形操作范围为资源加载圈;手机对目标角色1进行判断,确定是否创建过逻辑对象,若有,则可对目标角色1进行资源加载;若没有创建过逻辑对象,那么,手机需要先对目标角色1进行逻辑对象的创建,再进行资源的加载。进一步的,在资源加载时,可以先确定资源缓存中是否包含目标角色1的资源,若有,可以直接获取该资源,若没有,手机需要通过资源管理器异步加载资源。目标角色1在资源加载圈显示的是名字牌,即开国猛将。
目标角色1接下来又进行移动,手机获取目标角色1与主角的距离,根据该距离确定目标角色1所属的环形操作范围,当目标角色1属于服务器下发圈时,手机还要对目标角色1进行判断,确定是否创建过逻辑对象,若创建过,则手机直接显示目标角色1的名字牌,若未创建过,则手机先对目标角色1进行逻辑对象的创建,再显示目标角色1的名字牌开国猛将。
当目标角色1与主角的距离大于服务器下发圈的最大直径时,目标角色1在手机上就没有显示了,可能目标角色1下线了,也可能停留在服务器下发圈的外边,四处游走。
当目标角色2上线时,根据目标角色2与主角的距离S2确定目标角色2所属的环形操作范围在可视化圈,那么,手机可以先判断目标角色2是否创建过实例,若有,那么,目标角色可以直接复用该实例,进行实际的渲染和计算,在手机上显示渲染后的目标角色2(包括目标角色2的名字牌镇边将军)。因为可以直接利用之前创建过的实例资源,所以,节省了资源的开销。
若没有创建过实例,那么,手机对目标角色2进行判断,确定是否创建过逻辑对象,若创建过,则手机直接显示目标角色2的名字牌,若没有创建过,那么,手机对目标角色进行逻辑对象的创建。再判断是否已缓存为目标角色2创建实例的资源,若已缓存,那么,手机可以直接获取已缓存的资源;避免了引擎重复加载资源造成的开销。若没有,那么,手机需要异步加载资源。
当手机获取对目标角色2创建实例的资源时,使用该资源,对目标角色2进行实例的创建,当创建好实例后,启用创建好的角色实例,进行实际的渲染和计算,显示渲染后的目标角色2(包括目标角色2的名字牌镇边将军)。
当目标角色3上线时,手机确定目标角色3与主角的距离S3,根据距离S3判断目标角色3是处于实例化圈的。手机先对目标角色3判断是否创建过实例,若创建过,可以直接从实例缓存中复用该实例的,不需要再进行新实例的创建,节省资源开销。若没有创建过实例,那么,手机就需要对目标角色3进行实例的创建,在创建实例时,首先需要获取创建实例所需的资源。当资源缓存中包括目标角色3创建实例的资源时,可以直接获取,若没有,那么手机就需要加载创建实例的资源,根据获取的资源对目标角色3进行实例的创建,此时,在手机上显示的是目标角色3的名字牌镇关将军。
目标角色3进行移动,跑到可视化圈了,那么手机可以启用目标角色3创建好的实例,进行渲染和计算,显示渲染后的目标角色3。
即本发明实施例可以通过资源管理器、实例对象池结合视野圈管理技术,极大地降低了角色反复进出视野的资源加载和实例创建/删除开销。
上述对本发明实施例中应用中模拟对象处理的方法进行了描述,下面对本发明实施例中移动终端进行说明,如图6所示,为移动终端的一个实施例示意图,移动终端上包含多模拟对象同屏显示的交互应用,交互应用的显示界面上显示有主模拟对象,移动终端可以包括:
检测模块601,用于检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;
第一确定模块602,用于当在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离;
第二确定模块603,用于根据距离,确定目标模拟对象所属的控制范围;
处理模块604,用于根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理。
可选的,在本发明的一些实施例中,多个控制范围与中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;
处理模块604,具体用于至少包括以下之一:
具体用于当所属的控制范围为服务器下发范围时,对目标模拟对象创建逻辑对象,并显示创建逻辑对象的目标模拟对象对应的名字牌;
或者,
具体用于当所属的控制范围为资源加载范围时,对目标模拟对象加载对应的资源;
或者,
具体用于当所属的控制范围为实例化范围时,使用对应的资源创建目标模拟对象对应的目标实例;
或者,
具体用于当所属的控制范围为可视化范围时,对目标实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包含资源缓存,
处理模块604,具体用于若资源缓存中包括对目标模拟对象创建实例的第一资源,则从资源缓存中提取第一资源;
或者,
处理模块604,具体用于若资源缓存中未包括对目标模拟对象创建实例的第一资源,则异步加载第一资源。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,移动终端还包括:
处理模块604,具体用于若实例缓存中包括目标模拟对象对应的第一实例,则复用第一实例;对第一实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,
处理模块604,具体用于若实例缓存中未包括目标模拟对象对应的第一实例,则获取对目标模拟对象创建实例的第一资源;使用第一资源创建第一实例。
可选的,在本发明的一些实施例中,在上述图6所示的基础上,如图7所示,为移动终端的另一个实施例示意图,移动终端还可以包括:
接收模块605,用于接收对目标模拟对象的换肤指令;
获取模块606,用于获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据;
替换模块607,用于将骨骼数据上绑定的源网格数据和源材质数据对应的替换为目标网格数据和目标材质数据。
如图8所示,为本发明实施例中移动终端的另一个实施例示意图,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。
图8示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图8,手机包括:射频(Radio Frequency,RF)电路810、存储器820、输入单元830、显示单元840、传感器850、音频电路860、无线保真(wireless fidelity,WiFi)模块870、处理器880、以及电源890等部件。本领域技术人员可以理解,图8中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图8对手机的各个构成部件进行具体的介绍:
RF电路810可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器880处理;另外,将设计上行的数据发送给基站。通常,RF电路810包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(Low NoiseAmplifier,LNA)、双工器等。此外,RF电路810还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GlobalSystem of Mobile communication,GSM)、通用分组无线服务(General Packet RadioService,GPRS)、码分多址(Code Division Multiple Access,CDMA)、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)、长期演进(Long Term Evolution,LTE)、电子邮件、短消息服务(Short Messaging Service,SMS)等。
存储器820可用于存储软件程序以及模块,处理器880通过运行存储在存储器820的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器820可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器820可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元830可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元830可包括触控面板831以及其他输入设备832。触控面板831,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板831上或在触控面板831附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板831可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器880,并能接收处理器880发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板831。除了触控面板831,输入单元830还可以包括其他输入设备832。具体地,其他输入设备832可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元840可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元840可包括显示面板841,可选的,可以采用液晶显示器(Liquid CrystalDisplay,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板841。进一步的,触控面板831可覆盖显示面板841,当触控面板831检测到在其上或附近的触摸操作后,传送给处理器880以确定触摸事件的类型,随后处理器880根据触摸事件的类型在显示面板841上提供相应的视觉输出。虽然在图8中,触控面板831与显示面板841是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板831与显示面板841集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器850,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板841的亮度,接近传感器可在手机移动到耳边时,关闭显示面板841和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路860、扬声器861,传声器862可提供用户与手机之间的音频接口。音频电路860可将接收到的音频数据转换后的电信号,传输到扬声器861,由扬声器861转换为声音信号输出;另一方面,传声器862将收集的声音信号转换为电信号,由音频电路860接收后转换为音频数据,再将音频数据输出处理器880处理后,经RF电路810以发送给比如另一手机,或者将音频数据输出至存储器820以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块870可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图8示出了WiFi模块870,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器880是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器820内的软件程序和/或模块,以及调用存储在存储器820内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器880可包括一个或多个处理单元;优选的,处理器880可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器880中。
手机还包括给各个部件供电的电源890(比如电池),优选的,电源可以通过电源管理系统与处理器880逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本发明实施例中,该终端所包括的处理器880还具有以下功能:
检测以主模拟对象为中心的检测范围,检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;当在检测范围内检测到目标模拟对象时,确定目标模拟对象与主模拟对象的距离;根据距离,确定目标模拟对象所属的控制范围;根据所属的控制范围所对应的执行操作,对目标模拟对象进行处理。
可选的,在本发明的一些实施例中,多个控制范围与中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;处理器880还具有以下功能:
当所属的控制范围为服务器下发范围时,对目标模拟对象创建逻辑对象,并显示创建逻辑对象的目标模拟对象对应的名字牌;
或者,
当所属的控制范围为资源加载范围时,对目标模拟对象加载对应的资源;
或者,
当所属的控制范围为实例化范围时,使用对应的资源创建目标模拟对象对应的目标实例;
或者,
当所属的控制范围为可视化范围时,对目标实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包含资源缓存,处理器880还具有以下功能:
若资源缓存中包括对目标模拟对象创建实例的第一资源,则从资源缓存中提取第一资源;
或者,
若资源缓存中未包括对目标模拟对象创建实例的第一资源,则异步加载第一资源。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,处理器880还具有以下功能:
若实例缓存中包括目标模拟对象对应的第一实例,则复用第一实例;对第一实例进行渲染计算,显示渲染后的目标模拟对象。
可选的,在本发明的一些实施例中,移动终端包括实例缓存,处理器880还具有以下功能:
若实例缓存中未包括目标模拟对象对应的第一实例,则获取对目标模拟对象创建实例的第一资源;使用第一资源创建第一实例。
可选的,在本发明的一些实施例中,处理器880还具有以下功能:
接收对目标模拟对象的换肤指令;获取目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据;将骨骼数据上绑定的源网格数据和源材质数据对应的替换为目标网格数据和目标材质数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (12)
1.一种应用中模拟对象处理的方法,其特征在于,所述方法应用于移动终端上多模拟对象同屏显示的交互应用中,所述交互应用的显示界面上显示有主模拟对象,所述方法包括:
所述移动终端检测以所述主模拟对象为中心的检测范围,所述检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;
当在所述检测范围内检测到目标模拟对象时,确定所述目标模拟对象与所述主模拟对象的距离;
根据所述距离,确定所述目标模拟对象所属的控制范围;
根据所述所属的控制范围所对应的执行操作,对所述目标模拟对象进行处理。
2.根据权利要求1所述的方法,其特征在于,所述多个控制范围与所述中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;
所述根据所述所属的控制范围所对应的执行操作,对所述目标模拟对象进行处理,至少包括以下之一:
当所述所属的控制范围为所述服务器下发范围时,对所述目标模拟对象创建逻辑对象,并显示创建所述逻辑对象的目标模拟对象对应的名字牌;
或者,
当所述所属的控制范围为所述资源加载范围时,对所述目标模拟对象加载对应的资源;
或者,
当所述所属的控制范围为所述实例化范围时,使用所述对应的资源创建所述目标模拟对象对应的目标实例;
或者,
当所述所属的控制范围为所述可视化范围时,对所述目标实例进行渲染计算,显示渲染后的目标模拟对象。
3.根据权利要求1或2所述的方法,其特征在于,所述移动终端包括资源缓存,所述对所述目标模拟对象加载对应的资源,包括:
若所述资源缓存中包括对所述目标模拟对象创建实例的目标资源,则从所述资源缓存中提取所述目标资源;
或者,
若所述资源缓存中未包括对所述目标模拟对象创建实例的目标资源,则异步加载所述目标资源。
4.据权利要求2所述的方法,其特征在于,所述移动终端包括实例缓存,所述对所述目标实例进行渲染计算,显示渲染后的目标模拟对象,包括:
若所述实例缓存中包括所述目标模拟对象对应的目标实例,则复用所述目标实例;
对所述目标实例进行渲染计算,显示渲染后的目标模拟对象。
5.根据权利要求3所述的方法,其特征在于,所述移动终端包括实例缓存,所述使用所述对应的资源创建所述目标模拟对象对应的目标实例,包括:
若所述实例缓存中未包括所述目标模拟对象对应的目标实例,则获取对所述目标模拟对象创建实例的目标资源;
使用所述目标资源创建所述目标实例。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
接收对所述目标模拟对象的换肤指令;
获取所述目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据;
将所述骨骼数据上绑定的源网格数据和源材质数据对应的替换为所述目标网格数据和所述目标材质数据。
7.一种移动终端,其特征在于,所述移动终端上包含多模拟对象同屏显示的交互应用,所述交互应用的显示界面上显示有主模拟对象,所述移动终端包括:
检测模块,用于检测以所述主模拟对象为中心的检测范围,所述检测范围包括多个控制范围,每个控制范围与进入各自控制范围所执行的操作对应;
第一确定模块,用于当在所述检测范围内检测到目标模拟对象时,确定所述目标模拟对象与所述主模拟对象的距离;
第二确定模块,用于根据所述距离,确定所述目标模拟对象所属的控制范围;
处理模块,用于根据所述所属的控制范围所对应的执行操作,对所述目标模拟对象进行处理。
8.根据权利要求7所述的移动终端,其特征在于,所述多个控制范围与所述中心的距离由大到小排列,包括:服务器下发范围、资源加载范围、实例化范围和可视化范围;
所述处理模块,具体用于至少包括以下之一:
当所述所属的控制范围为所述服务器下发范围时,对所述目标模拟对象创建逻辑对象,并显示创建所述逻辑对象的目标模拟对象对应的名字牌;
或者,
当所述所属的控制范围为所述资源加载范围时,对所述目标模拟对象加载对应的资源;
或者,
当所述所属的控制范围为所述实例化范围时,使用所述对应的资源创建所述目标模拟对象对应的目标实例;
或者,
当所述所属的控制范围为所述可视化范围时,对所述目标实例进行渲染计算,显示渲染后的目标模拟对象。
9.根据权利要求7或8所述的移动终端,其特征在于,所述移动终端包含资源缓存,
所述处理模块,具体用于若所述资源缓存中包括对所述目标模拟对象创建实例的目标资源,则从所述资源缓存中提取所述目标资源;
或者,
所述处理模块,具体用于若所述资源缓存中未包括对所述目标模拟对象创建实例的目标资源,则异步加载所述目标资源。
10.根据权利要求8所述的移动终端,其特征在于,所述移动终端包括实例缓存,所述移动终端还包括:
所述处理模块,具体用于若所述实例缓存中包括所述目标模拟对象对应的目标实例,则复用所述目标实例;对所述目标实例进行渲染计算,显示渲染后的目标模拟对象。
11.根据权利要求9所述的移动终端,其特征在于,所述移动终端包括实例缓存,
所述处理模块,具体用于若所述实例缓存中未包括所述目标模拟对象对应的目标实例,则获取对所述目标模拟对象创建实例的目标资源;使用所述目标资源创建所述目标实例。
12.根据权利要求10或11所述的移动终端,其特征在于,所述移动终端还包括:
接收模块,用于接收对所述目标模拟对象的换肤指令;
获取模块,用于获取所述目标模拟对象对应的骨骼数据,以及待替换的目标网格数据和目标材质数据;
替换模块,用于将所述骨骼数据上绑定的源网格数据和源材质数据对应的替换为所述目标网格数据和所述目标材质数据。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710058471.1A CN106807087B (zh) | 2017-01-23 | 2017-01-23 | 一种应用中模拟对象处理的方法以及移动终端 |
JP2019525990A JP6850884B2 (ja) | 2017-01-05 | 2017-12-27 | 情報処理方法及び装置 |
PCT/CN2017/118874 WO2018126956A1 (zh) | 2017-01-05 | 2017-12-27 | 一种信息处理方法、装置及服务器 |
KR1020197022877A KR102319206B1 (ko) | 2017-01-05 | 2017-12-27 | 정보 처리 방법 및 장치 그리고 서버 |
US16/425,733 US11135515B2 (en) | 2017-01-05 | 2019-05-29 | Information processing method and apparatus and server |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710058471.1A CN106807087B (zh) | 2017-01-23 | 2017-01-23 | 一种应用中模拟对象处理的方法以及移动终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106807087A true CN106807087A (zh) | 2017-06-09 |
CN106807087B CN106807087B (zh) | 2018-07-06 |
Family
ID=59112468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710058471.1A Active CN106807087B (zh) | 2017-01-05 | 2017-01-23 | 一种应用中模拟对象处理的方法以及移动终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106807087B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018126956A1 (zh) * | 2017-01-05 | 2018-07-12 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及服务器 |
CN109731337A (zh) * | 2018-12-28 | 2019-05-10 | 北京金山安全软件有限公司 | Unity中粒子特效创建方法、装置、电子设备及存储介质 |
CN110681157A (zh) * | 2019-10-16 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 控制虚拟对象更换穿戴部件的方法、装置、设备及介质 |
CN111068322A (zh) * | 2019-12-28 | 2020-04-28 | 上海米哈游天命科技有限公司 | 一种对象移动方法、装置、终端及存储介质 |
CN111273968A (zh) * | 2020-01-17 | 2020-06-12 | 上海米哈游天命科技有限公司 | 一种对象调用方法、装置、设备及介质 |
CN111298432A (zh) * | 2020-01-16 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 虚拟对象信息获取方法、装置、服务器及可读存储介质 |
CN111462283A (zh) * | 2020-03-27 | 2020-07-28 | 厦门梦加网络科技股份有限公司 | 大量相同角色动画播放方法、介质、设备及装置 |
CN111589114A (zh) * | 2020-05-12 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 虚拟对象的选择方法、装置、终端及存储介质 |
CN113613739A (zh) * | 2019-03-07 | 2021-11-05 | Cy游戏公司 | 信息处理程序、信息处理方法、信息处理装置和信息处理系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797413A (zh) * | 2004-12-30 | 2006-07-05 | 中山大学 | 在移动数字终端上实现游戏场景动态配置的方法 |
JP2007071403A (ja) * | 2005-09-02 | 2007-03-22 | Realviz:Kk | 射撃模擬装置 |
US20110244957A1 (en) * | 2010-03-31 | 2011-10-06 | Namco Bandai Games Inc. | Information storage medium, image generation device, and image generation method |
CN103116451A (zh) * | 2013-01-25 | 2013-05-22 | 腾讯科技(深圳)有限公司 | 一种智能终端的虚拟角色交互方法、装置和系统 |
CN104536780A (zh) * | 2014-12-09 | 2015-04-22 | 珠海金山网络游戏科技有限公司 | 一种电子游戏资源高效加载方法及系统 |
-
2017
- 2017-01-23 CN CN201710058471.1A patent/CN106807087B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1797413A (zh) * | 2004-12-30 | 2006-07-05 | 中山大学 | 在移动数字终端上实现游戏场景动态配置的方法 |
JP2007071403A (ja) * | 2005-09-02 | 2007-03-22 | Realviz:Kk | 射撃模擬装置 |
US20110244957A1 (en) * | 2010-03-31 | 2011-10-06 | Namco Bandai Games Inc. | Information storage medium, image generation device, and image generation method |
CN103116451A (zh) * | 2013-01-25 | 2013-05-22 | 腾讯科技(深圳)有限公司 | 一种智能终端的虚拟角色交互方法、装置和系统 |
CN104536780A (zh) * | 2014-12-09 | 2015-04-22 | 珠海金山网络游戏科技有限公司 | 一种电子游戏资源高效加载方法及系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11135515B2 (en) | 2017-01-05 | 2021-10-05 | Tencent Technology (Shenzhen) Company Limited | Information processing method and apparatus and server |
WO2018126956A1 (zh) * | 2017-01-05 | 2018-07-12 | 腾讯科技(深圳)有限公司 | 一种信息处理方法、装置及服务器 |
CN109731337A (zh) * | 2018-12-28 | 2019-05-10 | 北京金山安全软件有限公司 | Unity中粒子特效创建方法、装置、电子设备及存储介质 |
CN113613739A (zh) * | 2019-03-07 | 2021-11-05 | Cy游戏公司 | 信息处理程序、信息处理方法、信息处理装置和信息处理系统 |
CN110681157A (zh) * | 2019-10-16 | 2020-01-14 | 腾讯科技(深圳)有限公司 | 控制虚拟对象更换穿戴部件的方法、装置、设备及介质 |
CN111068322A (zh) * | 2019-12-28 | 2020-04-28 | 上海米哈游天命科技有限公司 | 一种对象移动方法、装置、终端及存储介质 |
CN111068322B (zh) * | 2019-12-28 | 2023-07-04 | 上海米哈游天命科技有限公司 | 一种对象移动方法、装置、终端及存储介质 |
CN111298432A (zh) * | 2020-01-16 | 2020-06-19 | 腾讯科技(深圳)有限公司 | 虚拟对象信息获取方法、装置、服务器及可读存储介质 |
CN111273968A (zh) * | 2020-01-17 | 2020-06-12 | 上海米哈游天命科技有限公司 | 一种对象调用方法、装置、设备及介质 |
CN111462283A (zh) * | 2020-03-27 | 2020-07-28 | 厦门梦加网络科技股份有限公司 | 大量相同角色动画播放方法、介质、设备及装置 |
CN111462283B (zh) * | 2020-03-27 | 2023-03-03 | 厦门梦加网络科技股份有限公司 | 大量相同角色动画播放方法、介质、设备及装置 |
CN111589114A (zh) * | 2020-05-12 | 2020-08-28 | 腾讯科技(深圳)有限公司 | 虚拟对象的选择方法、装置、终端及存储介质 |
CN111589114B (zh) * | 2020-05-12 | 2023-03-10 | 腾讯科技(深圳)有限公司 | 虚拟对象的选择方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106807087B (zh) | 2018-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106807087B (zh) | 一种应用中模拟对象处理的方法以及移动终端 | |
CN109598777B (zh) | 图像渲染方法、装置、设备及存储介质 | |
CN106504311B (zh) | 一种动态流体效果的渲染方法和装置 | |
CN107180444B (zh) | 一种动画生成方法、装置、终端和系统 | |
CN106547599B (zh) | 一种资源动态加载的方法及终端 | |
WO2018126956A1 (zh) | 一种信息处理方法、装置及服务器 | |
CN104766361B (zh) | 一种残影效果的实现方法,及装置 | |
CN106504185A (zh) | 一种渲染优化方法和装置 | |
CN106075906B (zh) | 一种模拟对象的寻路方法、场景的搭建方法和对应的装置 | |
CN108537889A (zh) | 增强现实模型的调整方法、装置、存储介质和电子设备 | |
CN111383309B (zh) | 一种骨骼动画驱动方法、装置及存储介质 | |
CN110738211A (zh) | 一种对象检测的方法、相关装置以及设备 | |
CN108287744A (zh) | 文字显示方法、装置及存储介质 | |
CN106693367A (zh) | 一种在客户端显示数据的处理方法和服务器以及客户端 | |
CN111598169B (zh) | 一种模型训练方法、游戏测试方法、模拟操作方法及装置 | |
CN110058649A (zh) | 一种界面显示方法及终端设备 | |
CN106250187A (zh) | 一种增强现实ar的信息处理方法、装置及系统 | |
CN109032719A (zh) | 一种对象推荐方法及终端 | |
CN109521933A (zh) | 一种显示控制方法及移动终端 | |
CN106504309A (zh) | 一种图像合成的方法以及图像合成装置 | |
CN109550249A (zh) | 一种目标对象的控制方法以及相关装置 | |
CN107748699A (zh) | 资源分配方法及相关产品 | |
CN105447124A (zh) | 虚拟物品分享方法和装置 | |
CN110069375A (zh) | 一种压力测试的方法以及相关装置 | |
CN107908765A (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 |