CN115880450A - 围栏获取方法、装置、电子设备及计算机可读存储介质 - Google Patents
围栏获取方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115880450A CN115880450A CN202211632105.XA CN202211632105A CN115880450A CN 115880450 A CN115880450 A CN 115880450A CN 202211632105 A CN202211632105 A CN 202211632105A CN 115880450 A CN115880450 A CN 115880450A
- Authority
- CN
- China
- Prior art keywords
- temporary
- fence
- end point
- point
- starting point
- 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.)
- Pending
Links
Images
Abstract
本申请提供一种围栏获取方法、装置、电子设备及计算机可读存储介质,在预设建造区域处于可建造状态时,根据用户作用于预设建造区域的第一点选操作确定新围栏的临时起点,并根据临时起点确定新围栏的绘制起点。接收用户作用于预设建造区域的第二点选操作,并根据第二点选操作确定新围栏的临时终点;判断绘制起点与临时终点之间的直线路径是否符合建造规则;若绘制起点与临时终点之间的直线路径符合建造规则,将临时终点确定为新围栏的绘制终点。最后沿绘制起点和绘制终点之间的直线路径加载渲染代码,以输出显示新围栏。基于网格拓展,使得用户能够在虚拟场景内自由、实时、动态创建封闭式区域,使各个区域相互独立,形成物理隔断。
Description
技术领域
本申请涉及图像处理技术领域,尤其涉及一种围栏获取方法、装置、电子设备及计算机可读存储介质。
背景技术
近年来,随着虚拟拼搭软件的日益发展,用户在虚拟场景里面搭建各种场景元素构成的复杂场景,为了使场景不同区域相互独立,便诞生需要对场景进行划分封闭区域的需求,来隔断不同区域之间的物理影响。
现有的网格拓展方案是:软件开发者预先划分好几种封闭区域,由于是事先设定的封闭区域,封闭的围栏的围合形状不能做到丰富多样。这种做法极大程度地限制了用户自由创作的空间,只能在开发者划分好的区域内进行创作,限制大、不灵活、样式单一,难以满足用户的不同需求。
可见,现有的网格拓展方案存在样式单一、适用性较差的技术问题。
发明内容
为了解决上述技术问题,本申请实施例提供了一种围栏获取方法、装置、电子设备及计算机可读存储介质。
第一方面,本申请实施例提供了一种围栏获取方法,所述方法包括:
在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点;
根据所述临时起点确定所述新围栏的绘制起点;
接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;
判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则;
若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点;
沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。
根据本申请的一种具体实施方式,所述根据所述临时起点确定所述新围栏的绘制起点的步骤,包括:
判断所述新围栏的临时起点是否处于已有围栏的端点占用区域;
若所述新围栏的临时起点处于已有围栏的端点占用区域,则将所述已有围栏的距离所述临时起点最近的端点作为所述新围栏的绘制起点;
若所述临时起点未处于所述已有围栏的端点占用区域,则将所述临时起点作为所述新围栏的绘制起点。
根据本申请的一种具体实施方式,所述判断所述新围栏的临时起点是否处于已有围栏的端点占用区域的步骤,包括:
判断所述新围栏的临时起点与所述预设建造区域内已有围栏的任一端点的距离是否小于距离阈值;
若所述新围栏的临时起点与已有围栏的任一端点的距离小于所述距离阈值,则判定所述新围栏的临时起点处于已有围栏的端点占用区域;
若所述新围栏的临时起点与已有围栏的任一端点的距离大于或等于所述距离阈值,则判定所述新围栏的临时起点未处于所述已有围栏的端点占用区域。
根据本申请的一种具体实施方式,所述判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则的步骤,包括:
构建所述绘制起点与所述临时终点之间的直线路径对应的临时包围盒;
判断所述临时包围盒与所述预设建造区域内已有围栏的固定包围盒是否存在空间重叠或者空间交叉;
若所述临时包围盒与固定包围盒不存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径符合建造规则;
若所述临时包围盒与固定包围盒存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径不符合建造规则,跳转至重新确定所述新围栏的临时终点的步骤。
根据本申请的一种具体实施方式,所述若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点的步骤,还包括:
若所述绘制起点与所述临时终点之间的直线路径符合建造规则,判断所述绘制起点与所述临时终点之间的直线路径是否与已有围栏的覆盖路径存在交点;
若所述直线路径与所述覆盖路径存在交点,则在所述直线路径与覆盖路径的交点占用区域确定至少一个推荐终点;
若接收到所述用户作用于目标推荐终点的第三点选操作,则将所述目标推荐终点确定为所述新围栏的绘制终点,其中,所述目标推荐终点为任一推荐终点。
根据本申请的一种具体实施方式,所述若所述直线路径与所述覆盖路径存在交点,则在所述直线路径与覆盖路径的交点占用区域确定至少一个推荐终点的步骤,包括:
计算所述覆盖路径上各端点与所述临时终点之间的端点距离;
查找所述覆盖路径上与所述临时终点的端点距离满足预设条件的目标端点;
将所述目标端点确定为所述推荐终点。
根据本申请的一种具体实施方式,所述沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏的步骤,包括:
获取用户选择的目标围栏样式;
沿所述绘制起点和所述绘制终点之间的直线路径加载对应所述目标围栏样式的渲染代码,以输出显示所述目标围栏样式的所述新围栏。
第二方面,本申请实施例提供了一种围栏获取装置,所述装置包括:
起点确定模块,用于在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点,根据所述临时起点确定所述新围栏的绘制起点;
终点确定模块,用于接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;
判断模块,用于判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则,若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点;
渲染模块,用于沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。
第三方面,本申请实施例提供了一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行第一方面中任一项所述的围栏获取方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行第一方面中任一项所述的围栏获取方法。
上述本申请提供的围栏获取方法、装置、电子设备及计算机可读存储介质,在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点,并根据所述临时起点确定所述新围栏的绘制起点。接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则;若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点。最后沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。基于网格拓展,使得用户能够在虚拟场景内自由、实时、动态创建封闭式区域,使各个区域相互独立,形成物理隔断。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对本申请保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1示出了本申请实施例提供的一种围栏获取方法的流程示意图;
图2示出了本申请实施例提供的围栏获取方法的流程的一具体实施过程示意图;
图3a-图3f示出了本申请实施例提供的围栏获取方法的围栏示意图;
图4示出了本申请实施例提供的一种围栏获取装置的结构示意图;
图5示出了本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下文中,可在本申请的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本申请的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本申请的各种实施例中被清楚地限定。
实施例1
本公开实施例提供了一种围栏获取方法。
具体的,参见图1,所述围栏获取方法主要包括以下步骤:
步骤S101,在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点;
本实施例提供的围栏获取方法,应用于电子设备,电子设备加载有虚拟拼搭软件。用户使用虚拟拼搭软件创建虚拟场景,在虚拟场景内搭建围栏等元素,实现空间划分和围合。本申请主要提供一种获取围栏的方案,用于实现一个围栏的获取,该围栏可以是虚拟场景中的首个围栏也可以为非首个围栏,将该待创建的围栏定义为新围栏,将该围栏所处的区域定义为预设建造区域。
预设建造区域可分为不可建造状态和可建造状态,不可建造状态可以为由于元素较多、区域锁定等因素而处于用户无法进行编辑建造的状态,可建造状态则可以是空白待建造或者是元素尚未达到阈值的状态。
如图2所示为一详细的围栏获取方法的过程示意图,用户在通过电子设备建造围栏之前,需要确定该预设建造区域处于可建造状态。建造围栏的过程,可以主要分为三个阶段:确定绘制起点、确定绘制终点、绘制围栏,预设建造区域内的围栏可以如图3a所示,单个围栏的示意图如图3b所示,两个及以上的围栏示意图如图3c至图3e所示。
用户在预设建造区域内确定其想建造的新围栏的目标位置后,在该起点位置施加第一点选操作,该第一点选操作可以为手持鼠标将鼠标指针移动至目标位置后施加的单击操作或者停留操作。电子设备接收到第一点选操作后,将第一点选操作对应的目标位置确定为临时起点。
步骤S102,根据所述临时起点确定所述新围栏的绘制起点;
电子设备在确定用户指示的临时起点后,还需要进一步确定该临时起点是否可以直接作为新围栏的绘制起点。若临时起点位于其他已有围栏端点的较近区域,或者该临时起点位于其他已有围栏上,则该临时起点可能无法直接作为新围栏的绘制起点以避免围栏间交叉的问题,可以选择该临时起点的其他就近点来作为临时起点。
根据本申请的一种具体实施方式,所述根据所述临时起点确定所述新围栏的绘制起点的步骤,包括:
判断所述新围栏的临时起点是否处于已有围栏的端点占用区域;
若所述新围栏的临时起点处于已有围栏的端点占用区域,则将所述已有围栏的距离所述临时起点最近的端点作为所述新围栏的绘制起点;
若所述临时起点未处于所述已有围栏的端点占用区域,则将所述临时起点作为所述新围栏的绘制起点。
虚拟搭建软件的虚拟场景内,为避免元素位置过于杂乱,可以划定最小制图区域,在每个最小制图区内的元素集中于一个位点,类似于终端桌面的图标摆放限制方案。虚拟场景内若存在已有围栏,则已有围栏的各端点将位于一个最小制图区域内,将每个端点所在的最小制图区域确定为对应端点的端点占用区域。电子设备先判断临时起点是否处于已有围栏的端点占用区域,若处于已有围栏的某一端点的端点占用区域,则可以直接将靠临时起点就近的该端点作为新围栏的绘制起点。若临时起点未处于任一端点的端点占用区域,则可以直接将该临时起点作为新围栏的绘制起点。这样也可以避免出现用户输入时因为误差导致无法与已有围栏进行完全匹配出现缝隙连接点对不准的体验问题。
进一步的,所述判断所述新围栏的临时起点是否处于已有围栏的端点占用区域的步骤,包括:
判断所述新围栏的临时起点与所述预设建造区域内已有围栏的任一端点的距离是否小于距离阈值;
若所述新围栏的临时起点与已有围栏的任一端点的距离小于所述距离阈值,则判定所述新围栏的临时起点处于已有围栏的端点占用区域;
若所述新围栏的临时起点与已有围栏的任一端点的距离大于或等于所述距离阈值,则判定所述新围栏的临时起点未处于所述已有围栏的端点占用区域。
设定一距离阈值,该距离阈值可以为最小制图区域内距离中心点最大的距离值或者该最小制图区域的最大内径距离值。若临时起点与已有围栏的任一端点的距离均小于该距离阈值,则可以判定该新围栏的临时起点处于已有围栏的端点占用区域,反之,则判定该围栏的临时起点未处于已有围栏的端点占用区域。
步骤S103,接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;
依据上述步骤确定新围栏的绘制起点后,接下来确定新围栏的绘制终点。类似的,用户在预设建造区域内的意向终点位置施加第二点选操作,电子设备将第二点选操作指向的位置作为新围栏的临时终点。该第二点选操作可以为手持鼠标将鼠标指针移动至目标位置后施加的单击操作或者停留操作。
步骤S104,判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则;
步骤S105,若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点;
虚拟搭建软件提供围栏绘制功能,考虑到围栏之间不能出现如图3f所示的重叠或者跨越的情况,会预先设定一些建造规则,仅允许用户建造符合建造规则的围栏。用户在预设建造区域内确定临时终点后,绘制起点和临时终点之间的直线路径可能就是新围栏的覆盖路径,确定该临时终点能否作为新围栏的绘制终点,还需要判断该绘制起点和临时终点之间的直线路径是否符合建造规则。若直线路径符合建造规则,则将临时终点确定为新围栏的绘制终点,否则就可能需要用户重新选择一个临时起点作为绘制终点,或者由电子设备就近推荐一个符合建造规则的临时起点作为绘制终点。
根据本申请的一种具体实施方式,所述判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则的步骤,包括:
构建所述绘制起点与所述临时终点之间的直线路径对应的临时包围盒;
判断所述临时包围盒与所述预设建造区域内已有围栏的固定包围盒是否存在空间重叠或者空间交叉;
若所述临时包围盒与固定包围盒不存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径符合建造规则;
若所述临时包围盒与固定包围盒存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径不符合建造规则,跳转至重新确定所述新围栏的临时终点的步骤。
本实施方式采用通过包围盒在空间的交叉状态的方式来判断绘制起点与临时终点之间的直线路径是否符合建造规则。获取该绘制起点与临时终点之间的直线路径对应的包围盒定义为临时包围盒,已有围栏对应的包围盒定义为固定包围盒,判断该临时包围盒与固定包围盒之间是否存在空间重叠或者空间交叉,若存在则判定为不符合建造规则,否则就判定为符合建造规则。若不符合建造规则,则需要重新确定该新围栏的临时终点,以确定该新围栏的符合建造规则的绘制终点。
当然,确定临时起点对应的直线路径符合建造规则之后,同临时起点确定绘制起点的步骤,也可以增设判断临时终点是否处于已有围栏的端点占用区域,若处于已有围栏的端点占用区域,则可以直接将就近的端点作为绘制终点,若不处于已有围栏的端点占用区域,可以直接将该临时终点作为绘制终点。
步骤S106,沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。
依据上述步骤确定了新围栏的绘制起点和绘制终点之后,即可将绘制起点与绘制终点之间的而直线路径江仔渲染代码,渲染显示该新围栏。
在上述实施例的基础上,还可以增设判断围栏是否相交的方案。根据本申请的一种具体实施方式,所述若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点的步骤,还包括:
若所述绘制起点与所述临时终点之间的直线路径符合建造规则,判断所述绘制起点与所述临时终点之间的直线路径是否与已有围栏的覆盖路径存在交点;
若所述直线路径与所述覆盖路径存在交点,则在所述直线路径与覆盖路径的交点占用区域确定至少一个推荐终点;
若接收到所述用户作用于目标推荐终点的第三点选操作,则将所述目标推荐终点确定为所述新围栏的绘制终点,其中,所述目标推荐终点为任一推荐终点。
进一步的,所述若所述直线路径与所述覆盖路径存在交点,则在所述直线路径与覆盖路径的交点占用区域确定至少一个推荐终点的步骤,包括:
计算所述覆盖路径上各端点与所述临时终点之间的端点距离;
查找所述覆盖路径上与所述临时终点的端点距离满足预设条件的目标端点;
将所述目标端点确定为所述推荐终点。
如图2所示,若临时终点对应的直线路径与已有围栏的覆盖路径存在交点,则以此绘制的新围栏与已有围栏之间会存在交点,此时可以通过推荐终点的方式来确定绘制终点。电子设备根据覆盖路径上各端点与所述临时终点之间的端点距离,选择距离最近或者较近的几个目标端点作为推荐终点,将推荐终点显示给用户,由用户选择意向的绘制终点,将用户施加了第三点选操作的推荐终点作为绘制终点。
此外,根据本申请的一种具体实施方式,还增设了围栏样式的选择操作。所述沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏的步骤,包括:
获取用户选择的目标围栏样式;
沿所述绘制起点和所述绘制终点之间的直线路径加载对应所述目标围栏样式的渲染代码,以输出显示所述目标围栏样式的所述新围栏。
用户可以选择其意向的目标围栏样式,电子设备通过选择列表内展示用户可选择的围栏样式,例如横截面为矩形、三角形或者其他在规则形状基础上带凹凸的,或者用户自定义的围栏样式等。在加载新围栏的渲染代码时可以加载对应该目标围栏样式的渲染代码,进而输出显示目标围栏样式的新围栏,这样可以进一步丰富围栏绘制的多样性和自由度。
综上,本实施例提供的围栏获取方法是一种基于网格拓展,能自由、实时、动态创建封闭式区域的方法,根据用户的想法自由创作出丰富样式的封闭式区域,可以在虚拟场景中根据用户意愿划分多个封闭区域,使各个区域相互独立,形成物理隔断。极大的丰富虚拟场景,极大的满足用户的创作灵感,还可以减少开发成本和提高开发效率,可以让用户自己搭建。
实施例2
参见图4,为本申请实施例提供的一种围栏获取装置的模块框图。如图4所示,所述围栏获取装置400主要包括:
起点确定模块401,用于在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点,根据所述临时起点确定所述新围栏的绘制起点;
终点确定模块402,用于接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;
判断模块403,用于判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则,若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点;
渲染模块404,用于沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。
根据本申请的一种具体实施方式,所述起点确定模块401具体用于:
判断所述新围栏的临时起点是否处于已有围栏的端点占用区域;
若所述新围栏的临时起点处于已有围栏的端点占用区域,则将所述已有围栏的距离所述临时起点最近的端点作为所述新围栏的绘制起点;
若所述临时起点未处于所述已有围栏的端点占用区域,则将所述临时起点作为所述新围栏的绘制起点。
根据本申请的一种具体实施方式,所述起点确定模块401具体用于:
判断所述新围栏的临时起点与所述预设建造区域内已有围栏的任一端点的距离是否小于距离阈值;
若所述新围栏的临时起点与已有围栏的任一端点的距离小于所述距离阈值,则判定所述新围栏的临时起点处于已有围栏的端点占用区域;
若所述新围栏的临时起点与已有围栏的任一端点的距离大于或等于所述距离阈值,则判定所述新围栏的临时起点未处于所述已有围栏的端点占用区域。
根据本申请的一种具体实施方式,所述判断模块403用于:
构建所述绘制起点与所述临时终点之间的直线路径对应的临时包围盒;
判断所述临时包围盒与所述预设建造区域内已有围栏的固定包围盒是否存在空间重叠或者空间交叉;
若所述临时包围盒与固定包围盒不存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径符合建造规则;
若所述临时包围盒与固定包围盒存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径不符合建造规则,跳转至重新确定所述新围栏的临时终点的步骤。
根据本申请的一种具体实施方式,所述终点确定模块402用于:
若所述绘制起点与所述临时终点之间的直线路径符合建造规则,判断所述绘制起点与所述临时终点之间的直线路径是否与已有围栏的覆盖路径存在交点;
若所述直线路径与所述覆盖路径存在交点,则在所述直线路径与覆盖路径的交点占用区域确定至少一个推荐终点;
若接收到所述用户作用于目标推荐终点的第三点选操作,则将所述目标推荐终点确定为所述新围栏的绘制终点,其中,所述目标推荐终点为任一推荐终点。
根据本申请的一种具体实施方式,所述终点确定模块402用于:
计算所述覆盖路径上各端点与所述临时终点之间的端点距离;
查找所述覆盖路径上与所述临时终点的端点距离满足预设条件的目标端点;
将所述目标端点确定为所述推荐终点。
根据本申请的一种具体实施方式,所述渲染模块404用于:
获取用户选择的目标围栏样式;
沿所述绘制起点和所述绘制终点之间的直线路径加载对应所述目标围栏样式的渲染代码,以输出显示所述目标围栏样式的所述新围栏。
上述本申请提供的围栏获取装置,在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点,并根据所述临时起点确定所述新围栏的绘制起点。接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则;若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点。最后沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。基于网格拓展,使得用户能够在虚拟场景内自由、实时、动态创建封闭式区域,使各个区域相互独立,形成物理隔断。所提供的围栏获取装置的具体实施过程可以参见围栏获取方法的具体实施过程,在此不再一一赘述。
实施例3
此外,本公开实施例提供了一种电子设备,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行上述方法实施例1所提供的围栏获取方法。
具体的,如图5所示,本实施例提供的电子设备500包括:
射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本申请实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、可穿戴设备、以及计步器等。
应理解的是,本申请实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收发电子邮件、浏览网页和访问流式媒体等。
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(Graphics Processing Unit,GPU)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获电子设备(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以视频播放在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
显示单元506用于视频播放由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶视频播放器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板5061。
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测电子设备和触摸控制器两个部分。其中,触摸检测电子设备检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测电子设备上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此处不做限定。
接口单元508为外部电子设备与电子设备500连接的接口。例如,外部电子设备可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的电子设备的端口、音频输入/输出(I/O)端口、视频I/O端口、耳机端口等等。接口单元508可以用于接收来自外部电子设备的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部电子设备之间传输数据。
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
此外,本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上述实施例所述的围栏获取方法。
在本实施例中,计算机可读存储介质可以为只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
上述本申请提供的电子设备及计算机可读存储介质,在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点,并根据所述临时起点确定所述新围栏的绘制起点。接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则;若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点。最后沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。基于网格拓展,使得用户能够在虚拟场景内自由、实时、动态创建封闭式区域,使各个区域相互独立,形成物理隔断。所提供的电子设备及计算机可读存储介质的具体实施过程,可以参见上述实施例提供的围栏获取方法的具体实施过程,在此不再一一赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。
Claims (10)
1.一种围栏获取方法,其特征在于,所述方法包括:
在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点;
根据所述临时起点确定所述新围栏的绘制起点;
接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;
判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则;
若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点;
沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。
2.根据权利要求1所述的方法,其特征在于,所述根据所述临时起点确定所述新围栏的绘制起点的步骤,包括:
判断所述新围栏的临时起点是否处于已有围栏的端点占用区域;
若所述新围栏的临时起点处于已有围栏的端点占用区域,则将所述已有围栏的距离所述临时起点最近的端点作为所述新围栏的绘制起点;
若所述临时起点未处于所述已有围栏的端点占用区域,则将所述临时起点作为所述新围栏的绘制起点。
3.根据权利要求2所述的方法,其特征在于,所述判断所述新围栏的临时起点是否处于已有围栏的端点占用区域的步骤,包括:
判断所述新围栏的临时起点与所述预设建造区域内已有围栏的任一端点的距离是否小于距离阈值;
若所述新围栏的临时起点与已有围栏的任一端点的距离小于所述距离阈值,则判定所述新围栏的临时起点处于已有围栏的端点占用区域;
若所述新围栏的临时起点与已有围栏的任一端点的距离大于或等于所述距离阈值,则判定所述新围栏的临时起点未处于所述已有围栏的端点占用区域。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则的步骤,包括:
构建所述绘制起点与所述临时终点之间的直线路径对应的临时包围盒;
判断所述临时包围盒与所述预设建造区域内已有围栏的固定包围盒是否存在空间重叠或者空间交叉;
若所述临时包围盒与固定包围盒不存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径符合建造规则;
若所述临时包围盒与固定包围盒存在空间重叠或者空间交叉,则判定所述绘制起点与所述临时终点之间的直线路径不符合建造规则,跳转至重新确定所述新围栏的临时终点的步骤。
5.根据权利要求4所述的方法,其特征在于,所述若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点的步骤,还包括:
若所述绘制起点与所述临时终点之间的直线路径符合建造规则,判断所述绘制起点与所述临时终点之间的直线路径是否与已有围栏的覆盖路径存在交点;
若所述直线路径与所述覆盖路径存在交点,则在所述直线路径与覆盖路径的交点占用区域确定至少一个推荐终点;
若接收到所述用户作用于目标推荐终点的第三点选操作,则将所述目标推荐终点确定为所述新围栏的绘制终点,其中,所述目标推荐终点为任一推荐终点。
6.根据权利要求5所述的方法,其特征在于,所述若所述直线路径与所述覆盖路径存在交点,则在所述直线路径与覆盖路径的交点占用区域确定至少一个推荐终点的步骤,包括:
计算所述覆盖路径上各端点与所述临时终点之间的端点距离;
查找所述覆盖路径上与所述临时终点的端点距离满足预设条件的目标端点;
将所述目标端点确定为所述推荐终点。
7.根据权利要求1所述的方法,其特征在于,所述沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏的步骤,包括:
获取用户选择的目标围栏样式;
沿所述绘制起点和所述绘制终点之间的直线路径加载对应所述目标围栏样式的渲染代码,以输出显示所述目标围栏样式的所述新围栏。
8.一种围栏获取装置,其特征在于,所述装置包括:
起点确定模块,用于在预设建造区域处于可建造状态时,根据用户作用于所述预设建造区域的第一点选操作确定新围栏的临时起点,根据所述临时起点确定所述新围栏的绘制起点;
终点确定模块,用于接收所述用户作用于所述预设建造区域的第二点选操作,并根据所述第二点选操作确定所述新围栏的临时终点;
判断模块,用于判断所述绘制起点与所述临时终点之间的直线路径是否符合建造规则,若所述绘制起点与所述临时终点之间的直线路径符合建造规则,将所述临时终点确定为所述新围栏的绘制终点;
渲染模块,用于沿所述绘制起点和所述绘制终点之间的直线路径加载渲染代码,以输出显示所述新围栏。
9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器运行时执行权利要求1至7中任一项所述的围栏获取方法。
10.一种计算机可读存储介质,其特征在于,其存储有计算机程序,所述计算机程序在处理器上运行时执行权利要求1至7中任一项所述的围栏获取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211632105.XA CN115880450A (zh) | 2022-12-19 | 2022-12-19 | 围栏获取方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211632105.XA CN115880450A (zh) | 2022-12-19 | 2022-12-19 | 围栏获取方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115880450A true CN115880450A (zh) | 2023-03-31 |
Family
ID=85753939
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211632105.XA Pending CN115880450A (zh) | 2022-12-19 | 2022-12-19 | 围栏获取方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115880450A (zh) |
-
2022
- 2022-12-19 CN CN202211632105.XA patent/CN115880450A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109614061B (zh) | 显示方法及终端 | |
CN109871164B (zh) | 一种消息发送方法及终端设备 | |
CN110874147B (zh) | 一种显示方法及电子设备 | |
CN111142723B (zh) | 图标移动方法及电子设备 | |
CN110109604B (zh) | 一种应用界面显示方法及移动终端 | |
CN109828731B (zh) | 一种搜索方法及终端设备 | |
CN109933252B (zh) | 一种图标移动方法及终端设备 | |
CN110209452B (zh) | 移动终端的页面显示方法及移动终端 | |
CN111176764B (zh) | 显示控制方法和终端设备 | |
CN108681427B (zh) | 一种访问权限控制的方法及终端设备 | |
CN111026350A (zh) | 一种显示控制方法及电子设备 | |
CN109408072B (zh) | 一种应用程序删除方法及终端设备 | |
CN111163224B (zh) | 一种语音消息播放方法及电子设备 | |
CN111064848B (zh) | 图片显示方法及电子设备 | |
CN110703972B (zh) | 一种文件控制方法及电子设备 | |
CN112558838B (zh) | 应用图标的布局方法、装置、电子设备和可读存储介质 | |
CN111127595A (zh) | 图像处理方法及电子设备 | |
CN108762606B (zh) | 一种屏幕解锁方法及终端设备 | |
CN111026480A (zh) | 一种内容显示方法及电子设备 | |
CN110908555A (zh) | 一种图标显示方法及电子设备 | |
CN111124345A (zh) | 一种音频源处理的方法及移动终端 | |
CN110647277A (zh) | 一种控制方法及终端设备 | |
CN110531903B (zh) | 屏幕显示方法、终端设备和存储介质 | |
CN110167006B (zh) | 一种控制应用程序使用sim卡的方法及终端设备 | |
CN110012152B (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 |