CN110160579B - 一种物体检测的方法及相关装置 - Google Patents
一种物体检测的方法及相关装置 Download PDFInfo
- Publication number
- CN110160579B CN110160579B CN201910461197.1A CN201910461197A CN110160579B CN 110160579 B CN110160579 B CN 110160579B CN 201910461197 A CN201910461197 A CN 201910461197A CN 110160579 B CN110160579 B CN 110160579B
- Authority
- CN
- China
- Prior art keywords
- bounding box
- target object
- floating
- detection
- distance
- 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
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01D—MEASURING NOT SPECIALLY ADAPTED FOR A SPECIFIC VARIABLE; ARRANGEMENTS FOR MEASURING TWO OR MORE VARIABLES NOT COVERED IN A SINGLE OTHER SUBCLASS; TARIFF METERING APPARATUS; MEASURING OR TESTING NOT OTHERWISE PROVIDED FOR
- G01D21/00—Measuring or testing not otherwise provided for
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本申请公开了一种物体检测的方法及相关装置,能够完成对场景内各个物体的浮空自动化检测,减少人力检测所导致的物体浮空误判,提高了检测效率。本申请方法包括:在目标场景中建立目标物体的第一方向包围盒;若第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测目标物体对应的关联物体,其中,关联物体是与目标物体具有相交区域的物体;若检测到关联物体,则根据关联物体对第一方向包围盒进行碰撞检测,得到碰撞距离;根据碰撞距离确定并输出浮空检测结果。
Description
技术领域
本申请涉及应用测试技术领域,尤其涉及一种物体检测的方法及相关装置。
背景技术
随着网络通信技术的发展,网络游戏已成为人们的休闲娱乐活动之一。为了维持游戏正常运行,测试人员需要对游戏进行测试,其中一项尤为重要的测试为游戏场景中的物体浮空检测。
现有技术中,测试人员在检测游戏场景中的物体状态时,通常是对各个物体进行肉眼观察,如果判断两个物体之间的垂直距离不满足要求,则确定物体浮空。
由于现有的物体浮空检测方法过于依赖人力判断,因此,在对游戏场景中的众多物体进行逐一检测时,容易出现误差,导致检测效率低下。
发明内容
本申请实施例提供了一种物体检测的方法及相关装置,用于解决现有的物体浮空检测方法过于依赖人力判断,在对游戏场景中的众多物体进行逐一检测时,容易出现误差,导致检测效率低下的技术问题。
有鉴于此,本申请实施例的第一方面提供了一种物体检测的方法,包括:
在目标场景中建立目标物体的第一方向包围盒;
若所述第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测所述目标物体对应的关联物体,其中,所述关联物体是与所述目标物体具有相交区域的物体;
若检测到所述关联物体,则根据所述关联物体对所述第一方向包围盒进行碰撞检测,得到碰撞距离;
根据所述碰撞距离确定并输出浮空检测结果。
本申请实施例的第二方面提供了一种物体检测装置,包括:
建立模块,用于在目标场景中建立目标物体的第一方向包围盒;
第一检测模块,用于若所述第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测所述目标物体对应的关联物体,其中,所述关联物体是与所述目标物体具有相交区域的物体;
第二检测模块,用于若检测到所述关联物体,则根据所述关联物体对所述第一方向包围盒进行碰撞检测,得到碰撞距离;
第一输出模块,用于根据所述碰撞距离确定并输出浮空检测结果。
基于第二方面,本申请实施例还提供了第二方面的第一种实施方式:
所述物体检测装置还包括:
第二输出模块,用于若未检测到所述关联物体,则输出所述浮空检测结果。
基于第二方面,本申请实施例还提供了第二方面的第二种实施方式:
所述物体检测装置还包括:
获取模块,用于获取所述目标物体的所述第一方向包围盒的四个顶点高度;
计算模块,用于计算各个所述顶点高度与所述第一方向包围盒的自身高度之间的高度差;
所述第一检测模块具体用于若大于所述预置浮空检查值的所述高度差的数量大于或等于预置数量,则检测所述目标物体对应的关联物体,其中,所述关联物体是与所述目标物体具有相交区域的物体;
其中,四个所述顶点高度为所述第一方向包围盒的四个顶面顶点至所述目标物体竖直方向上的遮挡物之间的距离,所述遮挡物为所述预置参考面或所述关联物体的第二方向包围盒。
基于第二方面的第二种实施方式,本申请实施例还提供了第二方面的第三种实施方式:
所述预置数量为3个。
基于第二方面,本申请实施例还提供了第二方面的第四种实施方式:
所述碰撞距离包括:
所述目标物体的所述第一方向包围盒与所述关联物体的第二方向包围盒之间的渗透深度、所述第一方向包围盒与所述第二方向包围盒之间的碰撞检测距离以及所述第一方向包围盒与所述遮挡物之间的中心点碰撞距离。
基于第二方面的第四种实施方式,本申请实施例还提供了第二方面的第五种实施方式:
所述第一输出模块具体包括:
确定单元,用于根据所述碰撞距离确定浮空检测结果;
第一输出单元,用于输出浮空检测结果;
所述确定单元具体包括:
第一判断子单元,用于判断所述第一方向包围盒与所述第二方向包围盒之间的渗透深度是否小于或等于预置第一数值,若是,则触发第二判断子单元,若不是,则触发第三判断子单元;
第二判断子单元,用于判断是否所述第一方向包围盒与所述第二方向包围盒之间的碰撞检测距离小于或等于预置第二数值且第一方向包围盒与所述遮挡物之间的中心点碰撞距离小于或等于预置第三数值,若是,则确定所述目标物体不处于浮空状态,若不是,则确定所述目标物体处于浮空状态;
第三判断子单元,用于判断渗透部分与所述第二方向包围盒之间的碰撞检测距离是否小于或等于所述预置第二数值,若是,则确定所述目标物体不处于浮空状态,若不是,则确定所述目标物体处于浮空状态;
其中,所述渗透部分为所述第一方向包围盒与所述第二方向包围盒之间相渗透的部分。
基于第二方面,或第二方面的第一种实施方式至第四种实施方式中的任意一种,本申请实施例还提供了第二方面的第六种实施方式:
所述第一输出单元具体用于标记处于浮空状态的所述目标物体,显示所述目标物体的浮空状态参数;
所述第二输出模块具体用于若未检测到所述关联物体,标记处于浮空状态的所述目标物体,显示所述目标物体的浮空状态参数。
基于第二方面的第六中实施方式,本申请实施例还提供了第二方面的第七种实施方式:
所述第一输出单元具体用于将处于浮空状态的所述目标物体进行高亮显示,显示所述目标物体的浮空状态参数;
所述第二输出模块具体用于若未检测到所述关联物体,将处于浮空状态的所述目标物体进行高亮显示,显示所述目标物体的浮空状态参数;
或
所述第一输出单元具体用于以处于浮空状态的所述目标物体的第一方向包围盒的四个顶面顶点为起点,设置竖直方向的射线,显示所述目标物体的浮空状态参数;
所述第二输出模块具体用于若未检测到所述关联物体,以处于浮空状态的所述目标物体的第一方向包围盒的四个顶面顶点为起点,设置竖直方向的射线,显示所述目标物体的浮空状态参数。
基于第二方面的第六种实施方式,本申请实施例还提供了第二方面的第八种实施方式:
所述浮空状态参数包括:所述目标物体的名称、世界坐标点和浮空距离;
其中,所述浮空距离为所述目标物体的所述第一方向包围盒与所述预置参考面之间的所述垂直距离。
本申请实施例的第三方面提供了一种物体检测设备,包括:
一个或一个以***处理器,存储器,输入输出接口,有线或无线网络接口,电源;
所述存储器为短暂存储存储器或持久存储存储器;
所述中央处理器配置为与所述存储器通信,在所述物体检测设备上执行所述存储器中的指令操作以执行第一方面所述的方法。
本申请实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请实施例的第五方面提供了一种包含指令的计算机程序产品,当其在计算机或处理器上运行时,使得计算机或处理器执行上述第一方面的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种物体检测的方法及相关装置,其中,该方法先对游戏场景内的各个物体建立方向包围盒,通过目标物体的方向包围盒与预置参考面之间的距离初步判断目标物体是否疑似浮空,若是,在确定存在渗透目标物体的关联物体后,则对目标物体的方向包围盒进行碰撞检测,进而根据检测得到的碰撞距离确定目标物体是否浮空,以完成对场景内各个物体的浮空自动化检测,减少人力检测所导致的物体浮空误判,提高了检测效率。
附图说明
图1为本申请实施例提供的一种物体检测设备的一个实施例的结构示意图;
图2为本申请实施例提供的一种物体检测的方法的一个实施例的流程示意图;
图3为本实施例中目标物体处于疑似浮空状态的一个示例图;
图4为本实施例中目标物体浮空于遮挡物上方的一个示例图;
图5为本实施例中目标物体重叠于关联物体上的一个示例图;
图6为本实施例中目标物体穿透于关联物体中的一个示例图;
图7为本实施例中目标物体重叠于关联物体上的另一个示例图;
图8为本实施例中目标物体上加载射线的一个示例图;
图9为本实施例中的浮空检测结果的一个示例图;
图10为本实施例中的浮空状态参数的一个示例图;
图11为本申请实施例提供的一种物体检测的方法的一个应用例示意图;
图12为本申请实施例提供的一种物体检测装置的一个实施例的结构示意图;
图13为本申请实施例提供的一种物体检测装置的另一实施例的结构示意图。
具体实施方式
本申请实施例提供了一种物体检测的方法及相关装置,用于解决现有的物体浮空检测方法过于依赖人力判断,在对游戏场景中的众多物体进行逐一检测时,容易出现误差,导致检测效率低下的技术问题。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
通常公司内部测试应用软件如游戏时,主要依赖于手工测试,具体的,测试人员通常是人工观察游戏场景中的物体是否处于浮空状态,再与策划人员确认物体浮空距离是否在可接受范围内,进而达到物体浮空验证的目的。然而,游戏场景中具备各式各样的物体,通过人力是判断物体是否处于浮空状态,逐件用肉眼判断会耗时过长,且在判断过程中无法避免检测误差,导致检测效率低下。
有鉴于此,本申请实施例提供了一种物体检测的方法,能够完成对场景内各个物体的浮空自动化检测,减少人力检测所导致的物体浮空误判,提高了检测效率。
应理解,本申请实施例提供的物体检测的方法可以对目标场景中的物体进行浮空检测,该目标场景可以是游戏场景、基于现实场景所构造的虚拟现实场景等等,为方便说明,以下均以游戏场景作为例子进行介绍。进一步的,本申请实施例通过虚幻引擎4(UnrealEngine4,UE4)进行游戏场景中的物体检测。Unreal Engine4是一套跨平台的游戏引擎,可用于开发Windows、MacOS、Linux平台的单机游戏,或是ios、Android移动设备的游戏,该引擎包含的插件提供了许多编辑器的接口,便于测试人员给编辑器添加所需的功能。
在Unreal Engine4中,Actor是可以放在游戏场景中的游戏对象的基本类型,StaticMeshActor是一种简单的Actor类型,用于在场景中显示一个静态网格物体,故本申请实施例中通过Unreal Engine4所检测的物体通常为静态网格物体,以下均简称物体。
本申请实施例提供了一种物体检测设备,用于执行上述的物体检测的方法。图1为本申请实施例提供的一种物体检测设备的一个实施例的结构示意图,如图1所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理(personal digitalassistant,PDA)、销售终端(point of sales,POS)、车载电脑等任意终端设备,以终端为手机为例:
图1示出的是与本申请实施例提供的终端相关的手机的部分结构的框图。参考图1,手机包括:射频(radio frequency,RF)电路110、存储器120、输入单元130、显示单元140、传感器150、音频电路160、无线保真(wireless fidelity,WiFi)模块170、处理器180、以及电源190等部件。本领域技术人员可以理解,图1中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图1对手机的各个构成部件进行具体的介绍:
RF电路110可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器180处理;另外,将设计上行的数据发送给基站。通常,RF电路110包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路110还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯***(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multS19P0921le access,CDMA)、宽带码分多址(wideband code division multS19P0921le access,WCDMA)、长期演进(long termevolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器120可用于存储软件程序以及模块,处理器180通过运行存储在存储器120的软件程序以及模块,从而执行手机的各种功能应用以及数据处理。存储器120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元130可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元130可包括触控面板131以及其他输入设备132。触控面板131,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板131上或在触控面板131附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板131可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器180,并能接收处理器180发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板131。除了触控面板131,输入单元130还可以包括其他输入设备132。具体地,其他输入设备132可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元140可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单。显示单元140可包括显示面板141,可选的,可以采用液晶显示器(liquid crystaldisplay,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板141。进一步的,触控面板131可覆盖显示面板141,当触控面板131检测到在其上或附近的触摸操作后,传送给处理器180以确定触摸事件的类型,随后处理器180根据触摸事件的类型在显示面板141上提供相应的视觉输出。虽然在图1中,触控面板131与显示面板141是作为两个独立的部件来实现手机的输入和输入功能,但是在某些实施例中,可以将触控面板131与显示面板141集成而实现手机的输入和输出功能。
手机还可包括至少一种传感器150,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板141的亮度,接近传感器可在手机移动到耳边时,关闭显示面板141和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路160、扬声器161,传声器162可提供用户与手机之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出;另一方面,传声器162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出处理器180处理后,经RF电路110以发送给比如另一手机,或者将音频数据输出至存储器120以便进一步处理。
WiFi属于短距离无线传输技术,手机通过WiFi模块170可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图1示出了WiFi模块170,但是可以理解的是,其并不属于手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器180是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器120内的软件程序和/或模块,以及调用存储在存储器120内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器180可包括一个或多个处理单元;可选的,处理器180可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作***、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器180中。
手机还包括给各个部件供电的电源190(比如电池),可选的,电源可以通过电源管理***与处理器180逻辑相连,从而通过电源管理***实现管理充电、放电、以及功耗管理等功能。
尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
在本申请实施例中,该终端所包括的处理器180还具有以下功能:
在目标场景中建立目标物体的第一方向包围盒;
若第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测目标物体对应的关联物体,其中,关联物体是与目标物体具有相交区域的物体;
若检测到关联物体,则根据关联物体对第一方向包围盒进行碰撞检测,得到碰撞距离;
根据碰撞距离确定并输出浮空检测结果。
以上是对本申请实施例提供的一种物体检测设备的一个实施例进行的相关说明,以下将对本申请实施例提供的一种物体检测的方法进行介绍,请参阅图2,本申请实施例提供的一种物体检测的方法的一个实施例,包括:
201、在目标场景中建立目标物体的第一方向包围盒;
本实施例中,以目标场景为游戏场景为例进行说明。测试人员通过物体检测装置(包括但不限于智能手机、个人电脑等终端设备)启动Unreal Engine4后,通过在UnrealEngine4上加载目标文件,进而在Unreal Engine4界面上显示相应的游戏场景,通常该游戏场景内设置有众多物体。
物体检测装置接收到测试人员输入的选择指令后,在游戏场景中选择需要进行浮空检测的目标物体,并建立目标物体的第一方向包围盒,第一方向包围盒用于包围目标物体所在的区域。
应理解,方向包围盒为沿着物体的主成分方向所生成的一个最小矩形包围盒,可以随物体旋转,用于较精确的碰撞检测。本实施例中基于各个物体所建立的方向包围盒,通常被设置为与预置参考面(如游戏场景中的水平地面)平行的状态,如在某个物体的方向包围盒中,该包围盒的顶面、底面均与预置参考面平行。
需要说明的是,目标物体可以为一个或多个,本实施例中根据用户选择指令的指向,可以将游戏场景中的某一物体确定为目标物体,也可以将游戏场景中的某几个物体同时确定为目标物体,甚至可以将游戏场景中的所有物体均确定为目标物体,进而建立目标物体的第一方向包围盒,此处不做具体限定。
202、若第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测目标物体对应的关联物体;
在建立目标物体的第一方向包围盒后,需要判断第一方向包围盒与预置参考面之间的垂直距离是否大于预置浮空检查值,若大于,则将目标物体确定为疑似浮空状态,若不大于,则确定目标物体不处于浮空状态。
本实施例中,第一方向包围盒于与预置参考面之间的垂直距离通常指第一方向包围盒的底面与预置参考面之间的距离,该距离可以通过多种计算方式测得,如直接检测第一方向包围盒的底面与预置参考面之间的距离,又如检测第一方向包围盒的顶面与预置参考面之间的距离,再减去第一方向包围盒的自身高度,再如检测第一方向包围盒的中心点与预置参考面之间的距离,再减去第一方向包围盒自身高度的一半,诸如前述能够实现等同功能的计算方式不再一一列举,在本实施例中不做具体限定。
需要说明的是,目标物体处于疑似浮空状态为本实施例浮空检测过程的初步判断,由于游戏场景中可能存在与目标物体具有相交区域的物体,即关联物体,因此目标物体可能是由于重叠在关联物体上或卡在关联物体中所导致的疑似浮空状态,则无法直接确定目标物体是否真的处于浮空状态,因此,在判断判断第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值后,还需进行浮空检测的二次判断,即检测目标物体是否存在对应的关联物体,若存在,则执行步骤203,若不存在,则执行步骤205。
203、若检测到关联物体,则根据关联物体对第一方向包围盒进行碰撞检测,得到碰撞距离;
由于关联物体与目标物体之间存在相交区域,因此在检测到关联物体后,需要根据关联物体对第一方向包围盒进行碰撞检测,得到碰撞距离。需要说明的是,关联物体通常指与目标物体发生重叠的物体,如一个集装箱的一部分叠放在另一个集装箱上,也可以指穿透目标物体的物体,如壁画悬挂在墙壁上,因此,对目标物体进行碰撞检测得到碰撞距离后,可以根据该碰撞距离判断目标物体相对于关联物体而言,是否处于浮空状态。
204、根据碰撞距离确定并输出浮空检测结果;
得到碰撞距离后,则根据碰撞距离确定目标物体的浮空检测结果,并输出该浮空检测结果。
205、若未检测到关联物体,则输出浮空检测结果。
若不存在目标物体的关联物体,则可以确定目标物体处于浮空状态,输出浮空检测结果。
本实施例先对游戏场景内的各个物体建立方向包围盒,通过目标物体的方向包围盒与预置参考面之间的距离初步判断目标物体是否疑似浮空,若是,在确定存在渗透目标物体的关联物体后,则对目标物体的方向包围盒进行碰撞检测,进而根据检测得到的碰撞距离确定目标物体是否浮空,以完成对场景内各个物体的浮空自动化检测,减少人力检测所导致的物体浮空误判,提高了检测效率。
可选地,在上述图2对应的实施例的基础上,本申请实施例提供的物体检测的方法的第一个可选实施例中,若第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测目标物体对应的关联物体之前还包括:
获取目标物体的第一方向包围盒的四个顶点高度;
计算各个顶点高度与第一方向包围盒的自身高度之间的高度差;
若第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值具体包括:
若大于预置浮空检查值的高度差的数量大于或等于预置数量。
在本实施例中,四个顶点高度为第一方向包围盒的四个顶面顶点至目标物体竖直方向上的遮挡物之间的距离,遮挡物为预置参考面或关联物体的第二方向包围盒。
为了方便理解,以下将结合图3对本实施例中高度差的含义进行具体介绍,图3为本实施例中目标物体处于疑似浮空状态的一个示例图,如图3所示,在Unreal Engine4所展示的一个游戏场景中,第一集装箱叠放于第二集装箱之上,对第一集装箱和第二集装箱均构建方向包围盒后,第一集装箱对应的第一方向包围盒A叠放于第二集装箱对应的第二方向包围盒B上,此时,第一方向包围盒A的四个顶面顶点向下竖直作射线,遇到遮挡物则停止,期间形成的射线长度即为每个顶面顶点对应的顶点高度,再令每个顶点高度均减去第一方向包围盒A的自身高度,对应得到四个高度差。
值得注意的是,由于第一方向包围盒A部分重叠于第二方向包围盒上B,则四个顶面顶点中至少有一个是设于第二方向包围盒B的正上方,因此,四个高度差并不完全相同。
得到四个高度差后,可以逐个将高度差与预置浮空检查值进行比较,需要说明的是,该预置浮空检查值可以根据实际需求进行相应设置,如在图3中,通常预置浮空检查值可以设置为零(或略大于零的微小数值),因此,一旦某一个顶面顶点对应的高度差大于预置浮空检查值,则该点对应的高度差可以确定为浮空点。由于第一方向包围盒A是部分叠放于第二方向包围盒B上,故第一方向包围盒A的浮空点的数量则有三种情况,即1个、2个和3个,进而可以根据浮空点的数量对第一集装箱是否处于疑似浮空状态进行判断,本实施例中设置的判断条件为:
若浮空点的数量大于或等于预置数量,则确定第一集装箱处于疑似浮空状态,若浮空点的数量小于预置数量,则确定该第一集装箱不处于浮空状态。
可选的,根据实际判断操作过程中的需求,预置数量可以设置为3个。依旧以图3作为示例说明。应理解,第一方向包围盒A仅有一个顶面顶点位于第二方向包围盒B的上方时,此时浮空点的数量为3个,第一方向包围盒A仅有一小部分(如一个小角落)位于第二方向包围盒B上方,故根据本领域技术人员的公知常识可以确定的是,第一集装箱在正常情况下无法叠放于第二集装箱上(应跌落至地面上),则第一集装箱应处于疑似浮空状态。当浮动点的数量为4个时,则可能存在第一集装箱的关联物体(如第一集装箱穿透在墙体中)。当然,也可能不存在第一集装箱的关联物体,则可以直接确定第一集装箱处于浮空状态。
本实施例通过第一方向包围盒顶面顶点的顶点高度与第一方向包围盒的自身高度之间的高度差作为第一方向包围盒与预置参考面之间的垂直距离,并以高度差的数量作为目标物体是否处于疑似浮空状态的判断基准,使得本实施例对疑似浮空状态的各种情况的判断更具全面性和可行性。
可选地,在上述图2对应的实施例或上述第一个可选实施例的基础上,本申请实施例提供的物体检测的方法的第二个可选实施例中,碰撞距离包括:
目标物体的第一方向包围盒与关联物体的第二方向包围盒之间的渗透深度、第一方向包围盒与第二方向包围盒之间的碰撞检测距离以及第一方向包围盒与遮挡物之间的中心点碰撞距离。
应理解,碰撞检测距离,指通过碰撞检测得到的第一方向包围盒与第二方向包围盒之间的垂直距离。中心点碰撞距离,指第一方向包围盒的中心点至遮挡物(预置参考面或关联物体的第二方向包围盒)之间的垂直距离。
为了便于理解,以下将结合图4对本实施例中的垂直距离进行具体介绍,图4为本实施例中目标物体浮空于遮挡物上方的一个示例图,如图4所示,目标物体处于浮空状态,且存在与目标物体部分重叠的关联物体,此时,构建的方向包围盒401,关联物体的方向包围盒402,需要说明的是,预置参考面403为一无限大的平面,为了方便说明,图4中仅示例部分平面。
可以理解的是,渗透深度为方向包围盒401与方向包围盒402之间重叠部分的长度,距离404为方向包围盒401与方向包围盒402之间的碰撞检测距离,距离405为方向包围盒401与预置参考面403之间的中心点碰撞距离,针对另一场景,若方向包围盒401的中心点投影至方向包围盒402上,此时遮挡物则为方向包围盒402,则中心点碰撞距离为方向包围盒401的中心点至方向包围盒402的顶面之间的垂直距离。
此外,图4中还示意出方向包围盒401的自身高度406和顶点高度407,可以理解的是,四个顶点高度存在区别,方向包围盒401的其中两个顶面顶点投影至方向包围盒402,即相对于这两个顶点而言,遮挡物为方向包围盒402,另外两个顶面顶点则投影至预置参考面403,即相对于这两个顶点而言,遮挡物为预置参考面403。
针对目标物体、关联物体、预置参考面之间的多种位置关系,本实施例可以通过渗透深度、碰撞检测距离、中心点碰撞距离实现对目标物体是否处于浮空状态进行全面检测,得到目标物体的浮空检测结果。
可选地,在上述第二个可选实施例的基础上,本申请实施例提供的物体检测的方法的第三个可选实施例中,根据碰撞距离确定浮空检测结果具体包括:
S501、判断第一方向包围盒与第二方向包围盒之间的渗透深度是否小于或等于预置第一数值,若是,则执行S502,若不是,则执行S503;
S502、判断是否第一方向包围盒与第二方向包围盒之间的碰撞检测距离小于或等于预置第二数值且第一方向包围盒与遮挡物之间的中心点碰撞距离小于或等于预置第三数值,若是,则确定目标物体不处于浮空状态,若不是,则确定目标物体处于浮空状态;
S503、判断渗透部分与第二方向包围盒之间的碰撞检测距离是否小于或等于预置第二数值,若是,则确定目标物体不处于浮空状态,若不是,则确定目标物体处于浮空状态;
其中,渗透部分为第一方向包围盒与第二方向包围盒之间相渗透的部分。
本实施例中,由于目标物体与关联物体之间的位置关系复杂多样,有一些特殊的疑似浮空场景需要结合场景实际需求进而确定其是否浮空,如,一块较长的木板架设在房子的屋顶,木板的四个角均外露于屋顶,即木板所构成的方向包围盒的四个顶面顶点对应的高度差均大于预置浮空检查值,具有四个浮空点,处于疑似浮空状态,而在实际的游戏应用中,木板架设于屋顶是允许存在的场景,不应被确定为处于浮空状态。又如,一块壁画与墙壁平行,二者处于紧贴状态,壁画的方向包围盒与墙壁的方向包围盒为紧贴的两个包围盒,且处于水平相邻的位置关系,壁画的方向包围盒的四个顶面顶点投影于地面,具有四个浮空点,处于疑似浮空状态,而壁画悬挂在墙壁上明显需要壁画有部分嵌入墙壁中,而并非处于紧贴状态,因此该场景应被确认为处于浮空状态。因此,为了进行全面且准确的浮空检测,需要通过多重判断以针对每种疑似浮空的场景,以下将结合图5、图6和图7进行介绍,图5为为本实施例中目标物体重叠于关联物体上的一个示例图,图6为本实施例中目标物体穿透于关联物体中的一个示例图,图7为本实施例中目标物体重叠于关联物体上的另一个示例图。
首先,判断目标物体与关联物体之间的渗透深度是否小于或等于预置第一数值,需要说明的是,预置第一数值可以根据实际需求进行设置,通常为较大的数值,此处不做具体限定。
如图5所示,以上述木板作为示例,木板对应的方向包围盒501与屋子对应的方向包围盒502之间的渗透深度503通常大于预置第一数值,则将方向包围盒501与方向包围盒502之间的渗透部分取出(即渗透深度503对应的部分),并重新对渗透部分进行碰撞检测,得到渗透部分与方向包围盒502之间的碰撞检测距离,若碰撞检测距离小于或等于预置第二数值(通常预置第二数值可以设置为零或稍大于零的极小数值,此处不做具体限定),则确定木板不处于浮空状态,紧贴于屋子顶部,若大于预置第二数值,则确定木板处于浮空状态,得到浮空检测结果。
如图6所示,以上述壁画作为示例,壁画对应的方向包围盒601与墙壁对应的方向包围盒602两者紧贴,其渗透深度可以视为零,小于预置第一数值,然后对方向包围盒601进行碰撞检测得到碰撞检测距离,可以理解的是,此场景下碰撞检测距离为零,小于或等于预置第二数值,同时,检测得到方向包围盒601的中心点至预置参考面的距离,得到大于预置第三数值的中心点碰撞距离,无法满足小于或等于预置第三数值的条件(通常预置第三数值可以设置为较小数值,此处不做具体限定),因此,碰撞检测距离和中心点碰撞距离无法同时满足条件,则确定壁画处于浮空状态。
同理,如图3所示的示例,第一集装箱仅有一小部分叠放于第二集装箱上,若检测到第一方向包围A存在三个浮空点,处于疑似浮空状态,由于渗透深度小于预置第一数值,对第一方向包围盒A进行碰撞检测,得到碰撞检测距离和中心点碰撞距离,可以理解的是,此时碰撞检测距为零,小于或等于预置第二数值,然而,由于中心点碰撞距离大于零,因此,碰撞检测距离和中心点碰撞距离无法同时满足条件,则确定第一集装箱处于浮空状态。
如图7所示,第一木箱叠放于第二木箱上方,且第一木箱的体积远大于第二木箱,则第一木箱能够覆盖第二木箱,且顶点均外露。根据本领域技术人员的公知常识,第一木箱可以叠放于第二木箱上且不会跌落。然而,在测试人员设置该场景时,由于第一木箱体积过大,难以准确将第一木箱手工叠放至第二木箱上,可能两个木箱之间会存有微小间隙造成第一木箱浮空,故需要对第一木箱进行检测。本实施例中,第一木箱对应的方向包围盒701具有四个浮空点,处于疑似浮空状态,对方向包围盒701进行碰撞检测,得到碰撞检测距离和中心点碰撞距离,若碰撞检测距离和中心点碰撞距离均满足条件,则说明两个木箱之间不存在微小间隙,第一木箱不处于浮空状态,若碰撞检测距离不满足条件,则说明两个木箱之间存在微小间隙,第一木箱处于浮空状态。
本实施例提供了根据渗透深度、碰撞检测距离、中心点碰撞距离浮空判断规则,能够针对目标物体、关联物体、预置参考面之间的多种位置关系,进行全面准确的物体浮空检测,增加了方案的可行性。
可选地,在上述图2对应的实施例、上述第一个可选实施例、上述第二个可选实施例或上述第三个可选实施例的基础上,本申请实施例提供的物体检测的方法的第四个可选实施例中,输出浮空检测结果具体包括:
标记处于浮空状态的目标物体;
显示目标物体的浮空状态参数。
本实施例中,当确定目标物体处于浮空状态后,则输出浮空检测结果,具体的,可以标记处于浮空状态的目标物体,使得浮空状态的目标物体显眼可见,以便测试人员查找,且可以显示目标物体的浮空状态参数,以便测试人员对浮空状态的目标物进行调整,消除物体的浮空状态。需要说明的是,本实施例中标记目标物体和显示参数可以同时进行,也可以先后进行,本实施例中不做具体限定。
可选的,标记处于浮空状态的目标物体可以以如下两种方式中的任意一种实现:
(1)在Unreal Engine4所显示的游戏场景界面中,将处于浮空状态的目标物体进行高亮显示;
(2)如图8所示,在Unreal Engine4所显示的游戏场景界面中,以处于浮空状态的目标物体(如图8中的房子)的第一方向包围盒的四个顶面顶点为起点,设置竖直方向的射线801。
可选的,浮空状态参数包括:目标物体的名称、世界坐标点和浮空距离;
其中,浮空距离为目标物体的第一方向包围盒与预置参考面之间的垂直距离。
本实施例中,可以通过python脚本对检测结果梳理输出。以下结合图9对输出浮空检测结果进行具体介绍,图9为本实施例中的浮空检测结果的一个示例图,如图9所示,测试人员可以在Unreal Engine4的界面获取目标物体的名称、世界坐标点和浮空距离,并通过相应的编辑功能快速找到物体在游戏场景中的位置,以实现对浮空物体的修复处理。
更进一步地,测试人员可以在图9的基础上打开浮空状态参数的展开界面,以便直观得获取目标物体的浮空状态数据,如图10所示,图10为本实施例中的浮空状态参数的一个示例图,其中,RootComponent指目标物体的第一个组件,StaticMeshComponent指目标物体的其它组件,X、Y、Z为StaticMeshComponent在游戏场景中的坐标值,Float_Distance指目标物体的浮空距离。
以下将以一个具体的应用例对本申请实施例提供的一种物体检测的方法作进一步的说明,图11为本申请实施例提供的一种物体检测的方法的一个应用例示意图,请参阅图11,该应用例具体包括:
111、获取物体;
112、过滤干扰物体;
113、建立目标物体的方向包围盒,计算目标物体的自身高度;
应理解,目标物体的自身高度可以通过计算目标物体的方向包围盒的自身高度获得。
114、获取目标物体的顶点高度;
115、计算高度差;
应理解,高度差为目标物体的顶点高度与自身高度之间的差值。
116、判断高度差是否超过浮空检查值;
若超过,则执行117,若不超过,则结束。
117、浮空点个数是否不小于3个;
需要说明的是,超过浮空检查值的高度差可以视为一个浮空点。若是,则执行118,若不是,则确定目标物为非浮空物体。
118、浮空规则判定;
需要说明的是,本应用例中的浮空规则包括检测目标物体是否存在关联物体,以及如同上述第三个可选实施例中的步骤501至步骤503的判断规则,此处不再赘述。
119、判断目标物体是否浮空;
若是,则执行121,若不是,则确定目标物为非浮空物体。
121、输出浮空检测结果;
具体的,确定目标物体浮空后,可以标记该目标物体,并在日志记录浮空状态参数。
122、Python脚本获取日志信息并处理;
123、生成CSV文件。
本应用例提供了Unreal Engine4游戏场景中物件浮空检测方法,通过UnrealEngine4插件可自动化检测游戏场景内所有物件是否是浮空状态,减少人力测试成本,减少手工测对物件浮空误判,提高了测试效率。在有效的时间内,同时可对场景内所有物件进行检测,有效提高测试覆盖率。相关人员可以根据需要将测试方案应用到其他UnrealEngine4场景测试中,应用前景好。
以上是对本申请实施例提供的一种物体检测的方法进行的详细介绍,以下将对本申请实施例提供的一种物体检测装置进行相关说明,请参阅图12,本申请实施例提供的一种物体检测装置的一个实施例,包括:
建立模块124,用于在目标场景中建立目标物体的第一方向包围盒;
第一检测模块125,用于若第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测目标物体对应的关联物体,其中,关联物体是与目标物体具有相交区域的物体;
第二检测模块126,用于若检测到关联物体,则根据关联物体对第一方向包围盒进行碰撞检测,得到碰撞距离;
第一输出模块127,用于根据碰撞距离确定并输出浮空检测结果。
可选的,基于图12对应的实施例,本申请实施例提供的物体检测装置的第一个可选实施例中,请参阅图13,该物体检测装置包括:建立模块133、第一检测模块136、第二检测模块137和第一输出模块138,其中,建立模块133、第一检测模块136、第二检测模块137和第一输出模块138与上述实施例中的建立模块124、第一检测模块125、第二检测模块126和第一输出模块127的功能一致,本实施例中不再赘述。
更进一步地,物体检测装置还包括:
第二输出模块139,用于若未检测到关联物体,则输出浮空检测结果。
更进一步地,物体检测装置还包括:
获取模块134,用于获取目标物体的第一方向包围盒的四个顶点高度;
计算模块135,用于计算各个顶点高度与第一方向包围盒的自身高度之间的高度差;
第一检测模块136具体用于若大于预置浮空检查值的高度差的数量大于或等于预置数量,则检测目标物体对应的关联物体,其中,关联物体是与目标物体具有相交区域的物体;
其中,四个顶点高度为第一方向包围盒的四个顶面顶点至目标物体竖直方向上的遮挡物之间的距离,遮挡物为预置参考面或关联物体的第二方向包围盒。
更进一步地,预置数量为3个。
更进一步地,碰撞距离包括:
目标物体的第一方向包围盒与关联物体的第二方向包围盒之间的渗透深度、第一方向包围盒与第二方向包围盒之间的碰撞检测距离以及第一方向包围盒与遮挡物之间的中心点碰撞距离。
更进一步地,第一输出模块138具体包括:
确定单元1381,用于根据碰撞距离确定浮空检测结果;
第一输出单元1382,用于输出浮空检测结果;
确定单元1381具体包括:
第一判断子单元13811,用于判断第一方向包围盒与第二方向包围盒之间的渗透深度是否小于或等于预置第一数值,若是,则触发第二判断子单元13812,若不是,则触发第三判断子单元13813;
第二判断子单元13812,用于判断是否第一方向包围盒与第二方向包围盒之间的碰撞检测距离小于或等于预置第二数值且第一方向包围盒与遮挡物之间的中心点碰撞距离小于或等于预置第三数值,若是,则确定目标物体不处于浮空状态,若不是,则确定目标物体处于浮空状态;
第三判断子单元13813,用于判断渗透部分与第二方向包围盒之间的碰撞检测距离是否小于或等于预置第二数值,若是,则确定目标物体不处于浮空状态,若不是,则确定目标物体处于浮空状态;
其中,渗透部分为第一方向包围盒与第二方向包围盒之间相渗透的部分。
更进一步地,第一输出单元1382具体用于标记处于浮空状态的目标物体,显示目标物体的浮空状态参数;
第二输出模块139具体用于若未检测到关联物体,标记处于浮空状态的目标物体,显示目标物体的浮空状态参数。
更进一步地,第一输出单元1382具体用于将处于浮空状态的目标物体进行高亮显示,显示目标物体的浮空状态参数;
第二输出模块139具体用于若未检测到关联物体,将处于浮空状态的目标物体进行高亮显示,显示目标物体的浮空状态参数;
或
第一输出单元1382具体用于以处于浮空状态的目标物体的第一方向包围盒的四个顶面顶点为起点,设置竖直方向的射线,显示目标物体的浮空状态参数;
第二输出模块139具体用于若未检测到关联物体,以处于浮空状态的目标物体的第一方向包围盒的四个顶面顶点为起点,设置竖直方向的射线,显示目标物体的浮空状态参数。
更进一步地:浮空状态参数包括:目标物体的名称、世界坐标点和浮空距离;
其中,浮空距离为目标物体的第一方向包围盒与预置参考面之间的垂直距离。
本实施例先对游戏场景内的各个物体建立方向包围盒,通过目标物体的方向包围盒与预置参考面之间的距离初步判断目标物体是否疑似浮空,若是,在确定存在渗透目标物体的关联物体后,则对目标物体的方向包围盒进行碰撞检测,进而根据检测得到的碰撞距离确定目标物体是否浮空,以完成对场景内各个物体的浮空自动化检测,减少人力检测所导致的物体浮空误判,提高了检测效率。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述物体检测的方法。
本申请实施例还涉及一种包含指令的计算机程序产品,当其在计算机或处理器上运行时,使得计算机或处理器执行上述物体检测的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (10)
1.一种物体检测的方法,其特征在于,包括:
在目标场景中建立目标物体的第一方向包围盒;
若所述第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测所述目标物体对应的关联物体,其中,所述关联物体是与所述目标物体具有相交区域的物体;
若检测到所述关联物体,则根据所述关联物体对所述第一方向包围盒进行碰撞检测,得到碰撞距离;
根据所述碰撞距离确定并输出浮空检测结果。
2.根据权利要求1所述的物体检测的方法,其特征在于,所述检测所述目标物体对应的关联物体之后,还包括:
若未检测到所述关联物体,则输出所述浮空检测结果。
3.根据权利要求1所述的物体检测的方法,其特征在于,所述若所述第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测所述目标物体对应的关联物体之前还包括:
获取所述目标物体的所述第一方向包围盒的四个顶点高度;
计算各个所述顶点高度与所述第一方向包围盒的自身高度之间的高度差;
所述若所述第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值具体包括:
若大于所述预置浮空检查值的所述高度差的数量大于或等于预置数量;
其中,四个所述顶点高度为所述第一方向包围盒的四个顶面顶点至所述目标物体竖直方向上的遮挡物之间的距离,所述遮挡物为所述预置参考面或所述关联物体的第二方向包围盒。
4.根据权利要求3所述的物体检测的方法,其特征在于,所述预置数量为3个。
5.根据权利要求3或4所述的物体检测的方法,其特征在于,所述碰撞距离包括:
所述目标物体的所述第一方向包围盒与所述关联物体的第二方向包围盒之间的渗透深度、所述第一方向包围盒与所述第二方向包围盒之间的碰撞检测距离以及所述第一方向包围盒与所述遮挡物之间的中心点碰撞距离。
6.根据权利要求5所述的物体检测的方法,其特征在于,根据所述碰撞距离确定浮空检测结果具体包括:
S1:判断所述第一方向包围盒与所述第二方向包围盒之间的渗透深度是否小于或等于预置第一数值,若是,则执行S2,若不是,则执行S3;
S2:判断是否所述第一方向包围盒与所述第二方向包围盒之间的碰撞检测距离小于或等于预置第二数值且第一方向包围盒与所述遮挡物之间的中心点碰撞距离小于或等于预置第三数值,若是,则确定所述目标物体不处于浮空状态,若不是,则确定所述目标物体处于浮空状态;
S3:判断渗透部分与所述第二方向包围盒之间的碰撞检测距离是否小于或等于所述预置第二数值,若是,则确定所述目标物体不处于浮空状态,若不是,则确定所述目标物体处于浮空状态;
其中,所述渗透部分为所述第一方向包围盒与所述第二方向包围盒之间相渗透的部分。
7.根据权利要求1至6任意一项所述的物体检测的方法,其特征在于,所述输出浮空检测结果具体包括:
标记处于浮空状态的所述目标物体;
显示所述目标物体的浮空状态参数。
8.根据权利要求7所述的物体检测的方法,其特征在于,所述标记处于浮空状态的所述目标物体具体包括:
将处于浮空状态的所述目标物体进行高亮显示;
或
以处于浮空状态的所述目标物体的第一方向包围盒的四个顶面顶点为起点,设置竖直方向的射线。
9.根据权利要求7所述的物体检测的方法,其特征在于,所述浮空状态参数包括:所述目标物体的名称、世界坐标点和浮空距离;
其中,所述浮空距离为所述目标物体的所述第一方向包围盒与所述预置参考面之间的所述垂直距离。
10.一种物体检测装置,其特征在于,包括:
建立模块,用于在目标场景中建立目标物体的第一方向包围盒;
第一检测模块,用于若所述第一方向包围盒与预置参考面之间的垂直距离大于预置浮空检查值,则检测所述目标物体对应的关联物体,其中,所述关联物体是与所述目标物体具有相交区域的物体;
第二检测模块,用于若检测到所述关联物体,则根据所述关联物体对所述第一方向包围盒进行碰撞检测,得到碰撞距离;
第一输出模块,用于根据所述碰撞距离确定并输出浮空检测结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910461197.1A CN110160579B (zh) | 2019-05-29 | 2019-05-29 | 一种物体检测的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910461197.1A CN110160579B (zh) | 2019-05-29 | 2019-05-29 | 一种物体检测的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110160579A CN110160579A (zh) | 2019-08-23 |
CN110160579B true CN110160579B (zh) | 2022-07-08 |
Family
ID=67630103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910461197.1A Active CN110160579B (zh) | 2019-05-29 | 2019-05-29 | 一种物体检测的方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110160579B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112245923A (zh) * | 2020-10-20 | 2021-01-22 | 珠海天燕科技有限公司 | 游戏场景中的碰撞检测方法及装置 |
CN113704134B (zh) * | 2021-09-23 | 2023-06-06 | 腾讯科技(深圳)有限公司 | 一种模型检测方法和相关装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102842031A (zh) * | 2011-05-19 | 2012-12-26 | 富士重工业株式会社 | 环境识别装置及环境识别方法 |
CN103942412A (zh) * | 2014-03-18 | 2014-07-23 | 深圳市宇慧通科技有限公司 | 游戏角色腾空的识别方法及装置 |
CN105498211A (zh) * | 2015-12-11 | 2016-04-20 | 网易(杭州)网络有限公司 | 游戏中位置关系的处理方法和装置 |
CN107789832A (zh) * | 2017-10-26 | 2018-03-13 | 广州市雷军游乐设备有限公司 | 构成复杂碰撞器的方法、装置、终端设备及存储介质 |
CN107823886A (zh) * | 2017-12-06 | 2018-03-23 | 北京像素软件科技股份有限公司 | 遮挡属性配置方法、装置及可读存储介质 |
CN108491818A (zh) * | 2018-03-30 | 2018-09-04 | 北京三快在线科技有限公司 | 目标物体的检测方法、装置及电子设备 |
CN109731329A (zh) * | 2019-01-31 | 2019-05-10 | 网易(杭州)网络有限公司 | 一种针对游戏中虚拟组件的放置位置的确定方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7023433B2 (en) * | 2002-10-14 | 2006-04-04 | Chung Yuan Christian University | Computer-implemented method for constructing and manipulating a three-dimensional model of an object volume, and voxels used therein |
-
2019
- 2019-05-29 CN CN201910461197.1A patent/CN110160579B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102842031A (zh) * | 2011-05-19 | 2012-12-26 | 富士重工业株式会社 | 环境识别装置及环境识别方法 |
CN103942412A (zh) * | 2014-03-18 | 2014-07-23 | 深圳市宇慧通科技有限公司 | 游戏角色腾空的识别方法及装置 |
CN105498211A (zh) * | 2015-12-11 | 2016-04-20 | 网易(杭州)网络有限公司 | 游戏中位置关系的处理方法和装置 |
CN107789832A (zh) * | 2017-10-26 | 2018-03-13 | 广州市雷军游乐设备有限公司 | 构成复杂碰撞器的方法、装置、终端设备及存储介质 |
CN107823886A (zh) * | 2017-12-06 | 2018-03-23 | 北京像素软件科技股份有限公司 | 遮挡属性配置方法、装置及可读存储介质 |
CN108491818A (zh) * | 2018-03-30 | 2018-09-04 | 北京三快在线科技有限公司 | 目标物体的检测方法、装置及电子设备 |
CN109731329A (zh) * | 2019-01-31 | 2019-05-10 | 网易(杭州)网络有限公司 | 一种针对游戏中虚拟组件的放置位置的确定方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110160579A (zh) | 2019-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106412249B (zh) | 跌落信息的检测方法及装置 | |
CN106357897B (zh) | 跌落信息的获取方法及装置 | |
CN109359324B (zh) | 一种基于bim的数字化建筑审图方法及装置 | |
CN105005457B (zh) | 地理位置展示方法及装置 | |
CN107480533B (zh) | 一种漏洞修复的方法、装置及存储介质 | |
CN107122761B (zh) | 指纹图像处理方法及相关产品 | |
CN106203459B (zh) | 图片处理方法及装置 | |
CN107229544B (zh) | 屏幕检测方法及相关产品 | |
CN110160579B (zh) | 一种物体检测的方法及相关装置 | |
CN106646440B (zh) | 一种跌落高度检测方法及装置 | |
CN107741897A (zh) | 应用程序流畅度检测方法、装置及智能终端 | |
CN105653220B (zh) | 一种远程控制中的屏幕数据显示方法及装置 | |
CN110865812A (zh) | 一种用户界面识别方法和装置 | |
CN107276602B (zh) | 射频干扰处理方法、装置、存储介质及终端 | |
CN108021224A (zh) | 屏幕点亮方法及装置 | |
CN111555938A (zh) | 一种信息处理的方法以及相关装置 | |
CN109885490B (zh) | 一种图片对比方法和装置 | |
CN107422298A (zh) | 蓝牙测距参数优化方法、***、存储介质及移动终端 | |
CN104809055B (zh) | 一种基于云平台的应用程序测试方法和装置 | |
CN104820546B (zh) | 功能信息展示方法和装置 | |
CN109451130B (zh) | 移动终端测试方法、装置、移动终端及存储介质 | |
CN106231575B (zh) | 短信息处理方法及装置 | |
CN109460181A (zh) | 锁屏壁纸显示方法、装置、移动终端及存储介质 | |
CN103473010B (zh) | 一种辅助绘画的方法和装置 | |
CN110069407B (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 |