CN111135562A - 地块拾取方法、装置、电子设备及计算机可读存储介质 - Google Patents

地块拾取方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN111135562A
CN111135562A CN201911364021.0A CN201911364021A CN111135562A CN 111135562 A CN111135562 A CN 111135562A CN 201911364021 A CN201911364021 A CN 201911364021A CN 111135562 A CN111135562 A CN 111135562A
Authority
CN
China
Prior art keywords
coordinate
plot
preset
terrain
target
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
Application number
CN201911364021.0A
Other languages
English (en)
Other versions
CN111135562B (zh
Inventor
许鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Pixel Software Technology Co Ltd
Original Assignee
Beijing Pixel Software Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Pixel Software Technology Co Ltd filed Critical Beijing Pixel Software Technology Co Ltd
Priority to CN201911364021.0A priority Critical patent/CN111135562B/zh
Publication of CN111135562A publication Critical patent/CN111135562A/zh
Application granted granted Critical
Publication of CN111135562B publication Critical patent/CN111135562B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/40Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment
    • A63F13/42Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle
    • A63F13/426Processing input control signals of video game devices, e.g. signals generated by the player or derived from the environment by mapping the input signals into game commands, e.g. mapping the displacement of a stylus on a touch screen to the steering angle of a virtual vehicle involving on-screen location information, e.g. screen coordinates of an area at which the player is aiming with a light gun

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明提供了一种地块拾取方法、装置、电子设备及计算机可读存储介质,涉及游戏工具开发技术领域,地块拾取方法由电子设备执行,该方法包括:对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块;如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线;其中,目标射线的起始点为摄像机原点坐标,且目标射线经过屏幕坐标;判断目标射线与地形是否有交点;如果是,根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块;其中,目标地块为交点所在的地块。本发明实施例提高了地块拾取效率,有助于用户更为快捷的拾取地块,提升用户体验。

Description

地块拾取方法、装置、电子设备及计算机可读存储介质
技术领域
本发明涉及游戏领域,尤其是涉及一种地块拾取方法、装置、电子设备及计算机可读存储介质。
背景技术
通常在游戏场景中,会有一些模型周围不允许玩家控制的虚拟角色通过,因此在摆放模型时,通常通过在一些模型的周围刷阻挡块进行实现,在游戏地形编辑中,制作模型阻挡块就会使用到地块的快速拾取技术。地块的拾取通常采用构建地块和查找地块的方式来实现,现有技术中在对地块进行拾取时,通常是在地形上构建若干个地块,并逐一进行查找,直至查找到要拾取的地块,这种方式在每次查找的时候都需要对每个地块进行查找,查找效率较低。针对上述地块拾取方法在实际应用中的问题,目前尚未提出有效的解决方案。
发明内容
本发明的目的在于提供一种地块拾取方法、装置、电子设备及计算机可读存储介质,有效提升了地块拾取效率,有助于用户更为快捷的拾取地块,提升用户体验。
第一方面,本发明实施例提供一种地块拾取方法,方法由电子设备执行,方法包括:对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块;如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线;其中,目标射线的起始点为摄像机原点坐标,且目标射线经过屏幕坐标;判断目标射线与地形是否有交点;如果是,根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块;其中,目标地块为交点所在的地块。
进一步,上述预设方向包括第一方向和第二方向;预设尺寸包括第一尺寸和第二尺寸;第一尺寸和第二尺寸相同或者不相同;对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块的步骤,包括:基于第一尺寸,沿着第一方向对待划分地形进行划分,得到多个第一组块;基于第二尺寸,沿着第二方向对待划分地形进行划分,得到多个第二组块;基于多个第一组块和多个第二组块得到多个地块;每个地块均为第一组块与第二组块的交集。进一步,上述将多个地块按照预设方向进行排序,得到地块序号的步骤,还包括:将多个地块的横向序号和纵向序号进行存储。
进一步,上述屏幕坐标为屏幕坐标系下的二维坐标;基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线的步骤,包括:将屏幕坐标转化到世界坐标系中对应的三维坐标;基于世界坐标系中对应的三维坐标和预先设置的摄像机原点坐标确定目标射线。
进一步,上述根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块的步骤,包括:获取目标射线与地形的交点坐标;基于交点坐标,分别按照第一方向和第二方向在多个地块中进行二分查找,直至查找到交点坐标所在的地块;将查找到的地块确定为目标地块。
进一步,上述基于交点坐标,分别按照第一方向和第二方向在多个地块中进行二分查找,直至查找到交点坐标所在的地块的步骤,包括:基于交点坐标在第一方向上的坐标值,对第一方向上的多个第一组块进行二分查找,直至查找到第一方向上交点坐标所在的第一地块范围;基于交点坐标在第二方向上的坐标值,对第二方向上的多个第二组块进行二分查找,直至查找到第二方向上交点坐标所在的第二地块范围;根据确定的第一地块范围和第二地块范围,得到交点坐标所在的地块。
进一步,上述方法应用于游戏建筑编辑器。
第二方面,本发明实施例提供一种地块拾取装置,包括:
地形划分模块,用于对待划分地块按照预设方向和预设尺寸进行划分,得到多个地块;射线确定模块,用于如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线;其中,目标射线的起始点为摄像机原点坐标,且目标射线经过屏幕坐标;判断模块,用于判断射线与地块是否有交点;地块拾取模块,用于射线与地块有交点时,根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块;其中,目标地块为交点所在的地块。
进一步,上述预设方向包括第一方向和第二方向;预设尺寸包括第一尺寸和第二尺寸;第一尺寸和第二尺寸相同或者不相同;地形划分模块用于:基于第一尺寸,沿着第一方向对待划分地形进行划分,得到多个第一组块;基于第二尺寸,沿着第二方向对待划分地形进行划分,得到多个第二组块;基于多个第一组块和多个第二组块得到多个地块;每个地块均为第一组块与第二组块的交集块。
第三方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现前述实施方式任一项的地块拾取方法的步骤。
第四方面,本发明实施例提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器运行时执行前述实施方式任一项的地块拾取方法的步骤。
本发明提供的地块拾取方法、装置、电子设备及计算机可读存储介质,首先对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块;如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线(起始点为摄像机原点坐标,且目标射线经过屏幕坐标);最后在判断目标射线与地形有交点时,根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块(交点所在地块)。本实施例提供的上述方法中,按照预设方向和预设尺寸对待划分地形进行划分的实现方式简单,可以快速的构建地块数据,按照预设方向运用二分查找算法对交点位置所在地块进行查找,可以有效提高查找速度,以上方式综合提高了地块拾取效率,有助于用户更为快捷的拾取地块,提升用户体验。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种地块拾取方法的流程示意图;
图2为本发明实施例提供的另一种地块拾取方法的流程示意图;
图3a为本发明实施例提供的一种按照X轴方向对待划分地形进行划分的示意图;
图3b为本发明实施例提供的一种按照Z轴方向对待划分地形进行划分的示意图;
图3c为本发明实施例提供的一种确定目标地块的示意图;
图4为本发明实施例提供的一种地块拾取装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
考虑到在游戏场景中摆放模型时,为了使有些模型的周围不允许玩家通过,就会在这些模型周围刷阻挡块,这时就用到地块拾取方法,现有技术在拾取地块时,通常会用到如下方式进行拾取:根据地形的大小生成地块数据,通过鼠标点击屏幕生成的射线与每一个地块求交,对鼠标点击屏幕生成的射线与地块数据求交,如果得到,则确定找到要拾取的地块。但上述方式需要对每个地块都求交才能拾取到地块,查找效率较慢,基于此,本发明提供了一种地块拾取方法、装置、电子设备及计算机可读存储介质,提高了地块拾取效率,有助于用户更为快捷的拾取地块,提升用户体验。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种地块拾取方法进行详细介绍,参见图1所示的一种地块拾取方法的流程示意图,该地块拾取方法由电子设备执行,主要包括以下步骤S102至步骤S108:
步骤S102:对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块。
待划分的地形是需要进行地块划分的地形,当需要查找地形上的某一个位置时,会首先对地形进行划分,得到若干个地块,需要拾取的地块是一个平面,因此预设方向可以为在一个平面中的水平方向,也可以为一个平面中的竖直方向,在划分地形时,预设可以根据地形的大小和拾取地块的大小确定,当在一个较大的地形中拾取的较大地块时,预设尺寸可以设置一个较大的尺寸值,当所需拾取的地块较小时,或所需地块的位置需要非常精确时,可以设置一个较小的尺寸值。
步骤S104:如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线;其中,目标射线的起始点为摄像机原点坐标,且目标射线经过屏幕坐标。
在一种实施方式中,拾取地块通过鼠标点击屏幕进行拾取,当用户点击屏幕时,会基于用户点击屏幕的触点获取屏幕坐标,此时的屏幕坐标即为用户点击屏幕的位置映射到游戏地形中的位置,由于游戏场景均为由摄像机进行拍摄得到的,因此会生成一条由摄像机原点坐标的位置发出并经过屏幕坐标的目标射线(也可简称射线),该射线用于判断是否拾取到地块。
步骤S106:判断目标射线与地形是否有交点。如果是,执行步骤S108,如果否,结束。
判断上述射线与地形是否存在交点,如果没有交点,则说明没有拾取到地块,如果有交点,则说明拾取到地块,并进一步通过步骤S108查找拾取到的地块的位置。
步骤S108:根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块;其中,目标地块为交点所在的地块。
诸如,当射线与地形有交点时,基于得到的交点按照上述的预设方向进行二分查找,诸如,首先在水平方向进行二分查找,得到交点在水平方向上的位置,再在竖直方向进行二分查找,得到交点竖直方向上的位置,基于两次二分查找的结果在多个地块中确定交点所在的地块,即为拾取到目标地块,在一种具体的实施方式中,目标地块可以作为游戏模型中的阻挡块。
本发明提供的地块拾取方法,首先对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块;如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线(起始点为摄像机原点坐标,且目标射线经过屏幕坐标);最后在判断目标射线与地形有交点时,根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块(交点所在地块)。本实施例提供的上述方法中,按照预设方向和预设尺寸对待划分地形进行划分的实现方式简单,可以快速的构建地块数据,按照预设方向运用二分查找算法对交点位置所在地块进行查找,可以有效提高查找速度,以上方式综合提高了地块拾取效率,有助于用户更为快捷的拾取地块,提升用户体验。
为了便于对上述实施例中的步骤S102进行理解,本发明实施例提供了一种对待划分地形进行划分的具体实现方式,按照上述预设尺寸和预设方向对待划分地形进行划分,预设方向包括第一方向和第二方向,预设尺寸包括第一尺寸和第二尺寸,在实际应用中可根据实际情况进行设置,并不限于上述情况。基于预设方向和预设尺寸划分结果得到最终划分的多个地块。上述步骤S102的具体实现方式主要包括如下步骤a至步骤c:
步骤a:基于第一尺寸,沿着第一方向对待划分地形进行划分,得到多个第一组块。
步骤b:基于第二尺寸,沿着第二方向对待划分地形进行划分,得到多个第二组块;
其中,第一尺寸和第二尺寸相同或者不相同,在一种实施方式中,当设置第一尺寸和第二尺寸相同时,则划分的地块为正方形,在另一种实施方式中,也可以采用第一尺寸和第二尺寸不相同的情况,则划分的地块为长方形。诸如,在一个平面上的预设方向可以为水平方向和竖直方向,可以采用第一方向为水平方向、第二方向为竖直方向的方式,当在一个坐标系中,也可以采用预设方向可以是两个不同的坐标轴的方向,此时第一方向为可以为x轴的方向,第二方向为y轴的方向,根据具体方式进行设置。第一组块为按照上述第一尺寸和第一方向进行划分得到的,第二组块为按照上述第二尺寸和第二方向进行划分得到的。
步骤c:基于多个第一组块和多个第二组块得到多个地块;每个地块均为第一组块与第二组块的交集。
根据上述划分得到的多个第一组块和多个第二组块,得到地形上第一组块与第二组块的交集,根据得到的组块交集得到多个划分的地块。
为了便于对上述实施例中的步骤S104进行理解,本发明实施例提供了一种获取目标射线的具体实现方式,通过将屏幕坐标转化到世界坐标系中三维坐标,并基于摄像机原点坐标得到经过屏幕坐标的目标射线。上述步骤S104的具体实现方法主要包括如下(1)至(2):
(1)将所述屏幕坐标转化到世界坐标系中对应的三维坐标;
在游戏图像处理、立体视觉等方向常常涉及到屏幕坐标系、世界坐标系等,通过点击屏幕得到的屏幕坐标为屏幕坐标系下的二维坐标,在游戏地形中,地块都是处于三维空间中的,因此判断能否拾取到地块,需要将二维的屏幕坐标转化到三维坐标中,在游戏界面编辑中,地块数据位于世界坐标系下,因此需要将屏幕坐标转化到世界坐标系中,世界坐标系用来描述摄像机和物体的位置,世界坐标系,此外游戏界面编辑中还有设备坐标系、物理坐标系等,本发明实施例中对此不进行展开说明。
(2)基于所述世界坐标系中对应的三维坐标和预先设置的摄像机原点坐标确定目标射线。
游戏里的画面均为通过摄像机呈现的,摄像机位于三维空间中的原点位置,根据由屏幕坐标转化得到对应的三维坐标和摄像机原点坐标确定一条射线,该射线经过由鼠标点击生成的屏幕坐标。
为了便于对上述实施例中的步骤S108进行理解,本发明实施例提供了一种拾取地块的具体实现方式,通过获取目标射线和地形的交点坐标,并基于交点坐标在预设方向上进行二分查找,得到交点坐标所在的地块即为目标地块。上述步骤S108的具体实现方式主要包括如下步骤1至步骤3:
步骤1:获取目标射线与地形的交点坐标。
步骤2:基于交点坐标,分别按照第一方向和第二方向在多个地块中进行二分查找,直至查找到交点坐标所在的地块,将查找到的地块确定为目标地块。
为了便于理解,步骤2还可以包括步骤2.1至步骤2.3:
步骤2.1:基于交点坐标在第一方向上的坐标值,对第一方向上的多个第一组块进行二分查找,直至查找到第一方向上交点坐标所在的第一地块范围。诸如,当交点坐标为(1,3),第一方向为x轴,第一尺寸为2时,则可以确定交点坐标位于在x方向0至2的地块范围内,也即第一地块范围。
步骤2.2:基于交点坐标在第二方向上的坐标值,对第二方向上的多个第二组块进行二分查找,直至查找到第二方向上交点坐标所在的第二地块范围。诸如,当交点坐标为(1,3),第二方向为y轴,第一尺寸为2时,则可以确定交点坐标位于在y方向2至4的地块范围内,也即第二地块范围。
步骤2.3:根据确定的第一地块范围和第二地块范围,得到交点坐标所在的地块。
由于每个方向的地块均按照顺序进行编号的排序,分别在第一方向和第二方向采用二分查找算法进行查找,提高了在多个地块中查找交点坐标所在地块的查找效率。
上述地块拾取方法可以应用于游戏的建筑编辑器中。
综上所述,本发明实施例通过上述方式首先基于第一尺寸和第一方向得到多个第一组块,基于第二尺寸和第二方向得到多个第二组块,并根据第一组块和第二组块求交得到多个地块,然后将基于触发屏幕得到的屏幕坐标转化到世界坐标系中的三维坐标,并根据对应的三维坐标和预先设置的摄像机原点坐标确定目标射线,判断目标射线与地形是否有交点,如果有交点,确定交点坐标,再运用二分查找算法按照第一方向和第二方向分别进行查找,得到交点坐标所在的地块,并将查找到的地块确定为拾取到的目标地块。通过设置第一方向和第二方向,以及第一尺寸和第二尺寸对地形进行划分的方式,可以更加便捷的对地块进行划分,由于在第一方向和第二方向分别进行二分查找,可以快速的拾取地块。因此本发明实施例提高了地块拾取效率,有助于用户更为快捷的拾取地块,提升用户体验。
为便于理解,本发明实施例提供了一种应用前述地块拾取方法的具体示例,该示例以在游戏地形中拾取阻挡块为拾取目标地块为例进行说明,具体实现时,可参见如图2所示的另一种地块拾取方法的流程示意图,该方法主要包括以下步骤S202至步骤S214:
步骤S202:对游戏地形按照X轴和Z轴的方向进行划分。
为便于理解,本发明实施例示出了一种具体的地块拾取方法的示意图,以在游戏场景中预设尺寸为1,预设方向为Z轴和X轴为例,参见图3a所示的一种按照X轴方向对待划分地形进行划分的示意图,将地块按照X轴方向对地块进行划分,得到宽度为1,长度为4的4个地块,参见图3b所示的一种按照Z轴方向对待划分地形进行划分的示意图,将地块按照Z轴方向对这4个地块进行划分,得到地形上4*4的地块。上述划分地块的方式可以采用构建结构体的方式,并将按照Z轴方向划分得到的地块信息按照从上到下的顺序存储到结构体的数组1中,按照X轴方向划分得到的地块信息按照从左到右的顺序存储到结构体的数组2中。
步骤S204:基于屏幕坐标得到由摄像机原点坐标发出,经过屏幕坐标的射线。
在一种实施方式中,当鼠标点击屏幕时会产生屏幕坐标,将屏幕坐标在屏幕坐标系下得到的二维屏幕坐标,反算成其在物体坐标系下真实的空间三维坐标,然后基于摄像机原点坐标和屏幕坐标确定一条射线,该射线是经过屏幕坐标的射线。判断该射线与地形是否有交点,如果没有交点,则没有拾取到地块,如果有交点,则得到交点坐标。
步骤S206:判断射线与地形是否有交点,如果是,则执行步骤S208,如果否,则执行步骤214。
步骤S208:根据射线与地形的交点得到交点坐标,在Z轴进行二分查找,得到Z轴的地块范围。
根据得到的交点坐标在上述数组1中进行二分查找得到在Z轴的地块范围,从而确定最终的目标地块的范围。诸如,参见图3c所示的一种确定目标地块的示意图,在上述4*4的地形中,当射线与地形的交点位于图3c中“+”位置时,可以首先在Z轴方向划分的地块进行二分查找,确定交点坐标位于Z轴(1,2)范围的地块。
步骤S210:根据射线与地形的交点得到交点坐标,在Z轴进行二分查找,得到X轴的地块范围。
根据得到的交点坐标在上述数组2中进行二分查找得到X轴的地块范围,在在上述4*4的地形中,当射线与地形的交点位于图3c中“+”位置时,可以首先在Z轴方向划分的地块进行二分查找,确定交点坐标位于X轴(2,3)范围的地块。
步骤S212:根据Z轴的地块范围和X轴的地块范围,得到交点坐标所在的地块范围,即为拾取到阻挡块。
根据上述查找得到的Z轴范围(1,2)和X轴范围(2,3)确定最终拾取到的目标地块,目标地块即为图3c中虚线框的地块位置。
步骤S214:确定没有拾取到阻挡块。
如果射线和地形没有交点,则确定没有拾取到阻挡块。
基于前述地块拾取方法,本发明实施例还提供了与前述地块拾取方法相对应的地块拾取装置,参见图4所示的一种地块拾取装置的结构示意图,该装置主要包括以下模块:
地形划分模块402,用于对待划分地块按照预设方向和预设尺寸进行划分,得到多个地块;
射线确定模块404,用于如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线;其中,目标射线的起始点为摄像机原点坐标,且目标射线经过屏幕坐标;
判断模块406,用于判断射线与地块是否有交点;
地块拾取模块408,用于射线与地块有交点时,根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块;其中,目标地块为交点所在的地块。
本发明提供的地块拾取装置,首先对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块;如果检测到用户针对电子设备的屏幕触点,获取屏幕触点对应的屏幕坐标,并基于屏幕坐标和预先设置的摄像机原点坐标确定目标射线(起始点为摄像机原点坐标,且目标射线经过屏幕坐标);最后在判断目标射线与地形有交点时,根据二分查找算法、交点的位置和预设方向从多个地块中拾取到目标地块(交点所在地块)。本实施例提供的上述方法中,按照预设方向和预设尺寸对待划分地形进行划分的实现方式简单,可以快速的构建地块数据,按照预设方向运用二分查找算法对交点位置所在地块进行查找,可以有效提高查找速度,以上方式综合提高了地块拾取效率,有助于用户更为快捷的拾取地块,提升用户体验。
在一种实施方式中,上述地形划分模块402,进一步用于基于第一尺寸,沿着第一方向对待划分地形进行划分,得到多个第一组块;基于第二尺寸,沿着第二方向对待划分地形进行划分,得到多个第二组块;基于多个第一组块和多个第二组块得到多个地块;每个地块均为第一组块与第二组块的交集块。
在一种实施方式中,上述射线确定模块404,进一步用于将屏幕坐标转化到世界坐标系中对应的三维坐标;基于世界坐标系中对应的三维坐标和预先设置的摄像机原点坐标确定目标射线。
在一种实施方式中,上述地块拾取模块408,进一步用于,获取目标射线与地形的交点坐标;基于交点坐标,分别按照第一方向和第二方向在多个地块中进行二分查找,直至查找到交点坐标所在的地块;将查找到的地块确定为目标地块。
在一种实施方式中,上述地块拾取模块408,进一步用于基于交点坐标在第一方向上的坐标值,对第一方向上的多个第一组块进行二分查找,直至查找到第一方向上交点坐标所在的第一地块范围;基于交点坐标在第二方向上的坐标值,对第二方向上的多个第二组块进行二分查找,直至查找到第二方向上交点坐标所在的第二地块范围;根据确定的第一地块范围和第二地块范围,得到交点坐标所在的地块。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
该设备为一种电子设备,具体的,该电子设备包括处理器和存储装置;存储装置上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法。
图5为本发明实施例提供的一种电子设备的结构示意图,该电子设备100包括:处理器50,存储器51,总线52和通信接口53,所述处理器50、通信接口53和存储器51通过总线52连接;处理器50用于执行存储器51中存储的可执行模块,例如计算机程序。
其中,存储器51可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该***网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线52可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器51用于存储程序,所述处理器50在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器50中,或者由处理器50实现。
处理器50可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器50中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器50可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器51,处理器50读取存储器51中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的地块拾取方法、装置、电子设备及计算机可读存储介质的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***具体工作过程,可以参考前述实施例中的对应过程,在此不再赘述。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,术语“竖直”、“水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,术语“水平”、“竖直”等术语并不表示要求部件绝对水平或悬垂,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (10)

1.一种地块拾取方法,其特征在于,所述方法由电子设备执行,所述方法包括:
对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块;
如果检测到用户针对所述电子设备的屏幕触点,获取所述屏幕触点对应的屏幕坐标,并基于所述屏幕坐标和预先设置的摄像机原点坐标确定目标射线;其中,所述目标射线的起始点为所述摄像机原点坐标,且所述目标射线经过所述屏幕坐标;
判断所述目标射线与所述地形是否有交点;
如果是,根据二分查找算法、所述交点的位置和所述预设方向从多个所述地块中拾取到目标地块;其中,所述目标地块为所述交点所在的地块。
2.根据权利要求1所述的方法,其特征在于,所述预设方向包括第一方向和第二方向;所述预设尺寸包括第一尺寸和第二尺寸;所述第一尺寸和所述第二尺寸相同或者不相同;
所述对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块的步骤,包括:
基于所述第一尺寸,沿着所述第一方向对所述待划分地形进行划分,得到多个第一组块;
基于所述第二尺寸,沿着所述第二方向对所述待划分地形进行划分,得到多个第二组块;
基于多个所述第一组块和多个所述第二组块得到多个地块;每个所述地块均为所述第一组块与所述第二组块的交集。
3.根据权利要求1所述的方法,其特征在于,所述屏幕坐标为屏幕坐标系下的二维坐标;所述基于所述屏幕坐标和预先设置的摄像机原点坐标确定目标射线的步骤,包括:
将所述屏幕坐标转化到世界坐标系中对应的三维坐标;
基于所述世界坐标系中对应的三维坐标和预先设置的摄像机原点坐标确定目标射线。
4.根据权利要求2所述的方法,其特征在于,所述根据二分查找算法、所述交点的位置和所述预设方向从多个所述地块中拾取到目标地块的步骤,包括:
获取所述目标射线与所述地形的交点坐标;
基于所述交点坐标,分别按照所述第一方向和所述第二方向在多个所述地块中进行二分查找,直至查找到所述交点坐标所在的地块;
将查找到的所述地块确定为目标地块。
5.根据权利要求4所述的方法,其特征在于,所述基于所述交点坐标,分别按照所述第一方向和所述第二方向在多个所述地块中进行二分查找,直至查找到所述交点坐标所在的地块的步骤,包括:
基于所述交点坐标在所述第一方向上的坐标值,对所述第一方向上的多个所述第一组块进行二分查找,直至查找到第一方向上所述交点坐标所在的第一地块范围;
基于所述交点坐标在所述第二方向上的坐标值,对所述第二方向上的多个所述第二组块进行二分查找,直至查找到第二方向上所述交点坐标所在的第二地块范围;
根据确定的所述第一地块范围和所述第二地块范围,得到所述交点坐标所在的地块。
6.根据权利要求1至5任一项所述的方法,其特征在于,所述方法应用于游戏建筑编辑器。
7.一种地块拾取装置,其特征在于,所述装置设置于电子设备,所述装置包括:
地形划分模块,用于对待划分地形按照预设方向和预设尺寸进行划分,得到多个地块;
射线确定模块,用于如果检测到用户针对所述电子设备的屏幕触点,获取所述屏幕触点对应的屏幕坐标,并基于所述屏幕坐标和预先设置的摄像机原点坐标确定目标射线;其中,所述目标射线的起始点为所述摄像机原点坐标,且所述目标射线经过所述屏幕坐标;
判断模块,用于判断所述射线与所述地块是否有交点;
地块拾取模块,用于所述射线与所述地块有交点时,根据二分查找算法、所述交点的位置和所述预设方向从多个所述地块中拾取到目标地块;其中,所述目标地块为所述交点所在的地块。
8.根据权利要求7所述的装置,其特征在于,所述预设方向包括第一方向和第二方向;所述预设尺寸包括第一尺寸和第二尺寸;所述第一尺寸和所述第二尺寸相同或者不相同;
所述地形划分模块用于:
基于所述第一尺寸,沿着所述第一方向对所述待划分地形进行划分,得到多个第一组块;
基于所述第二尺寸,沿着所述第二方向对所述待划分地形进行划分,得到多个第二组块;
基于多个所述第一组块和多个所述第二组块得到多个地块;每个所述地块均为所述第一组块与所述第二组块的交集块。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的地块拾取方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至6任一项所述的地块拾取方法的步骤。
CN201911364021.0A 2019-12-25 2019-12-25 地块拾取方法、装置、电子设备及计算机可读存储介质 Active CN111135562B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911364021.0A CN111135562B (zh) 2019-12-25 2019-12-25 地块拾取方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911364021.0A CN111135562B (zh) 2019-12-25 2019-12-25 地块拾取方法、装置、电子设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN111135562A true CN111135562A (zh) 2020-05-12
CN111135562B CN111135562B (zh) 2023-10-20

Family

ID=70520301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911364021.0A Active CN111135562B (zh) 2019-12-25 2019-12-25 地块拾取方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN111135562B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188024A (zh) * 2006-11-20 2008-05-28 爱克发医疗保健公司 融合3d体绘制图像上拾取和根据拾取动作更新相应视图
US20150310661A1 (en) * 2014-04-25 2015-10-29 Square Enix Co., Ltd. Information processing apparatus, control method, and storage medium
CN106611443A (zh) * 2015-10-26 2017-05-03 高德信息技术有限公司 三维地形点拾取方法及装置
CN107748643A (zh) * 2017-11-10 2018-03-02 济南迅捷万通科技发展有限公司 一种基于地下三维空间的交互式对象拾取方法
CN108888954A (zh) * 2018-06-20 2018-11-27 苏州玩友时代科技股份有限公司 一种拾取坐标的方法、装置、设备及存储介质
CN110442339A (zh) * 2019-06-17 2019-11-12 搜游网络科技(北京)有限公司 一种可视化轴向编辑方法、装置及运行器、可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101188024A (zh) * 2006-11-20 2008-05-28 爱克发医疗保健公司 融合3d体绘制图像上拾取和根据拾取动作更新相应视图
US20150310661A1 (en) * 2014-04-25 2015-10-29 Square Enix Co., Ltd. Information processing apparatus, control method, and storage medium
CN106611443A (zh) * 2015-10-26 2017-05-03 高德信息技术有限公司 三维地形点拾取方法及装置
CN107748643A (zh) * 2017-11-10 2018-03-02 济南迅捷万通科技发展有限公司 一种基于地下三维空间的交互式对象拾取方法
CN108888954A (zh) * 2018-06-20 2018-11-27 苏州玩友时代科技股份有限公司 一种拾取坐标的方法、装置、设备及存储介质
CN110442339A (zh) * 2019-06-17 2019-11-12 搜游网络科技(北京)有限公司 一种可视化轴向编辑方法、装置及运行器、可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
曹家铭等: "虚拟现实***中曲线的交互式生成", 《中国科技信息》 *

Also Published As

Publication number Publication date
CN111135562B (zh) 2023-10-20

Similar Documents

Publication Publication Date Title
CN110349092B (zh) 一种点云滤波方法及设备
CN110619333A (zh) 一种文本行分割方法、文本行分割装置及电子设备
CN111142514B (zh) 一种机器人及其避障方法和装置
CN107272899B (zh) 一种基于动态手势的vr交互方法、装置及电子设备
CN112990235A (zh) 点云数据的处理方法、装置及电子设备
CN112200851B (zh) 一种基于点云的目标检测方法、装置及其电子设备
CN111105459A (zh) 描述子地图生成方法、定位方法、装置、设备和存储介质
CN107341804A (zh) 点云数据中平面的确定方法及装置、图像叠加方法及设备
CN108764297B (zh) 一种可移动设备位置的确定方法、装置及电子设备
CN114332134A (zh) 一种基于密集点云的建筑物立面提取方法和装置
CN113345015A (zh) 一种包裹位置检测方法、装置、设备及可读存储介质
CN112861595A (zh) 数据点的识别方法、装置和计算机可读存储介质
CN113244619B (zh) 数据处理方法、装置、设备及存储介质
CN109961516B (zh) 表面获取方法、装置及非暂态电脑可读取记录媒体
CN115317916A (zh) 虚拟场景中重叠对象的检测方法、装置和电子设备
CN113610967B (zh) 三维点检测的方法、装置、电子设备及存储介质
JP2016118971A (ja) 画像特徴量登録装置、方法及びプログラム
CN111135562B (zh) 地块拾取方法、装置、电子设备及计算机可读存储介质
CN111476308B (zh) 基于先验几何约束的遥感影像分类方法、装置和电子设备
CN110348900B (zh) 一种数据处理方法、***及装置
JP2017054450A (ja) 認識装置、認識方法及び認識用プログラム
CN112068547B (zh) 一种基于amcl的机器人定位方法、装置和机器人
CN111783552B (zh) 实景三维模型单体化方法、装置、存储介质及电子设备
CN113117334A (zh) 目标点的可见区域的确定方法及相关装置
CN113469130A (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