模型拾取方法技术

技术编号:39501527 阅读:13 留言:0更新日期:2023-11-24 11:32
本公开提供了一种模型拾取方法

【技术实现步骤摘要】
模型拾取方法、装置、电子设备及存储介质


[0001]本公开涉及计算机
,尤其涉及一种模型拾取方法

装置

电子设备及存储介质


技术介绍

[0002]随着计算机技术的发展,需要展示三维场景信息的需求越来越多

在三维场景中进行点击模型拾取为常见操作
。Three.js(
一个三维场景创建工具
)
在基于浏览器运行渲染的三维场景开发中大量使用,当三维场景较为复杂时,可能存在同一个像素位置需要渲染多个物体的情况

[0003]在相关技术中,上述情形中同一视角下同位置会有大量重叠相交的模型

此时,
Three.js
无法确定渲染哪个物体,需要用户通过鼠标等进行模型选择

但是,由于模型重叠,用户往往无法精准选取目标模型,从而导致目标模型与鼠标实际拾取的模型不匹配,模型拾取结果不可控

不准确的情况,降低用户体验并浪费渲染性能

因此,目前亟需一种拾取模型方法

[0004]需要说明的是,在上述
技术介绍
部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息


技术实现思路

[0005]本公开提供一种模型拾取方法

装置

电子设备及存储介质,至少在一定程度上克服相关技术无法精准选取目标模型,从而导致目标模型与鼠标实际拾取的模型不匹配,模型拾取结果不可控

不准确的情况,降低用户体验并浪费渲染性能的问题

[0006]本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得

[0007]根据本公开的一个方面,提供了一种模型拾取方法,包括:确定目标位置与当前视角相机位置之间的各个待拾取模型;根据预设距离筛选条件,从该待拾取模型中筛选得到各个重叠模型;确定各个重叠模型对应的多边形偏移单位,该多边形偏移单位用于描述对应的重叠模型与该当前视角相机位置之间的偏移量;将该多边形偏移单位最小的一个重叠模型,作为拾取目标模型

[0008]在一些示例性实施例中,确定各个重叠模型对应的多边形偏移单位,包括:确定各个重叠模型对应的该多边形偏移单位与多边形偏移因子;
[0009]其中,将该多边形偏移单位最小的一个重叠模型,作为拾取目标模型,包括:当存在多个重叠模型对应的多边形偏移单位均为最小时,将该多边形偏移单位最小的重叠模型中该多边形偏移因子最小的一个,作为该拾取目标模型

[0010]在一些示例性实施例中,根据预设距离筛选条件,从该待拾取模型中筛选得到各个重叠模型,包括:确定各个待拾取模型中与该目标位置之间距离最近的第一待拾取模型;确定各个待拾取模型与该第一待拾取模型之间的距离;将该待拾取模型中该距离不大于预
设距离阈值的各个待拾取模型,作为该重叠模型

[0011]在一些示例性实施例中,根据预设距离筛选条件,从该待拾取模型中筛选得到各个重叠模型之前,还包括:根据预设场景条件,从该待拾取模型中筛选得到各个更新后的待拾取模型,该预设场景条件包括模型高度满足预设高度条件以及模型不属于不可见模型中的至少一个;
[0012]其中,根据预设距离筛选条件,从该待拾取模型中筛选得到各个重叠模型,包括:根据该预设距离筛选条件,从该更新后的待拾取模型中筛选得到各个重叠模型

[0013]在一些示例性实施例中,确定目标位置与当前视角相机位置之间的各个待拾取模型,包括:创建一条从该目标位置发射至该当前视角相机位置的射线;将该射线经过的各个模型作为该待拾取模型

[0014]在一些示例性实施例中,本公开实施例提供的模型拾取方法,还可以包括:根据射线经过各个待拾取模型的从先到后的次序,对各个待拾取模型进行排序,得到待拾取模型数组;
[0015]其中,根据预设距离筛选条件,从该待拾取模型中筛选得到各个重叠模型,包括:根据该预设距离筛选条件对该待拾取模型数组包括的各个待拾取模型进行筛选,得到重叠模型数组,该重叠模型数组中包括的各个重叠模型按照射线经过的从先到后的次序进行排列

[0016]在一些示例性实施例中,确定各个重叠模型对应的该多边形偏移单位与多边形偏移因子之后,本公开实施例提供的模型拾取方法可以包括:确定该重叠模型数组中第一个重叠模型;将该重叠模型数组中第一个重叠模型对应的多边形偏移单位与第二个重叠模型对应的多边形偏移单位进行比较;当该第一个重叠模型对应的多边形偏移单位与该第二个重叠模型对应的多边形偏移单位不相等时,将其中该多边形偏移单位大的一个作为目标重叠模型;或者,当该第一个重叠模型对应的多边形偏移单位与该第二个重叠模型对应的多边形偏移单位相等时,将该第一个重叠模型对应的多边形偏移因子与该第二个重叠模型对应的多边形偏移因子进行比较,将其中该多边形偏移因子大的一个作为目标重叠模型;将该目标重叠模型对应的多边形偏移单位与第三个重叠模型对应的多边形偏移单位进行比较,迭代执行如上操作,直至对最后一个重叠模型进行比较之后,得到迭代更新后的目标重叠模型;将该迭代更新后的目标重叠模型,作为该拾取目标模型

[0017]根据本公开的另一个方面,还提供了一种模型拾取装置,包括:
[0018]待拾取模型确定模块,用于确定目标位置与当前视角相机位置之间的各个待拾取模型;
[0019]重叠模型确定模块,用于根据预设距离筛选条件,从该待拾取模型中筛选得到各个重叠模型;
[0020]多边形偏移单位确定模块,用于确定各个重叠模型对应的多边形偏移单位,该多边形偏移单位用于描述对应的重叠模型与该当前视角相机位置之间的偏移量;
[0021]拾取目标模型确定模块,用于将该多边形偏移单位最小的一个重叠模型,作为拾取目标模型

[0022]在一些示例性实施例中,多边形偏移单位确定模块,用于确定各个重叠模型对应的该多边形偏移单位与多边形偏移因子;
[0023]拾取目标模型确定模块,用于当存在多个重叠模型对应的多边形偏移单位均为最小时,将该多边形偏移单位最小的重叠模型中该多边形偏移因子最小的一个,作为该拾取目标模型

[0024]在一些示例性实施例中,重叠模型确定模块,用于确定各个待拾取模型中与该目标位置之间距离最近的第一待拾取模型;确定各个待拾取模型与该第一待拾取模型之间的距离;将该待拾取模型中该距离不大于预设距离阈值的各个待拾取模型,作为该重叠模型

[0025]在一些示例性实施例中,本公开实施例提供的模型拾取装置,还可包括:待拾取模型更新模块,用于根据预设场景条件,从该待拾取模型中筛选得到各个更新后的待拾取模型,该预设场景条件包括模型高度满足预设高度条件以及模型不属于不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.
一种模型拾取方法,其特征在于,包括:确定目标位置与当前视角相机位置之间的各个待拾取模型;根据预设距离筛选条件,从所述待拾取模型中筛选得到各个重叠模型;确定各个重叠模型对应的多边形偏移单位,所述多边形偏移单位用于描述对应的重叠模型与所述当前视角相机位置之间的偏移量;将所述多边形偏移单位最小的一个重叠模型,作为拾取目标模型
。2.
根据权利要求1所述的模型拾取方法,其特征在于,所述确定各个重叠模型对应的多边形偏移单位,包括:确定各个重叠模型对应的所述多边形偏移单位与多边形偏移因子;其中,所述将所述多边形偏移单位最小的一个重叠模型,作为拾取目标模型,包括:当存在多个重叠模型对应的多边形偏移单位均为最小时,将所述多边形偏移单位最小的重叠模型中所述多边形偏移因子最小的一个,作为所述拾取目标模型
。3.
根据权利要求1所述的模型拾取方法,其特征在于,所述根据预设距离筛选条件,从所述待拾取模型中筛选得到各个重叠模型,包括:确定各个待拾取模型中与所述目标位置之间距离最近的第一待拾取模型;确定各个待拾取模型与所述第一待拾取模型之间的距离;将所述待拾取模型中所述距离不大于预设距离阈值的各个待拾取模型,作为所述重叠模型
。4.
根据权利要求1至3中任意一项所述的模型拾取方法,其特征在于,所述根据预设距离筛选条件,从所述待拾取模型中筛选得到各个重叠模型之前,还包括:根据预设场景条件,从所述待拾取模型中筛选得到各个更新后的待拾取模型,所述预设场景条件包括模型高度满足预设高度条件以及模型不属于不可见模型中的至少一个;其中,所述根据预设距离筛选条件,从所述待拾取模型中筛选得到各个重叠模型,包括:根据所述预设距离筛选条件,从所述更新后的待拾取模型中筛选得到各个重叠模型
。5.
根据权利要求2或3所述的模型拾取方法,其特征在于,所述确定目标位置与当前视角相机位置之间的各个待拾取模型,包括:创建一条从所述目标位置发射至所述当前视角相机位置的射线;将所述射线经过的各个模型作为所述待拾取模型
。6.
根据权利要求5所述的模型拾取方法,其特征在于,所述方法还包括:根据射线经过各个待拾取模型的从先到后的次序,对各个待拾取模型进行排序,得到待拾取模型数组;其中,所述根据...

【专利技术属性】
技术研发人员:万亭君董石磊赵慧杰
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1