CN111870949B - 游戏场景中的对象处理方法、装置及电子设备 - Google Patents
游戏场景中的对象处理方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111870949B CN111870949B CN202010759422.2A CN202010759422A CN111870949B CN 111870949 B CN111870949 B CN 111870949B CN 202010759422 A CN202010759422 A CN 202010759422A CN 111870949 B CN111870949 B CN 111870949B
- Authority
- CN
- China
- Prior art keywords
- combination
- instance
- game
- game scene
- attribute information
- 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
- 238000003672 processing method Methods 0.000 title abstract description 14
- 238000000034 method Methods 0.000 claims abstract description 52
- 238000012545 processing Methods 0.000 claims abstract description 52
- 230000008569 process Effects 0.000 claims abstract description 31
- 230000004048 modification Effects 0.000 claims description 19
- 238000012986 modification Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013519 translation Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 238000010586 diagram Methods 0.000 description 14
- 230000009466 transformation Effects 0.000 description 11
- 235000002245 Penicillium camembertii Nutrition 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 230000003321 amplification Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000003199 nucleic acid amplification method Methods 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- IUVCFHHAEHNCFT-INIZCTEOSA-N 2-[(1s)-1-[4-amino-3-(3-fluoro-4-propan-2-yloxyphenyl)pyrazolo[3,4-d]pyrimidin-1-yl]ethyl]-6-fluoro-3-(3-fluorophenyl)chromen-4-one Chemical compound C1=C(F)C(OC(C)C)=CC=C1C(C1=C(N)N=CN=C11)=NN1[C@@H](C)C1=C(C=2C=C(F)C=CC=2)C(=O)C2=CC(F)=CC=C2O1 IUVCFHHAEHNCFT-INIZCTEOSA-N 0.000 description 1
- 241000221696 Sclerotinia sclerotiorum Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000037361 pathway Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/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
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种游戏场景中的对象处理方法、装置及电子设备,涉及游戏制作技术领域。该方法包括:在游戏编辑过程中,获取游戏场景中的各对象组合;将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例;获取组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在游戏场景中进行显示。本申请提供的技术方案,在游戏编辑过程中,对对象组合进行实例化处理,并且存储组合实例中的各对象实例的属性信息,在游戏运行时,不需要实例化处理,并且,基于存储的对象实例的属性信息将对象实例在游戏场景中进行显示,提高了游戏运行效率。
Description
技术领域
本申请涉及游戏制作技术领域,具体而言,本申请涉及一种游戏场景中的对象处理方法、装置及电子设备。
背景技术
随着计算机技术和多媒体技术的发展,由计算机程序控制的、以益智或娱乐为目的的游戏越来越受欢迎。游戏的内容日渐丰富,种类日趋繁多,游戏的情节也越来越复杂,游戏场景中显示的内容也越来越多样化。
现有技术中,在进行游戏场景编辑时,游戏场景中包括多个对象,为了便于对多个对象进行编辑,通常将几个对象进行组合,得到对象组合。在游戏运行时,对游戏场景中的对象组合进行实例化,得到组合实例,并存储组合实例中的对象实例和组合实例作为节点的树状结构,根据树状结构计算各对象实例在游戏场景中的变换信息,根据计算结果在游戏场景中显示各对象实例,其中,存储树状结构占用较大内存;而且,游戏运行时进行对象组合的实例化,以及计算对象实例的变换信息,导致游戏运行效率低下。
发明内容
本申请实施例提供了一种游戏场景中的对象处理方法、装置及电子设备,可以解决现有技术中存在的问题中的至少一项。
本申请实施例提供的具体技术方案如下:
本申请实施例提供了一种游戏场景中的对象处理方法,该方法包括:
在游戏编辑过程中,在接收到用户的对象实例化触发操作时,获取游戏场景中的各对象组合;
将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例;
对于每个组合实例,获取组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在游戏场景中进行显示。
本申请实施例提供了一种游戏场景中的对象处理装置,该装置包括:
获取模块,用于在游戏编辑过程中,在接收到用户的对象实例化触发操作时,获取游戏场景中的各对象组合;
处理模块,用于将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例;
显示模块,用于对于每个组合实例,获取组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在游戏场景中进行显示。
本申请实施例还提供了一种电子设备,该电子设备包括一个或多个处理器;存储器;一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序被配置用于执行如本申请实施例提供的方法。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,当计算机程序在处理器上运行时,使得处理器可以执行如本申请实施例提供的方法。
本申请提供的技术方案带来的有益效果是:
本申请提供了一种游戏场景中的对象处理方法、装置及电子设备,在游戏编辑过程中,获取游戏场景中的各对象组合,对每个对象组合进行实例化处理,并且存储组合实例中的各对象实例的属性信息,以在游戏运行时,基于存储的各对象实例的属性信息,在游戏场景中显示对象实例。由于将对象组合的实例化过程在游戏编辑过程中完成,而且,省略了对象实例变换信息的计算过程,提高了游戏运行效率。并且,直接根据存储的对象实例的属性信息来显示对象实例,不需要存储树状结构,节省了内存。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为现有技术中的对象、对象组合、组合实例的示意图;
图2为现有技术中的树状结构的示意图;
图3为本申请实施例提供的游戏场景中的对象处理方法的流程图;
图4为本申请实施例提供的组合实例的示意图;
图5为本申请实施例提供的将对象组合进行实例化的示意图;
图6a为本申请实施例提供的组合实例的示意图;
图6b为本申请实施例提供的组合实例的示意图;
图7a为本申请实施例提供的对象实例的示意图;
图7b为本申请实施例提供的对象实例的示意图;
图8为本申请实施例提供的游戏场景编辑的示意图;
图9为本申请实施例提供的对象实例的属性信息的示意图;
图10为本申请实施例提供的游戏场景制作过程的示意图;
图11为本申请实施例提供的游戏场景中的对象处理装置的结构示意图;
图12为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
现有技术中,游戏引擎Unity中的Prefab系统中,将多个对象(Game Object)进行组合,得到对象组合(Prefab),将对象组合进行实例化,得到组合实例(Instance)。如图1所示,场景编辑器中的对象、对象组合、组合实例之间的关系示意图如图1所示,在游戏编辑器(Level Editor)中,将对象列表中的对象1、对象2、对象3进行组合,得到对象组合A;将对象组合A进行实例化,得到组合实例A1、组合实例A2;将对象列表中的对象5、对象6、对象7进行组合,得到对象组合B;将对象组合B进行实例化,得到组合实例B1、组合实例B2,图中的对象列表和对象组合A、对象列表和对象组合B之间的箭头分别表示对象列表和对象组合A、对象列表和对象组合B之间的关联关系;对象组合A和组合实例A1、组合实例A2之间的箭头分别表示对象组合A和组合实例A1、组合实例A2之间的关联关系,即组合实例A1和A2是将对象组合A进行实例化处理得到的;对象组合B和组合实例B1、组合实例B2之间的箭头分别表示对象组合B和组合实例B1、组合实例B2之间的关联关系,即组合实例B1和B2是将对象组合B进行实例化处理得到的。
其中,将对象组合A进行实例化,得到组合实例A1、组合实例A2,将对象组合B进行实例化,得到组合实例B1、组合实例B2,是在游戏运行时进行的,并且还要存储包含组合实例A1、组合实例A2、组合实例B1、组合实例B2、对象1、对象2、对象3、对象5、对象6、对象7的树状结构(如图中所示的关卡数据结构),如图2所示(图中未示出组合实例B2、对象5、对象6、对象7),根据树状结构计算对象1、对象2、对象3…的变换信息,其中,每个对象根据公式Transform(node)=∏祖先节点Transform计算变换信息(包括位置信息、旋转信息、缩放信息),transform表示变换信息,node表示对象1、对象2、对象3…对应的各节点,以对象1为例,根据图2中所示的树状结构确定的祖先节点包括组合实例A1、关卡对应的节点,其中,关卡表示一个游戏场景显示界面即一个游戏场景,关卡的变换信息的值可以设置为:位置(0,0,0)、旋转0、缩放(1,1,1)。
在游戏运行时,对每个对象组合进行实例化,并且根据树状结构计算每个对象的变换信息,影响游戏运行效率;而且,存储树状结构需要占用较大内存,浪费存储空间。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请技术方案的执行主体可以为终端,可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。本申请技术方案可以通过终端设备上安装的游戏编辑器来实现。
本申请实施例提供了一种游戏场景中的对象处理方法,如图3所示,该方法包括:
步骤S101,在游戏编辑过程中,在接收到用户的对象实例化触发操作时,获取游戏场景中的各对象组合;
其中,用户可以为游戏场景设计人员,通过终端设备上安装的游戏编辑器进行游戏场景编辑,终端设备根据用户的编辑操作实现对游戏场景中显示的所有对象的编辑。其中,对象可以为游戏场景中显示的物体,包括但不限于游戏场景中的建筑物、陈设物品、游戏道具、灯光等。
在游戏场景中,为了满足游戏制作的便利性,对于指定的两个或两个以上对象,可以预先将其进行组合,得到对象组合,当然,一个对象也可以作为一个单独的对象组合,即对象组合中包含至少一个对象。对象经过组合之后,可以将对象组合作为一个整体进行实例化操作,在接收到用户的对象实例化触发操作时,获取游戏场景中预先组合好的对象组合。
其中,对象组合中的各对象具有各自对应的属性信息。
在一种可能的实现方式中,对于一个对象,属性信息包括以下至少一项:
内容信息、位置信息、旋转角度信息、尺寸信息。
在实际应用中,内容信息为对象的具体内容,例如,建筑物、游戏道具。位置信息为对象在游戏场景所在的世界坐标系中的位置。旋转角度信息为对象在游戏场景所在的世界坐标系中的旋转角度。尺寸信息为对象在游戏场景中的尺寸大小。
步骤S102,将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例;
其中,实例化处理是将每个对象组合作为一个整体处理成游戏场景中的组合实例,每个对象组合进行实例化处理之后,得到每个对象组合对应的至少一个组合实例。由于每个组合实例是通过同一个对象组合得到的,因此,每个组合实例包含内容相同的对象,每个组合实例中各对象之间的相对位置、旋转角度相同。每个组合实例之间,可以有不同的位置、不同的旋转角度、不同的尺寸等。基于一个对象组合,得到该对象组合的至少一个组合实例,提高了对象组合的复用性。
在一示例中,如图4所示,白色方框内的物体即为对象组合对应的组合实例,图4分别用两个白色方框示出了基于两个对象组合分别得到的两个组合实例,即一个对象组合实例化得到了一个组合示例。
将对象组合进行实例化处理的具体实现方式见如下实施例。
在一种可能的实现方式中,将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例,包括:
在接收到用户针对每个对象组合的操作时,基于操作对每个对象组合进行相应的实例化处理;
其中,操作包括以下至少一项操作:
平移、旋转、缩放、对象可见性设置。
在实际应用中,可以根据用户针对对象组合的操作进行实例化处理,用户针对对象组合的操作可以包括对对象组合的平移、旋转、缩放、对象可见性设置中的至少一项。其中,对象可见性设置是指设置对象组合中的对象是否可见,包括可见或不可见。在游戏场景中,需要显示基于一个对象组合的多个组合实例时,可以根据用户的操作将对象组合从一个位置平移到另一个位置、将对象组合进行角度旋转、将对象组合进行整体放大或缩小、设置对象是否可见等方式,得到对象组合对应的多个组合实例。
具体的,在接收到用户针对对象组合的操作时,基于操作对对象组合进行相应的实例化处理的具体实现方式可以包括以下两种:第一种方式可以是首先接收用户针对对象组合的选中操作,然后针对用户选中的对象组合,接收用户针对对象组合的拖动操作,根据拖动的动作方向,实现平移、旋转、缩放,对于对象组合中的各对象是否可见,可以根据用户针对对象组合中的各对象的可见性设置操作来确定。第二种方式可以是针对用户选中的对象组合,接收用户针对对象组合设置的操作参数(如平移参数、旋转参数、缩放参数中的至少一种),根据设置的参数,进行相应的实例化处理,将对象组合进行相应的平移、旋转、缩放,对于对象组合中的各对象的可见性设置,也可以根据预先设置的参数来确定。
在一示例中,如图5所示,其中的三角形和圆形为对象,将三角形和圆形进行组合之后得到对象组合A(可称为layoutA),接收用户针对对象组合的平移操作,基于平移操作对对象组合进行实例化处理,得到组合实例A1(可称为instanceA1),该示例中的平移操作为向下平移;接收用户针对对象组合的平移和旋转操作,基于平移和旋转操作对对象组合进行实例化处理,得到组合实例A2;接收用户针对对象组合的平移和放大操作,基于平移和放大操作对对象组合进行实例化处理,得到组合实例A3。
本申请实施例中,基于用户针对对象组合的操作进行实例化处理,使得实例化方式更加灵活,便于满足用户对于场景编辑的不同需求。
在一种可能的实现方式中,将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例,包括:
获取每个对象组合对应的实例化规则;
基于实例化规则,对每个对象组合进行实例化处理。
在实际应用中,可以根据用户预先设置的实例化规则,将获取到的每个对象组合进行实例化处理。实例化规则可以是预先设置的对象组合在游戏场景中的显示位置、旋转角度、缩放尺寸、各对象是否可见等,预先将实例化规则与相应的对象组合建立关联关系,当获取到对象组合之后,确定该对象组合是否存在相关联的实例化规则,若存在,则根据实例化规则对对象组合进行实例化处理。
本申请实施例中,根据实例化规则对对象组合进行实例化处理,可以使对象组合的实例化处理更加方便快捷,提高游戏场景编辑的效率。
在一种可能的实现方式中,在将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例之后,该方法还包括:
当接收到针对任一目标对象实例的编辑操作时,确定目标对象实例所属的目标组合实例;
根据编辑操作,对目标组合实例的各对象实例进行相应的处理。
在一种可能的实现方式中,编辑操作包括以下至少一项:
移动、复制、删除。
在实际应用中,将对象组合进行实例化之后,得到各组合实例,则以组合实例为单位对其中的各对象实例进行编辑操作。当针对组合实例中的某一个对象实例进行编辑操作时,则将编辑操作作用于该对象实例所属的组合实例中的各对象实例,也就是说,移动、复制、删除任一组合实例中的对象实例时,则相应的移动、复制、删除该对象实例所属的组合实例中的其他对象实例。
本申请实施例中,以组合实例为整体进行移动、复制、删除等编辑操作,能够提高游戏场景编辑的效率。
在一种可能的实现方式中,该方法还包括:
当接收到针对目标对象组合中至少一个对象的属性信息的修改操作时,根据修改操作,对目标对象组合对应的各目标组合实例中对应的对象实例的属性信息进行相应的修改。
在实际应用中,若对目标对象组合中的至少一个对象的属性信息进行修改操作,则对对象对应的对象实例的属性信息进行修改。这样,通过对目标对象组合中的至少一个对象的属性信息的修改,可以实现对目标对象组合对应的各目标组合实例中的对象实例的属性信息的修改,而不需要依次修改各组合实例中的对象实例的属性信息,减少了操作步骤,而且,通过全量替换的方式,保证了线性的时间复杂度,也能够解决由于多次修改各组合实例造成的修改错误问题,保证数据的准确性。
其中,针对对象组合中任一对象的修改操作可以包括针对对象的属性信息的修改操作,具体可以包括以下至少一项:修改对象的内容、修改对象在游戏场景中的位置、修改对象的旋转角度、修改对象的尺寸信息等。
在一示例中,由对象组合A进行实例化处理得到组合实例A1、A2、A3,组合实例A1、A2、A3如图6a所示,组合实例A1、A2、A3中分别包含多个对象实例,而且,每个组合实例中的各对象实例的相对位置不变,各组合实例中的对象实例的不同在于在游戏场景中显示的尺寸大小不同,以及各对象实例在游戏场景中的绝对位置不同。假设对象组合中的对象里包含对象1-1、对象1-2,对象1-1在组合实例A1中对应的对象实例为A1-1、对象1-2在组合实例A1中对应的对象实例为A1-2。
当修改对象组合A中的对象1-1的旋转角度、修改对象1-2的位置时,组合实例A1、A2、A3中的与对象1-1、对象1-2相对应的各对象实例则相应的进行修改,修改后的各对象实例如图6b所示的A1-1'、A1-2'、A2-1'、A2-2'、A3-1'、A3-2',图中用灰色标记了修改后的对象实例,其中,A3-2'由于被遮挡在图中未示出。需要说明的是,图6a、图6b中的具体细节与本申请技术方案无关,只是一个示例说明,图中的实际内容的具体细节并不构成对本申请方案的限定,在此不做具体解释。
步骤S103,对于每个组合实例,获取组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在游戏场景中进行显示。
在得到了对象组合对应的组合实例之后,对象组合中的各对象的属性信息相对于对象实例的属性信息发生了变化,例如,将对象组合进行平移操作得到的组合实例,其中的对象实例相对于对象,位置信息发生了变化;将对象组合进行旋转操作得到的组合实例,其中的对象实例相对于对象,旋转信息发生了变化;将对象组合进行缩放操作得到的组合实例,其中的对象实例相对于对象,尺寸信息发生了变化。另外,对象实例的属性信息除了内容信息、位置信息、旋转角度信息、尺寸信息之外,还包括可见性信息,可见性信息为根据对象可见性设置操作设置的对象实例在游戏场景中是否可见。
在同一游戏场景中,一个组合实例中的各对象实例的可见性设置可以不同,也就是说,同一组合实例中的各对象实例,可以设置为有些对象实例可见,有些对象实例不可见。游戏场景中的游戏角色在运动过程中,位置不断变化,在当前游戏场景中,当游戏角色与对象实例之间的距离大于预设距离,则可以设置该对象实例不可见;当进行下一游戏场景,游戏角色与对象实例之间的距离小于等于预设距离,则可以设置该对象实例可见。
在一示例中,图7a所示的组合实例中包括对象实例B1、B2、B3、B4、B5、B6、B7,对象实例B1、B2、B3、B4的尺寸相对较小,在当前场景中,游戏角色与对象实例B1、B2、B3、B4之间的距离较远,从游戏性和观感来看,对象实例B1、B2、B3、B4不太重要,因此,在当前游戏场景中,可以将对象实例B1、B2、B3、B4设置为不可见,将对象实例B5、B6、B7设置为可见,如图7b所示,为了便于解释,图中用虚线表示的B1、B2、B3、B4在当前游戏场景中不可见,用实线表示的B5、B6、B7在当前游戏场景中可见。在游戏运行,B1、B2、B3、B4在当前游戏场景中不显示,B5、B6、B7在当前游戏场景中显示。
当接收到用户针对各组合实例的确认操作或者针对游戏场景的编辑完成操作时,获取组合实例中的各对象实例的属性信息,并存储这些属性信息,省略了对象实例变换信息的计算过程,不需要存储树状结构,节省了内存,在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将各对象实例在游戏场景中进行显示,提高了游戏运行效率。另外,同一个组合实例中的对象实例可以在不同的游戏场景中显示,从而提高资源的利用率。
本申请实施例提供的游戏场景中的对象处理方法,在游戏编辑过程中,获取游戏场景中的各对象组合,对每个对象组合进行实例化处理,并且存储组合实例中的各对象实例的属性信息,以在游戏运行时,基于存储的各对象实例的属性信息,在游戏场景中显示对象实例。由于将对象组合的实例化过程在游戏编辑过程中完成,而且,省略了对象实例变换信息的计算过程,提高了游戏运行效率。并且,直接根据存储的对象实例的属性信息来显示对象实例,不需要存储树状结构,节省了内存。
基于上述本申请所提供的技术方案,下面以一个具体实施例对该技术方案进行阐释,该具体实施例及其内容仅是为了说明本申请方案的一种可能地实现方式,并不代表本申请方案的全部实现方式。
如图8所示,当在游戏编辑过程中,通过关卡编辑器(也可称为Level Editor)对各关卡对应的游戏场景进行编辑,在接收到用户的对象实例化触发操作时,获取游戏场景中的对象组合,如图中所示的对象组合A、对象组合B,将对象组合A进行实例化处理,得到组合实例A1、组合实例A2,将对象组合B进行实例化处理,得到组合实例B1、组合实例B2,以组合实例A1、组合实例B2为例进行解释,组合实例A1中的对象实例包括图中所示的对象实例1、对象实例2、对象实例3,组合实例B2中的对象实例包括图中所示的对象实例5、对象实例6、对象实例7,其中的对象实例4为独立的对象实例不属于组合实例A1、组合实例A2、组合实例B1、组合实例B2,获取组合实例中的各对象实例的属性信息并存储,在游戏运行时,基于当前游戏场景中的各对象实例的属性信息,将各对象实例在游戏场景中进行显示。
其中,游戏场景中的对象实例的属性信息包括内容信息、位置信息、旋转角度信息、尺寸信息、可见性信息。以对象实例1为例,属性信息如图9所示,其中包括内容信息(也可称为Components[N]),变换信息(也可称为World Tansform)包括位置信息、旋转角度信息、尺寸信息,可见性信息(也可称为Visiblity)。
本申请提供的技术方案,可以提升游戏场景制作初期白模阶段的流水线并行性,并为后期场景修改提供灵活度。其中,白模为游戏制作过程中,场景中的物体的初始模型。如图10所示,其中,流水线1、流水线2、流水线3分别表示游戏场景制作中的三条流水线。在流水线1中,场景美术设计人员首先进行白模制作,然后将白模摆放在游戏场景中的相应位置(如图中所示的白模摆放),然后利用对象组合替换白模(如图中所示的白模替换),进一步对对象组合进行细节的完善(如图中所示的细化对象组合),将对象组合进行实例化处理,得到组合实例,进一步对组合实例进行调整(如图中所示的更新组合实例),对组合实例调整的同时可以再进行对象组合的完善。在流水线2中,场景美术设计人员根据白模制作对象,以及将对象进行组合(如图中所示的根据白模制作对象组合),得到对象组合(如图中所示的完成对象组合),将对象组合提供给流水线1中的场景美术设计人员使用;在流水线3中,策划人员进行游戏机制相关的布点,例如,将游戏中各点位相关的道具补充到对象组合中(如图中所示的补充策划布点),策划布点完成之后,对补充之后的对象组合进行实例化处理,并更新组合实例,最终达到预期的游戏场景展示效果。通过流水线1、流水线2、流水线3三条流水线的并行处理,最终完成游戏场景制作。
本申请的实施例中还提供了一种游戏场景中的对象处理装置20,如图11所示,该装置20包括:
获取模块21,用于在游戏编辑过程中,在接收到用户的对象实例化触发操作时,获取游戏场景中的各对象组合;
处理模块22,用于将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例;
显示模块23,用于对于每个组合实例,获取组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在游戏场景中进行显示。
在一种可能的实现方式中,处理模块22,用于:
在接收到用户针对每个对象组合的操作时,基于操作对每个对象组合进行相应的实例化处理;
其中,操作包括以下至少一项操作:
平移、旋转、缩放、对象可见性设置。
在一种可能的实现方式中,处理模块22,用于:
获取每个对象组合对应的实例化规则;
基于实例化规则,对每个对象组合进行实例化处理。
在一种可能的实现方式中,装置20还包括编辑模块,用于:
在将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例之后,当接收到针对任一目标对象实例的编辑操作时,确定目标对象实例所属的目标组合实例;
根据编辑操作,对目标组合实例的各对象实例进行相应的处理。
在一种可能的实现方式中,编辑操作包括以下至少一项:
移动、复制、删除。
在一种可能的实现方式中,装置20还包括修改模块,用于:
当接收到针对目标对象组合中至少一个对象的属性信息的修改操作时,根据修改操作,对目标对象组合对应的各目标组合实例中对应的对象实例的属性信息进行相应的修改。
在一种可能的实现方式中,对于一个对象,属性信息包括以下至少一项:
内容信息、位置信息、旋转角度信息、尺寸信息。
本申请实施例的游戏场景中的对象处理装置可执行本申请的实施例所提供的游戏场景中的对象处理方法,其实现原理相类似,本申请各实施例中的游戏场景中的对象处理装置中的各模块所执行的动作是与本申请各实施例中的游戏场景中的对象处理方法中的步骤相对应的,对于游戏场景中的对象处理装置的各模块的详细功能描述具体可以参见前文中所示的对应的游戏场景中的对象处理方法中的描述,此处不再赘述。
本申请提供了一种游戏场景中的对象处理装置,在游戏编辑过程中,获取游戏场景中的各对象组合,对每个对象组合进行实例化处理,并且存储组合实例中的各对象实例的属性信息,以在游戏运行时,基于存储的各对象实例的属性信息,在游戏场景中显示对象实例。由于将对象组合的实例化过程在游戏编辑过程中完成,而且,省略了对象实例变换信息的计算过程,提高了游戏运行效率。并且,直接根据存储的对象实例的属性信息来显示对象实例,不需要存储树状结构,节省了内存。
上述实施例从虚拟模块的角度介绍了游戏场景中的对象处理装置,下述从实体模块的角度介绍一种电子设备,具体如下所示:
本申请实施例提供了一种电子设备,如图12所示,图12所示的电子设备9000包括:处理器9001和存储器9003。其中,处理器9001和存储器9003相连,如通过总线9002相连。可选地,电子设备9000还可以包括收发器9004。需要说明的是,实际应用中收发器9004不限于一个,该电子设备9000的结构并不构成对本申请实施例的限定。
处理器9001可以是CPU,通用处理器,GPU,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器9001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线9002可包括一通路,在上述组件之间传送信息。总线9002可以是PCI总线或EISA总线等。总线9002可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器9003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器9003用于存储执行本申请方案的应用程序代码,并由处理器9001来控制执行。处理器9001用于执行存储器9003中存储的应用程序代码,以实现前述任一方法实施例所示的内容。
本申请实施例提供了一种电子设备,本申请实施例中的电子设备包括:一个或多个处理器;存储器;一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序被处理器执行时,在游戏编辑过程中,在接收到用户的对象实例化触发操作时,获取游戏场景中的各对象组合;将每个对象组合进行实例化处理,得到每个对象组合对应的至少一个组合实例;对于每个组合实例,获取组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在游戏场景中进行显示。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当计算机程序在处理器上运行时,使得处理器可以执行前述方法实施例中相应的内容。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述游戏场景中的对象处理方法或者游戏场景中的对象处理方法的各种可选实现方式中提供的方法。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种游戏场景中的对象处理方法,其特征在于,所述方法包括:
在游戏编辑过程中,在接收到用户的对象实例化触发操作时,获取游戏场景中的各对象组合;
将每个所述对象组合进行实例化处理,得到每个所述对象组合对应的至少一个组合实例;其中,每个组合实例之间,能够具有不同的位置、不同的旋转角度以及不同的尺寸;
对于每个组合实例,获取所述组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在所述游戏场景中进行显示;
当针对组合实例中的某一个对象实例进行编辑操作时,则将编辑操作作用于该对象实例所属的组合实例中的各对象实例,以进行编辑操作。
2.根据权利要求1所述的方法,其特征在于,所述将每个所述对象组合进行实例化处理,得到每个所述对象组合对应的至少一个组合实例,包括:
在接收到用户针对每个所述对象组合的操作时,基于所述操作对每个所述对象组合进行相应的实例化处理;
其中,所述操作包括以下至少一项操作:
平移、旋转、缩放、对象可见性设置。
3.根据权利要求1所述的方法,其特征在于,所述将每个所述对象组合进行实例化处理,得到每个所述对象组合对应的至少一个组合实例,包括:
获取每个所述对象组合对应的实例化规则;
基于所述实例化规则,对每个所述对象组合进行实例化处理。
4.根据权利要求1所述的方法,其特征在于,所述编辑操作包括以下至少一项:
移动、复制、删除。
5.根据权利要求2或3所述的方法,其特征在于,所述方法还包括:
当接收到针对目标对象组合中至少一个对象的属性信息的修改操作时,根据所述修改操作,对所述目标对象组合对应的各目标组合实例中对应的对象实例的属性信息进行相应的修改。
6.根据权利要求1或5所述的方法,其特征在于,对于一个对象,所述属性信息包括以下至少一项:
内容信息、位置信息、旋转角度信息、尺寸信息。
7.一种游戏场景中的对象处理装置,其特征在于,所述装置包括:
获取模块,用于在游戏编辑过程中,在接收到用户的对象实例化触发操作时,获取游戏场景中的各对象组合;
处理模块,用于将每个所述对象组合进行实例化处理,得到每个所述对象组合对应的至少一个组合实例;其中,每个组合实例之间,能够具有不同的位置、不同的旋转角度以及不同的尺寸;
显示模块,用于对于每个组合实例,获取所述组合实例中的各对象实例的属性信息并存储,以在游戏运行时,基于当前游戏场景所对应的每个组合实例中的各对象实例的属性信息,将每个组合实例的各对象实例在所述游戏场景中进行显示;
编辑模块,用于当针对组合实例中的某一个对象实例进行编辑操作时,则将编辑操作作用于该对象实例所属的组合实例中的各对象实例,以进行编辑操作。
8.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序被配置用于执行根据权利要求1~6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,当所述计算机程序在处理器上运行时,使得所述处理器可以执行权利要求1~6任一项所述的方法。
10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~6任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010759422.2A CN111870949B (zh) | 2020-07-31 | 2020-07-31 | 游戏场景中的对象处理方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010759422.2A CN111870949B (zh) | 2020-07-31 | 2020-07-31 | 游戏场景中的对象处理方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111870949A CN111870949A (zh) | 2020-11-03 |
CN111870949B true CN111870949B (zh) | 2024-06-04 |
Family
ID=73205917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010759422.2A Active CN111870949B (zh) | 2020-07-31 | 2020-07-31 | 游戏场景中的对象处理方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111870949B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113730920B (zh) * | 2021-09-15 | 2023-10-20 | 福建天晴在线互动科技有限公司 | 一种预设组件同步属性的方法及其系统 |
CN113856202A (zh) * | 2021-10-11 | 2021-12-31 | 北京字跳网络技术有限公司 | 游戏数据编辑方法、装置、编辑器、可读介质和设备 |
CN116319094B (zh) * | 2023-05-19 | 2023-08-11 | 北京安帝科技有限公司 | 基于烟草行业的数据安全传输方法、计算机设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589571A (zh) * | 2007-04-09 | 2016-05-18 | 谷歌股份有限公司 | 客户端输入方法以及输入法编辑器服务器 |
CN109999500A (zh) * | 2019-02-27 | 2019-07-12 | 深圳点猫科技有限公司 | 一种基于编程语言流畅加载游戏地图的方法以及电子设备 |
US10430921B1 (en) * | 2019-02-19 | 2019-10-01 | Umajin Inc. | Multi-user application system environment engine |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9678617B2 (en) * | 2013-01-14 | 2017-06-13 | Patrick Soon-Shiong | Shared real-time content editing activated by an image |
US10489529B2 (en) * | 2016-10-14 | 2019-11-26 | Zoox, Inc. | Scenario description language |
-
2020
- 2020-07-31 CN CN202010759422.2A patent/CN111870949B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105589571A (zh) * | 2007-04-09 | 2016-05-18 | 谷歌股份有限公司 | 客户端输入方法以及输入法编辑器服务器 |
US10430921B1 (en) * | 2019-02-19 | 2019-10-01 | Umajin Inc. | Multi-user application system environment engine |
CN109999500A (zh) * | 2019-02-27 | 2019-07-12 | 深圳点猫科技有限公司 | 一种基于编程语言流畅加载游戏地图的方法以及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111870949A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111870949B (zh) | 游戏场景中的对象处理方法、装置及电子设备 | |
CN112381918A (zh) | 图像渲染方法、装置、计算机设备和存储介质 | |
US20130127849A1 (en) | Common Rendering Framework and Common Event Model for Video, 2D, and 3D Content | |
CN101853162A (zh) | 一种可编辑的网页三维几何造型渲染方法 | |
CN111476910B (zh) | 智能建筑bim的3d模型显示方法、系统、介质及显示终端 | |
WO2022095526A1 (zh) | 图形引擎和适用于播放器的图形处理方法 | |
CN111583378B (zh) | 一种虚拟资产处理的方法及装置、电子设备、存储介质 | |
CN110930492B (zh) | 模型渲染的方法、装置、计算机可读介质及电子设备 | |
WO2024011733A1 (zh) | 3d图像实现方法及系统 | |
Jing | Design and implementation of 3D virtual digital campus-based on unity3d | |
CN111179383B (zh) | 用于cg动画制作的渲染镜头重组方法及装置 | |
CN115167940A (zh) | 3d文件加载方法及装置 | |
CN114307158A (zh) | 三维虚拟场景数据的生成方法及装置、存储介质、终端 | |
Zhang | Three‐Dimensional Animation Space Design Based on Virtual Reality | |
CN108416830A (zh) | 动画显示控制方法、装置、设备及存储介质 | |
CN114596394A (zh) | 一种骨骼动画生成的方法、装置、系统及存储介质 | |
CN108499109B (zh) | 一种基于ue引擎实现物品可实时单侧缩放的方法 | |
US9569875B1 (en) | Ordered list management | |
US20240009560A1 (en) | 3D Image Implementation | |
CN108845961A (zh) | 一种创建顶点缓冲区方法、装置及可读存储介质 | |
CN115170707B (zh) | 基于应用程序框架的3d图像实现系统及方法 | |
KR102533209B1 (ko) | 다이나믹 확장현실(xr) 콘텐츠 생성 방법 및 시스템 | |
CN115359158A (zh) | 一种应用于Unity的动画处理方法及装置 | |
WO2023207504A1 (zh) | 一种视频生成方法及装置 | |
WO2024159392A1 (en) | Systems, apparatuses, methods, and non-transitory computer-readable storage devices for collaboration between digital content creators and game engines |
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 |