一种用于添加碰撞盒的数据处理系统和方法技术方案

技术编号:33477932 阅读:27 留言:0更新日期:2022-05-19 00:52
本申请提供了一种用于添加碰撞盒的数据处理系统和方法,用于为虚拟场景中的虚拟仪表盘上的虚拟按钮自动添加碰撞盒,所述虚拟仪表盘上设置有M个按钮组,第k个按钮组包括以矩阵形成设置的mk*nk个按钮;所述系统包括数据库、处理器和存储有计算机程序的存储器,所述数据库中存储有M个数据表,通过相邻两个按钮之间的最短距离与虚拟手柄的碰撞盒的宽度获取需要添加碰撞盒的面积,避免了用户使用虚拟手柄触碰按钮时,触碰到所述按钮相邻的按钮的碰撞盒本申请能够自动给按钮添加碰撞盒,节约了开发成本。发成本。发成本。

【技术实现步骤摘要】
一种用于添加碰撞盒的数据处理系统和方法


[0001]本申请涉及虚拟现实
,具体涉及一种用于添加碰撞盒的数据处理系统和方法。

技术介绍

[0002]随着VR技术的发展,用户可通过虚拟手柄与虚拟场景进行交互,例如,用户通过虚拟手柄上的按钮按下虚拟场景中的按钮,触发虚拟场景中的开关打开电灯,但是当虚拟场景中的按钮有多个时,在用户使用虚拟手柄的按钮触发虚拟场景的按钮的碰撞盒时,可能会触发到与该按钮相邻的按钮;虚拟场景中的按钮需要添加碰撞盒才能与虚拟手柄上的按钮产生碰撞并触发碰撞事件,但是虚拟场景中的按钮比较多,需要手动添加按钮的碰撞盒,处理起来耗时费力。

技术实现思路

[0003]针对上述技术问题,本申请实施例提供一种碰撞盒自动生成系统和方法,用于至少解决上述技术问题之一。
[0004]本申请采用的技术方案为:本申请实施例提供一种用于添加碰撞盒的数据处理系统,用于为虚拟场景中的虚拟仪表盘上的虚拟按钮自动添加碰撞盒,所述虚拟仪表盘上设置有M个按钮组,第k个按钮组包括以矩阵形成设置的mk*nk个按钮,k的取值为1到M;所述系统本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种用于添加碰撞盒的数据处理系统,其特征在于,用于为虚拟场景中的虚拟仪表盘上的虚拟按钮自动添加碰撞盒,所述虚拟仪表盘上设置有M个按钮组,第k个按钮组包括以矩阵形成设置的mk*nk个按钮,k的取值为1到M;所述系统包括数据库、处理器和存储有计算机程序的存储器,其中,所述数据库中存储有M个数据表,第k个数据表的第i条记录包括(C
ki1
,C
ki2


,C
kink
),C
kij
为第k个按钮组的第i行第j个按钮P
kij
的中心坐标,C
kij
=(x
kij
,y
kij
,z
kij
),i的取值为1到mk,j的取值为1到nk;所述处理器用于遍历数据库,对于任一数据表k,执行计算机程序以实现如下步骤:S10,依次获取位于第i行上的任意相邻两个按钮P
kij
和P
ki(j+1)
之间的最短距离d
ki(j,j+1)
=d
kci(j,j+1)

(d
kij
+d
ki(j+1)
)/2,d
kci(j,j+1)
为P
kij
和P
ki(j+1)
之间的中心距离,基于C
kij
和C
ki(j+1)
确定;d
kij
为按钮P
kij
在中心线方向上的宽度;S11,如果d
ki(j,j+1)
>d
k
,执行S12,否则,执行S13;d
k
为第k个按钮组对应的虚拟手柄的碰撞盒的宽度;S12,判断按钮P
kij
上是否添加了碰撞盒,如果已添加,则仅在按钮P
ki(j+1)
上添加与按钮P
ki(j+1)
相同的碰撞盒,否则,在按钮P
kij
上添加与按钮P
kij
相同的碰撞盒,并且在按钮P
ki(j+1)
上添加与按钮P
ki(j+1)
相同的碰撞盒;S13,获取A
kij
=d
kij

(d
k
‑ꢀ
d
ki(j,j+1)
)*d
kij
/[(d
kij
+d
ki(j+1)
)]以及A
ki(j+1)
=d
ki(j+1)

(d
k
‑ꢀ
d
ki(j,j+1)
)*d
ki(j+1)
/[(d
kij
+d
ki(j+1)
)];S14,获取S
bij
=A
kij
*S
kij
以及S
bi(j+1)
= A
ki(j+1)
* S
ki(j+1)
,S
kij
和S
ki(j+1)
分别为按钮P
kij
和P
ki(j+1)
的面积;S15,分别在按钮P
kij
和P
ki...

【专利技术属性】
技术研发人员:凌莉周伯何卫军
申请(专利权)人:北京华建云鼎科技股份公司
类型:发明
国别省市:

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

1