CN108744520B - 确定游戏模型摆放位置的方法、装置和电子设备 - Google Patents
确定游戏模型摆放位置的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN108744520B CN108744520B CN201810574364.9A CN201810574364A CN108744520B CN 108744520 B CN108744520 B CN 108744520B CN 201810574364 A CN201810574364 A CN 201810574364A CN 108744520 B CN108744520 B CN 108744520B
- Authority
- CN
- China
- Prior art keywords
- game model
- target
- convex hull
- game
- vertex 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
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
-
- 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/6009—Methods for processing data by generating or executing the game program for importing or creating game content, e.g. authoring tools during game development, adapting content to different platforms, use of a scripting language to create content
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明实施例提供了一种确定游戏模型摆放位置的方法、装置和电子设备,所述方法包括:获取游戏模型的顶点数据;基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;依据所述目标网格点,确定所述游戏模型的摆放位置。本实施例通过上传游戏模型至游戏编辑器,可以由游戏编辑器自动、高效、精确地计算出该游戏模型在场景中的具体摆放位置,无需对游戏模型做其他的预先处理,不仅提高了确定游戏模型位置的效率,也提高了位置计算的准确性。
Description
技术领域
本发明涉及游戏技术领域,特别是涉及一种确定游戏模型摆放位置的方法、一种确定游戏模型摆放位置的装置和一种电子设备。
背景技术
游戏编辑器是一种提供给玩家对游戏内容或场景进行自由编辑的工具。游戏编辑器同时还提供了多种类型的编辑器模型,例如人物、花草、树木等等。通过在游戏编辑器中对上述模型进行渲染,玩家可以按照自己的思路设计游戏。
为了防止最终生成的游戏场景中各个物体之间发生重叠,在对模型进行渲染前,首先需要确定各个模型在游戏编辑器中的摆放位置。目前,现有技术中确定模型的摆放位置主要通过如下几种方式来实现。一是根据模型各个顶点的坐标来确定出模型中心,然后以该中心确定一个能够完全包围住该模型的矩形或圆形来标记出模型的大小,进而确定模型的摆放位置。二是通过游戏玩家或设计者通过手动给模型描边的方式计算出模型大小,然后确定模型的摆放位置。但是,上述两种方式都需要首先确定出模型的大小,无法在游戏编辑器中动态地增加模型。而且,当模型为三角形等特殊形状时,采用第一种方式还容易造成空间的浪费。另一方面,采用第二种摆放方式虽然能够避免空间的浪费,但需要人工采用额外的画刷工具对每个模型做很细致的描边,耗时耗力。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种确定游戏模型摆放位置的方法、一种确定游戏模型摆放位置的装置和相应的一种电子设备。
为了解决上述问题,本发明实施例公开了一种确定游戏模型摆放位置的方法,包括:
获取游戏模型的顶点数据;
基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
依据所述目标网格点,确定所述游戏模型的摆放位置。
可选地,所述获取游戏模型的顶点数据的步骤包括:
获取游戏模型文件;
解析所述游戏模型文件,以获取局部空间中的顶点数据。
可选地,所述基于所述顶点数据,计算所述游戏模型在世界空间中的凸包的步骤包括:
对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;
采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;
基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包。
可选地,所述采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包的步骤包括:
提取所述目标顶点数据中横坐标值最大和最小的目标顶点;
连接所述横坐标值最大和最小的目标顶点,生成目标直线;
基于所述目标直线,将多个目标顶点划分为正方向点集和负方向点集;
根据所述正方向点集和负方向点集,计算所述局部空间中的凸包。
可选地,所述基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包的步骤包括:
确定所述游戏模型在所述世界空间中的世界空间矩阵;
将多个目标顶点的坐标值与所述世界空间矩阵相乘,以获得在所述世界空间中的凸包。
可选地,所述将预设的游戏编辑器场景划分为网格的步骤包括:
确定网格的划分精度,所述划分精度小于等于所述游戏模型的最小大小;
按照所述划分精度,将预设的游戏编辑器场景划分为多个网格。
可选地,所述根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点的步骤包括:
对于任一网格点,以所述网格点为端点,X轴方向为方向生成射线;
确定所述射线与所述世界空间中的凸包的相交次数;
提取所述相交次数为奇数次的网格点为目标网格点。
可选地,所述依据所述目标网格点,确定所述游戏模型的摆放位置的步骤包括:
确定所述目标网格点是否被其他游戏模型占用;
若所述目标网格点未被其他游戏模型占用,则将所述目标网格点对应的位置确定为所述游戏模型的摆放位置。
为了解决上述问题,本发明实施例公开了一种确定游戏模型摆放位置的装置,包括:
顶点数据获取模块,用于获取游戏模型的顶点数据;
凸包计算模块,用于基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
网格划分模块,用于将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
目标网格点确定模块,用于根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
摆放位置确定模块,用于依据所述目标网格点,确定所述游戏模型的摆放位置。
可选地,所述顶点数据获取模块包括:
游戏模型文件获取子模块,用于获取游戏模型文件;
游戏模型文件解析子模块,用于解析所述游戏模型文件,以获取局部空间中的顶点数据。
可选地,所述凸包计算模块包括:
目标顶点数据生成子模块,用于对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;
局部空间凸包计算子模块,用于采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;
世界空间凸包计算子模块,用于基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包。
可选地,所述局部空间凸包计算子模块包括:
目标顶点提取单元,用于提取所述目标顶点数据中横坐标值最大和最小的目标顶点;
目标直线生成单元,用于连接所述横坐标值最大和最小的目标顶点,生成目标直线;
目标顶点划分单元,用于基于所述目标直线,将多个目标顶点划分为正方向点集和负方向点集;
局部空间凸包计算单元,用于根据所述正方向点集和负方向点集,计算所述局部空间中的凸包。
可选地,所述世界空间凸包计算子模块包括:
世界空间矩阵确定单元,用于确定所述游戏模型在所述世界空间中的世界空间矩阵;
世界空间凸包计算单元,用于将多个目标顶点的坐标值与所述世界空间矩阵相乘,以获得在所述世界空间中的凸包。
可选地,所述网格划分模块包括:
划分精度确定子模块,用于确定网格的划分精度,所述划分精度小于等于所述游戏模型的最小大小;
网格划分子模块,用于按照所述划分精度,将预设的游戏编辑器场景划分为多个网格。
可选地,所述目标网格点确定模块包括:
射线生成子模块,用于对于任一网格点,以所述网格点为端点,X轴方向为方向生成射线;
相交次数确定子模块,用于确定所述射线与所述世界空间中的凸包的相交次数;
目标网格点提取子模块,用于提取所述相交次数为奇数次的网格点为目标网格点。
可选地,所述摆放位置确定模块包括:
目标网格点占用确定子模块,用于确定所述目标网格点是否被其他游戏模型占用;
游戏模型摆放位置确定子模块,用于若所述目标网格点未被其他游戏模型占用,则将所述目标网格点对应的位置确定为所述游戏模型的摆放位置。
为了解决上述问题,本发明实施例公开了一种确定游戏模型摆放位置的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取游戏模型的顶点数据;
基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
依据所述目标网格点,确定所述游戏模型的摆放位置。
为了解决上述问题,本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并经配置在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的确定游戏模型摆放位置的方法的步骤。
与背景技术相比,本发明实施例包括以下优点:
本发明实施例,通过获取游戏模型的顶点数据,然后可以基于上述顶点数据,计算出游戏模型在世界空间中的凸包,并在将预设的游戏编辑器场景划分为网格,得到多个网格点后,可以根据游戏模型在世界空间中的凸包,确定出在游戏模型内部的目标网格点,进而依据目标网格点,确定游戏模型的摆放位置。本实施例通过上传游戏模型至游戏编辑器,可以由游戏编辑器自动、高效、精确地计算出该游戏模型在场景中的具体摆放位置,无需对游戏模型做其他的预先处理,解决了现有技术中在计算模型的摆放位置时浪费大量摆放空间,以及需要预先定义模型大小的问题,不仅提高了确定游戏模型位置的效率,也提高了位置计算的准确性。
附图说明
图1是本发明一个实施例的一种确定游戏模型摆放位置的方法的步骤流程示意图;
图2是本发明一个实施例的另一种确定游戏模型摆放位置的方法的步骤流程示意图;
图3是本发明一个实施例的一种确定游戏模型摆放位置的装置的示意性结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明一个实施例的一种确定游戏模型摆放位置的方法的步骤流程示意图,具体可以包括如下步骤:
步骤101,获取游戏模型的顶点数据;
需要说明的是,上述游戏模型可以是一种三维模型,通过将该模型上传至游戏编辑器中,并通过GPU的渲染,能够呈现出3D游戏中的人物、树木、石头等各种游戏元素。
通常,在游戏编辑器场景中重叠或有部分重叠的模型在渲染后,呈现在实际的游戏场景中的相应物体也会出现重叠,从而影响游戏视觉效果。因此,为了避免不同的模型之间的重叠,需要逐个确定游戏模型的摆放位置。
在确定游戏的摆放位置时,首先可以获取各个游戏模型的顶点数据。
在本发明实施例中,游戏模型可以是在某一场景下制作完成的具有特定形状的物体对象。例如,某种3D游戏模型可以是由一个个小三角形构成的,每个三角形的顶点在坐标系下的坐标值即是该游戏模型的顶点数据。
通常,游戏模型的顶点数据可以通过解析游戏模型文件获得。
步骤102,基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
通常,每个游戏模型都是在一定的空间范围内制作完成的,制作该游戏模型的空间可以看成是局部空间。
对于局部空间,一般可以以该游戏模型的中心点作为局部空间的坐标原点。在局部空间中,记录有该游戏模型本身的空间信息。
当游戏模型被置入游戏编辑器后,游戏编辑器所对应的场景空间可以被称作是世界空间。
在本发明实施例中,当获取到游戏模型的顶点数据后,可以基于上述顶点数据,计算游戏模型在世界空间中的凸包。
凸包(Convex Hull)是一个计算几何(图形学)中的概念,在一个实数向量空间V中,对于给定集合X,所有包含X的凸集的交集S被称为X的凸包。
在具体实现中,可以首先基于游戏模型的顶点数据,计算出该游戏模型在局部空间中的凸包,然后在此基础上,再计算游戏模型在世界空间中的凸包。
当然,本领域技术人员可以根据实际需要,采用恰当的方法计算游戏模型在世界空间中的凸包,本实施例对此不作限定。
步骤103,将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
在本发明实施例中,为了确定游戏模型在游戏编辑器中具体的摆放位置,可以将该游戏编辑器的场景空间划分为多个网格,并得到多个网格点。上述网格点可以用于划分游戏编辑器场景的任意两条直线之间的交叉点。
在具体实现中,划分游戏编辑器场景的精度可以小于等于游戏模型的最小大小。
例如,若游戏模型的包围盒大小为0.4*0.4,为了更精确地确定该游戏模型所占用的网格包括哪些,应当按照不大于上述0.4*0.4的精度对游戏编辑器场景进行划分。
步骤104,根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
通常,游戏模型在世界空间中的凸包一般为不规则多边形,世界空间中的各个网格点也不一定全部在游戏模型的内部。因此,在对游戏编辑器场景划分为网格并得到多个网格点后,还可以进一步提取出位于游戏模型内部的目标网格点。
欧几里得空间定理有论证,当射线穿越多边形边界的次数为偶数时,所有第偶数次(包括最后一次)的穿越均是穿出,相应地,所有第奇数次(包括第一次)的穿越均是穿入。因此,在具体实现中,可以基于欧几里得空间定理确定出哪些网格点属于模型内部的目标网格点。
即,以某个网格点作射线,其按一定方向穿越凸包边界的次数为奇数次时,可以认为该网格点为模型内部的目标网格点。
步骤105,依据所述目标网格点,确定所述游戏模型的摆放位置。
在本发明实施例中,在查找出位于游戏模型内部的所有目标网格点后,可以判断上述目标网格点在游戏编辑器场景空间中是否被其他游戏模型占用,如果全部目标网格点均未被其他游戏模型占用,则可以将上述目标网格点对应的位置作为该游戏模型的摆放位置。
在本发明实施例中,通过获取游戏模型的顶点数据,然后可以基于上述顶点数据,计算出游戏模型在世界空间中的凸包,并在将预设的游戏编辑器场景划分为网格,得到多个网格点后,可以根据游戏模型在世界空间中的凸包,确定出在游戏模型内部的目标网格点,进而依据目标网格点,确定游戏模型的摆放位置。本实施例通过上传游戏模型至游戏编辑器,可以由游戏编辑器自动、高效、精确地计算出该游戏模型在场景中的具体摆放位置,无需对游戏模型做其他的预先处理,解决了现有技术中在计算模型的摆放位置时浪费大量摆放空间,以及需要预先定义模型大小的问题,不仅提高了确定游戏模型位置的效率,也提高了位置计算的准确性。
参照图2,示出了本发明一个实施例的另一种确定游戏模型摆放位置的方法的步骤流程示意图,具体可以包括如下步骤:
步骤201,获取游戏模型文件;
在本发明实施例中,游戏模型文件可以用于记录该游戏模型的各种信息。上述游戏模型可以是一种三维模型,通过将该模型上传至游戏编辑器,游戏玩家或者游戏设计者可以按照自己的意愿设计游戏。
步骤202,解析所述游戏模型文件,以获取局部空间中的顶点数据;
在本发明实施例中,局部空间可以是指用于制作该游戏模型的一个空间,该局部空间通常以游戏模型的中心点作为空间的坐标原点。游戏模型的各个顶点在该局部空间中的坐标值即为游戏模型在局部空间中的顶点数据。
需要说明的是,游戏模型可以分为带动画(即动态模型)和不带动画(即静态模型)两种类型。对于不带动画的游戏模型,其顶点数据在局部空间中是不会发生变化的。而对于带动画的游戏模型,其顶点可能发生变化,因此,带动画的游戏模型的顶点数据可以是指该模型对应的物体对象在静止状态下的各个顶点的初始顶点数据。
通常,但一般情况下,对于带动画的游戏模型,小弧度的顶点变化在模型摆放的误差范围内。因此,只要在游戏编辑器中摆放的游戏模型的顶点互不重叠,其渲染后呈现给玩家的游戏界面中,各个物体也不会发生重叠。因此,为了避免不同的模型之间的重叠,可以获取各个游戏模型的顶点数据,并据此逐个确定游戏模型的摆放位置。
在具体实现中,游戏模型的顶点数据一般记录在模型的Mesh文件中,通过分析上述Mesh文件的数据结构,可以得到游戏模型各个顶点的顶点数据。
步骤203,对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;
在本发明实施例中,三维游戏模型在局部空间中的顶点数据也应当是三维数据,包括长宽高等数值。因此,在获得游戏模型在局部空间中的顶点数据后,可以对该顶点数据作去高度处理,生成目标顶点数据。
需要说明的是,在游戏领域,高度数据一般为三维坐标值的中间位置的数据。例如,若某个顶点的顶点数据为(3,9,4),则去高度处理后得到的目标顶点数据为(3,0,4)。
步骤204,采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;
在本发明实施例后,由于去高度处理后的目标顶点数据仅包括长宽两个方向的数据。因此在采用上述目标顶点数据计算游戏模型在局部空间中的凸包时,可以认为是采用上述数据计算游戏模型在二维空间中的凸包。
在具体实现中,可以首先提取目标顶点数据中横坐标值最大和最小的目标顶点,通过连接上述横坐标值最大和最小的目标顶点,生成目标直线,并基于目标直线,可以将多个目标顶点划分为正方向点集和负方向点集,然后可以根据正方向点集和负方向点集,计算局部空间中的凸包。
例如,可以首先将所有目标顶点在横坐标方向(即X轴方向)上按照从小至大排列。根据凸包的性质可知,横坐标值最大和最小的点一定在凸包上。假设上述横坐标值最大和最小的两个目标顶点分别为a(x1,y1)和b(x2,y2),那么连接ab两点的直线可以将全部目标顶点划分为正方向和负方向两部分。
假设存在点c(c3,y3),若以逆时针方向为正方向,以点a为不动点,则向量ab沿着逆时针方向旋转至c点,其扫过的地方在向量ac和向量ab组成的平行四边形内。那么,该平行四边形的行列式(向量ac和向量ab的叉积)为正。即下式中area的值为正:
area=x1*y2+x3*y1+x2*y3-x3*y2-x2*y1-x1*y3
对于任一目标顶点,通过计算其area值,若为正,则该点为正方向点集;若area值为负,则该点为负方向点集。
对于正方向点集,找到距离直线ab最远的点(即area值最大的点),由凸包的性质可知,在anb三点组成的三角形中的点不可能为凸包上的点,所以直线an,nb分区取正方向的点集,对以上步骤做递归,并对负方向的点集做同样的处理,可以计算出游戏模型在局部空间中的凸包。
步骤205,基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包;
在计算出游戏模型在局部空间中的凸包后,可以在此基础上,进一步计算出该游戏模型在世界空间中的凸包。
在具体实现中,可以首先确定游戏模型在世界空间中的世界空间矩阵,然后将多个目标顶点的坐标值与世界空间矩阵相乘,以获得在世界空间中的凸包。
游戏模型在局部空间中的局部空间矩阵记录有该模型在局部空间中的占用信息,可以直接通过解析游戏模型文件获得。在此基础上,游戏模型在放入场景后,会以这个局部空间矩阵做平移,旋转,缩放等处理,最后生成世界空间矩阵。然后,将每个顶点的坐标值与上述世界空间矩阵相乘,便能够得到游戏模型在世界空间中的凸包。
步骤206,将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
在本发明实施例中,在将游戏编辑器场景划分为网格前,可以首先确定网格的划分精度。
一般地,网格的划分精度应当小于等于游戏模型的最小大小,上述最小大小可以是指游戏模型的包围盒的最小面积大小。
例如,若游戏模型的包围盒大小为0.4*0.4,那么划分精度应当不大于0.4*0.4。
在确定出具体的划分精度后,可以按照上述划分精度,将预设的游戏编辑器场景划分为多个网格,并得到多个网格点。
步骤207,根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
通常,游戏模型在世界空间中的凸包一般为不规则多边形,世界空间中的各个网格点也不一定全部在游戏模型的内部。因此,在对游戏编辑器场景划分为网格并得到多个网格点后,还可以进一步提取出位于游戏模型内部的目标网格点。
在本发明实施例中,对于任一网格点,可以以该网格点为端点,X轴方向为方向生成射线,然后确定该射线与世界空间中的凸包的相交次数,从而可以提取相交次数为奇数次的网格点为目标网格点。
步骤208,确定所述目标网格点是否被其他游戏模型占用;
在本发明实施例中,在确定出哪些网格点属于模型内部的目标网格点后,还需要确定这些目标网格点是否被其他游戏模型占用。
步骤209,若所述目标网格点未被其他游戏模型占用,则将所述目标网格点对应的位置确定为所述游戏模型的摆放位置。
若全部网格点均未被其他任一游戏模型占用,则表示上述目标网格点对应的位置可以用于摆放当前的游戏模型。
在本发明实施例中,在将游戏模型摆放至上述目标网格点对应的位置后,还可以将该游戏模型占用的网格点标记为已占用,以禁止其他游戏模型摆放在该网格点。
需要说明的是,若对已摆放的游戏模型进行了移动或其他操作,从而导致该游戏模型的摆放位置发生了变化,还可以将该游戏模型在先占用的网格点的占用标记进行删除,从而使得其他模型可以在上述网格点进行摆放。
在本发明实施例中,通过解析游戏模型文件,可以得到该游戏模型在局部空间中的顶点数据,在对上述顶点数据作去高度处理后,可以据此计算出游戏模型在局部空间中的二维凸包,进而可以得到游戏模型在游戏编辑器场景空间对应的世界空间中的凸包。在按照一定的划分精度将游戏编辑器场景划分为网格后,可以根据世界空间中的凸包确定出哪些网格点位于游戏模型内部,如果位于游戏模型内部的网格点均未被其他游戏模型占用,则表示该网格点处于空置状态,可以将游戏模型摆放在此处。本实施例通过游戏编辑器自动计算出该游戏模型在场景中的具体摆放位置,无需对游戏模型做其他的预先处理,不仅提高了确定游戏模型位置的效率,也提高了位置计算的准确性。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,示出了本发明一个实施例的一种确定游戏模型摆放位置的装置的示意性结构框图,具体可以包括如下模块:
顶点数据获取模块301,用于获取游戏模型的顶点数据;
凸包计算模块302,用于基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
网格划分模块303,用于将预设的游戏编辑器场景划分为网格,所述网格可以包括多个网格点;
目标网格点确定模块304,用于根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
摆放位置确定模块305,用于依据所述目标网格点,确定所述游戏模型的摆放位置。
在本发明实施例中,所述顶点数据获取模块301具体可以包括如下子模块:
游戏模型文件获取子模块,用于获取游戏模型文件;
游戏模型文件解析子模块,用于解析所述游戏模型文件,以获取局部空间中的顶点数据。
在本发明实施例中,所述凸包计算模块302具体可以包括如下子模块:
目标顶点数据生成子模块,用于对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;
局部空间凸包计算子模块,用于采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;
世界空间凸包计算子模块,用于基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包。
在本发明实施例中,所述局部空间凸包计算子模块具体可以包括如下单元:
目标顶点提取单元,用于提取所述目标顶点数据中横坐标值最大和最小的目标顶点;
目标直线生成单元,用于连接所述横坐标值最大和最小的目标顶点,生成目标直线;
目标顶点划分单元,用于基于所述目标直线,将多个目标顶点划分为正方向点集和负方向点集;
局部空间凸包计算单元,用于根据所述正方向点集和负方向点集,计算所述局部空间中的凸包。
在本发明实施例中,所述世界空间凸包计算子模块具体可以包括如下单元:
世界空间矩阵确定单元,用于确定所述游戏模型在所述世界空间中的世界空间矩阵;
世界空间凸包计算单元,用于将多个目标顶点的坐标值与所述世界空间矩阵相乘,以获得在所述世界空间中的凸包。
在本发明实施例中,所述网格划分模块303具体可以包括如下子模块:
划分精度确定子模块,用于确定网格的划分精度,所述划分精度小于等于所述游戏模型的最小大小;
网格划分子模块,用于按照所述划分精度,将预设的游戏编辑器场景划分为多个网格。
在本发明实施例中,所述目标网格点确定模块304具体可以包括如下子模块:
射线生成子模块,用于对于任一网格点,以所述网格点为端点,X轴方向为方向生成射线;
相交次数确定子模块,用于确定所述射线与所述世界空间中的凸包的相交次数;
目标网格点提取子模块,用于提取所述相交次数为奇数次的网格点为目标网格点。
在本发明实施例中,所述摆放位置确定模块305具体可以包括如下子模块:
目标网格点占用确定子模块,用于确定所述目标网格点是否被其他游戏模型占用;
游戏模型摆放位置确定子模块,用于若所述目标网格点未被其他游戏模型占用,则将所述目标网格点对应的位置确定为所述游戏模型的摆放位置。
本发明还公开了一种确定游戏模型摆放位置的装置,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取游戏模型的顶点数据;基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;依据所述目标网格点,确定所述游戏模型的摆放位置。
可选地,所述一个或者一个以上程序还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:获取游戏模型文件;解析所述游戏模型文件,以获取局部空间中的顶点数据。
可选地,所述一个或者一个以上程序还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包。
可选地,所述一个或者一个以上程序还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:提取所述目标顶点数据中横坐标值最大和最小的目标顶点;连接所述横坐标值最大和最小的目标顶点,生成目标直线;基于所述目标直线,将多个目标顶点划分为正方向点集和负方向点集;根据所述正方向点集和负方向点集,计算所述局部空间中的凸包。
可选地,所述一个或者一个以上程序还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:确定所述游戏模型在所述世界空间中的世界空间矩阵;将多个目标顶点的坐标值与所述世界空间矩阵相乘,以获得在所述世界空间中的凸包。
可选地,所述一个或者一个以上程序还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:确定网格的划分精度,所述划分精度小于等于所述游戏模型的最小大小;按照所述划分精度,将预设的游戏编辑器场景划分为多个网格。
可选地,所述一个或者一个以上程序还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:对于任一网格点,以所述网格点为端点,X轴方向为方向生成射线;确定所述射线与所述世界空间中的凸包的相交次数;提取所述相交次数为奇数次的网格点为目标网格点。
可选地,所述一个或者一个以上程序还经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:确定所述目标网格点是否被其他游戏模型占用;若所述目标网格点未被其他游戏模型占用,则将所述目标网格点对应的位置确定为所述游戏模型的摆放位置。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明还公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并经配置在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上述的确定游戏模型摆放位置的方法的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种确定游戏模型摆放位置的方法、一种确定游戏模型摆放位置的装置和一种电子设备,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种确定游戏模型摆放位置的方法,其特征在于,包括:
获取游戏模型的顶点数据;
基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
依据所述目标网格点,确定所述游戏模型的摆放位置;
其中,所述根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点的步骤包括:
对于任一网格点,以所述网格点为端点,X轴方向为方向生成射线;
确定所述射线与所述世界空间中的凸包的相交次数;
提取所述相交次数为奇数次的网格点为目标网格点;
其中,所述获取游戏模型的顶点数据的步骤包括:
获取游戏模型文件;
解析所述游戏模型文件,以获取局部空间中的顶点数据;
其中,所述基于所述顶点数据,计算所述游戏模型在世界空间中的凸包的步骤包括:
对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;
采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;
基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包;
其中,所述采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包的步骤包括:
提取所述目标顶点数据中横坐标值最大和最小的目标顶点;
连接所述横坐标值最大和最小的目标顶点,生成目标直线;
基于所述目标直线,将多个目标顶点划分为正方向点集和负方向点集;
根据所述正方向点集和负方向点集,计算所述局部空间中的凸包;
其中,所述基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包的步骤包括:
确定所述游戏模型在所述世界空间中的世界空间矩阵;
将多个目标顶点的坐标值与所述世界空间矩阵相乘,以获得在所述世界空间中的凸包。
2.根据权利要求1所述的方法,其特征在于,所述将预设的游戏编辑器场景划分为网格的步骤包括:
确定网格的划分精度,所述划分精度小于等于所述游戏模型的最小大小;
按照所述划分精度,将预设的游戏编辑器场景划分为多个网格。
3.根据权利要求1所述的方法,其特征在于,所述依据所述目标网格点,确定所述游戏模型的摆放位置的步骤包括:
确定所述目标网格点是否被其他游戏模型占用;
若所述目标网格点未被其他游戏模型占用,则将所述目标网格点对应的位置确定为所述游戏模型的摆放位置。
4.一种确定游戏模型摆放位置的装置,其特征在于,包括:
顶点数据获取模块,用于获取游戏模型的顶点数据;
凸包计算模块,用于基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
网格划分模块,用于将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
目标网格点确定模块,用于根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
摆放位置确定模块,用于依据所述目标网格点,确定所述游戏模型的摆放位置;
其中,所述目标网格点确定模块包括:
射线生成子模块,用于对于任一网格点,以所述网格点为端点,X轴方向为方向生成射线;
相交次数确定子模块,用于确定所述射线与所述世界空间中的凸包的相交次数;
目标网格点提取子模块,用于提取所述相交次数为奇数次的网格点为目标网格点;
其中,所述顶点数据获取模块包括:
游戏模型文件获取子模块,用于获取游戏模型文件;
游戏模型文件解析子模块,用于解析所述游戏模型文件,以获取局部空间中的顶点数据;
其中,所述凸包计算模块包括:
目标顶点数据生成子模块,用于对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;
局部空间凸包计算子模块,用于采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;
世界空间凸包计算子模块,用于基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包;
其中,所述局部空间凸包计算子模块包括:
目标顶点提取单元,用于提取所述目标顶点数据中横坐标值最大和最小的目标顶点;
目标直线生成单元,用于连接所述横坐标值最大和最小的目标顶点,生成目标直线;
目标顶点划分单元,用于基于所述目标直线,将多个目标顶点划分为正方向点集和负方向点集;
局部空间凸包计算单元,用于根据所述正方向点集和负方向点集,计算所述局部空间中的凸包;
其中,所述世界空间凸包计算子模块包括:
世界空间矩阵确定单元,用于确定所述游戏模型在所述世界空间中的世界空间矩阵;
世界空间凸包计算单元,用于将多个目标顶点的坐标值与所述世界空间矩阵相乘,以获得在所述世界空间中的凸包。
5.一种确定游戏模型摆放位置的装置,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
获取游戏模型的顶点数据;
基于所述顶点数据,计算所述游戏模型在世界空间中的凸包;
将预设的游戏编辑器场景划分为网格,所述网格包括多个网格点;
根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点;
依据所述目标网格点,确定所述游戏模型的摆放位置;
其中,所述根据所述游戏模型在世界空间中的凸包,确定在所述游戏模型内部的目标网格点的步骤包括:
对于任一网格点,以所述网格点为端点,X轴方向为方向生成射线;
确定所述射线与所述世界空间中的凸包的相交次数;
提取所述相交次数为奇数次的网格点为目标网格点;
其中,所述获取游戏模型的顶点数据的步骤包括:
获取游戏模型文件;
解析所述游戏模型文件,以获取局部空间中的顶点数据;
其中,所述基于所述顶点数据,计算所述游戏模型在世界空间中的凸包的步骤包括:
对所述局部空间中的顶点数据作去高度处理,以生成目标顶点数据;
采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包;
基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包;
其中,所述采用所述目标顶点数据,计算所述游戏模型在所述局部空间中的凸包的步骤包括:
提取所述目标顶点数据中横坐标值最大和最小的目标顶点;
连接所述横坐标值最大和最小的目标顶点,生成目标直线;
基于所述目标直线,将多个目标顶点划分为正方向点集和负方向点集;
根据所述正方向点集和负方向点集,计算所述局部空间中的凸包;
其中,所述基于所述局部空间中的凸包,计算所述游戏模型在世界空间中的凸包的步骤包括:
确定所述游戏模型在所述世界空间中的世界空间矩阵;
将多个目标顶点的坐标值与所述世界空间矩阵相乘,以获得在所述世界空间中的凸包。
6.一种电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并经配置在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至3中任一项所述的确定游戏模型摆放位置的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810574364.9A CN108744520B (zh) | 2018-06-05 | 2018-06-05 | 确定游戏模型摆放位置的方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810574364.9A CN108744520B (zh) | 2018-06-05 | 2018-06-05 | 确定游戏模型摆放位置的方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108744520A CN108744520A (zh) | 2018-11-06 |
CN108744520B true CN108744520B (zh) | 2022-02-22 |
Family
ID=63999998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810574364.9A Active CN108744520B (zh) | 2018-06-05 | 2018-06-05 | 确定游戏模型摆放位置的方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108744520B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109920023B (zh) * | 2019-03-28 | 2024-01-26 | 网易(杭州)网络有限公司 | 一种游戏中模型摆放的方法和装置 |
CN112057854A (zh) * | 2020-09-10 | 2020-12-11 | 网易(杭州)网络有限公司 | 游戏对象的处理方法、装置、电子设备和计算机可读介质 |
CN113808238A (zh) * | 2021-09-24 | 2021-12-17 | 北京有竹居网络技术有限公司 | 动画的渲染方法、装置、可读介质和电子设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103258345A (zh) * | 2013-04-18 | 2013-08-21 | 中国林业科学研究院资源信息研究所 | 一种基于地面激光雷达三维扫描的树木枝干参数提取方法 |
CN103295216A (zh) * | 2012-02-24 | 2013-09-11 | 富士通株式会社 | 用于识别三维模型中的空间的方法和设备及图像处理*** |
CN103885788A (zh) * | 2014-04-14 | 2014-06-25 | 焦点科技股份有限公司 | 一种基于模型组件化动态web 3d虚拟现实场景的搭建方法及*** |
CN104112017A (zh) * | 2014-07-21 | 2014-10-22 | 无锡梵天信息技术股份有限公司 | 一种基于3dmax脚本模型导出的实现方法 |
CN104700433A (zh) * | 2015-03-24 | 2015-06-10 | 中国人民解放军国防科学技术大学 | 一种基于视觉的实时人体全身体运动捕捉方法及其*** |
CN105931296A (zh) * | 2016-04-19 | 2016-09-07 | 中山大学 | 一种基于轮廓的3d打印物体的快速排样方法及其装置 |
CN106373184A (zh) * | 2016-08-30 | 2017-02-01 | 苏州紫金港智能制造装备有限公司 | 一种三维打印模型摆放所需支撑量快速估算方法 |
CN106918311A (zh) * | 2017-01-20 | 2017-07-04 | 山东科技大学 | 基于车载激光点云数据的单株树树冠投影面积自动计算方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2017340609B2 (en) * | 2016-10-05 | 2021-12-16 | Magic Leap, Inc. | Surface modeling systems and methods |
-
2018
- 2018-06-05 CN CN201810574364.9A patent/CN108744520B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103295216A (zh) * | 2012-02-24 | 2013-09-11 | 富士通株式会社 | 用于识别三维模型中的空间的方法和设备及图像处理*** |
CN103258345A (zh) * | 2013-04-18 | 2013-08-21 | 中国林业科学研究院资源信息研究所 | 一种基于地面激光雷达三维扫描的树木枝干参数提取方法 |
CN103885788A (zh) * | 2014-04-14 | 2014-06-25 | 焦点科技股份有限公司 | 一种基于模型组件化动态web 3d虚拟现实场景的搭建方法及*** |
CN104112017A (zh) * | 2014-07-21 | 2014-10-22 | 无锡梵天信息技术股份有限公司 | 一种基于3dmax脚本模型导出的实现方法 |
CN104700433A (zh) * | 2015-03-24 | 2015-06-10 | 中国人民解放军国防科学技术大学 | 一种基于视觉的实时人体全身体运动捕捉方法及其*** |
CN105931296A (zh) * | 2016-04-19 | 2016-09-07 | 中山大学 | 一种基于轮廓的3d打印物体的快速排样方法及其装置 |
CN106373184A (zh) * | 2016-08-30 | 2017-02-01 | 苏州紫金港智能制造装备有限公司 | 一种三维打印模型摆放所需支撑量快速估算方法 |
CN106918311A (zh) * | 2017-01-20 | 2017-07-04 | 山东科技大学 | 基于车载激光点云数据的单株树树冠投影面积自动计算方法 |
Non-Patent Citations (1)
Title |
---|
Unity3D游戏之创建基本游戏场景一;feng;《https://gameinstitute.qq.com/community/detail/118582》;20171020;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108744520A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11574438B2 (en) | Generating three-dimensional virtual scene | |
JP6787661B2 (ja) | 工作物の機械加工のシミュレート | |
JP6159807B2 (ja) | 3次元シーンをレンダリングするためのコンピュータグラフィックス方法 | |
CN103761397B (zh) | 用于面曝光增材成型的3d模型切片及投影面生成方法 | |
US8749588B2 (en) | Positioning labels in an engineering drawing | |
CN108744520B (zh) | 确定游戏模型摆放位置的方法、装置和电子设备 | |
JP7343963B2 (ja) | 画像を入力とする関数を学習するためのデータセット | |
CN111145356B (zh) | 一种基于Unity3D模型的切割方法 | |
CN104504760B (zh) | 实时更新三维图像的方法和*** | |
CN113724401B (zh) | 一种三维模型切割方法、装置、计算机设备和存储介质 | |
US8587586B2 (en) | Electronic device and method for meshing curved surface | |
JP2016126795A5 (zh) | ||
US9098937B2 (en) | Electronic device and method for simulating three-dimensional model of workpiece | |
US20190051044A1 (en) | Automated mesh generation | |
CN113034688B (zh) | 一种三维地图模型的生成方法以及装置 | |
CN108090953B (zh) | 感兴趣区域重建方法、***以及计算机可读存储介质 | |
US8952968B1 (en) | Wave modeling for computer-generated imagery using intersection prevention on water surfaces | |
CN108553900B (zh) | 一种基于ue引擎的可叠加存储反复使用的方法 | |
CN107393019B (zh) | 一种基于粒子的布料模拟方法与装置 | |
Balzer et al. | Exploring relations within software systems using treemap enhanced hierarchical graphs | |
Weier et al. | Generating and rendering large scale tiled plant populations | |
JPH0636013A (ja) | 地形データの作成方法および装置 | |
CN110738719A (zh) | 一种基于视距分层优化的Web3D模型渲染方法 | |
CN104036547A (zh) | 基于Leap Motion控制的三维笔刷实时生成网络模型的方法与装置 | |
KR102039265B1 (ko) | Jt포맷을 활용한 선박/해양플랜트 배관재의 기하학적 간섭 체크 및 설치 순서 도출 방법 및 장치 |
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 |