1.一种3D模型选择方法,其特征在于,包括以下步骤:
步骤S1:触发点击事件后,发射碰撞检测面;
步骤S2:返回所述碰撞检测面碰撞检测到的所有模型名称;
步骤S3:将步骤S2检测并返回的模型显示给用户以供用户选择。
2.根据权利要求1所述的3D模型选择方法,其特征在于,步骤S1具体为:
当鼠标点击或触摸操作体触击触摸屏触发点击事件后,以点击处为起点发射一个以碰撞检测射线为法向且面积大于0的碰撞检测面射向目标模型所在区域,使目标模型包含在检测范围当中,该检测面沿直线向显示平面内侧移动;
其中,该检测面形状设置为圆形或矩形或其他面积大于0的闭合图形,其大小可根据模型精细度进行设置和调整。
3.根据权利要求2所述的3D模型选择方法,其特征在于,步骤S2具体为:
所述碰撞检测面碰撞到任一模型后,记录碰撞到的模型名称,且所述碰撞检测面碰撞到模型后不会停止检测,而是继续沿着所述射线方向移动,直到穿透在所述射线方向上碰撞到的所有模型,形成碰撞检测体,返回所有碰撞检测到的模型的名称。
4.根据权利要求1-3任一项所述的3D模型选择方法,其特征在于,步骤S3具体为:
分析在步骤S2返回的模型名称,将对应的模型进行简单或高精度的渲染,并展示在预览窗口中,或者在预览窗口中仅展示简化模型;
所述预览窗口中的模型自动以一定的速率旋转,方便用户查看;
模型名称及其对应的预览模型同时出现且共同构成一个列表项显示给用户。
5.根据权利要求4所述的3D模型选择方法,其特征在于:
所有检测到的模型按照体积由小到大的顺序自上而下排列在列表中。
6.根据权利要求4所述的3D模型选择方法,其特征在于:
在列表区域内可以按住鼠标或用触摸操作体按住上下滑动,以显示更多的列表内容,列表右侧以滑动条表示列表内容的总量以及目前所显示内容的位置;由此,用户通过浏览模型列表,获得模型名称及其预览信息,从而找到目标模型,点击对应列表项便可完成对目标模型的选择;
同时,列表具备多项选择的功能,点击某个列表项时,该列表项高亮,表示已经选中,再次点击该项后取消选中状态。
7.根据权利要求1-6任一项所述的3D模型选择方法,其特征在于,还包括步骤S4:
当选中所有希望选择的模型后,点击确定按钮,完成选择,列表自动关闭,所选模型变为选中状态;
当未获得目标模型需要重新检测模型或放弃选择目标模型时,点击列表以外的区域或点击列表上的“关闭”或“取消”按钮,关闭模型列表,以进行下一步操作。
8.一种3D模型选择装置,其特征在于,包括以下单元:
发射单元,用于触发点击事件后发射碰撞检测面;
检测单元,用于返回所述碰撞检测面碰撞检测到的所有模型名称;
输出单元,用于将检测单元检测并返回的模型显示给用户以供用户选择。
9.根据权利要求8所述的3D模型选择装置,其特征在于,所述发射单元用于执行以下功能:
当鼠标点击或触摸操作体触击触摸屏触发点击事件后,以点击处为起点发射一个以碰撞检测射线为法向且面积大于0的碰撞检测面射向目标模型所在区域,使目标模型包含在检测范围当中,该检测面沿直线向向显示平面内侧移动;
其中,该检测面形状设置为圆形或矩形或其他面积大于0的闭合图形,其大小可根据模型精细度进行设置和调整。
10.根据权利要求9所述的3D模型选择装置,其特征在于,所述检测单元用于执行以下功能:
所述碰撞检测面碰撞到任一模型后,记录碰撞到的模型名称,且所述碰撞检测面碰撞到模型后不会停止检测,而是继续沿着所述射线方向移动,直到穿透在所述射线方向上碰撞到的所有模型,形成碰撞检测体,返回所有碰撞检测到的模型的名称。
11.根据权利要求8-10任一项所述的3D模型选择装置,其特征在于,所述输出单元用于执行以下功能:分析在步骤S2返回的模型名称,将对应的模型进行简单或高精度的渲染,并展示在预览窗口中,或者在预览窗口中仅展示简化模型;
所述预览窗口中的模型自动以一定的速率旋转,方便用户查看;
模型名称及其对应的预览模型同时出现且共同构成一个列表项显示给用户。
12.根据权利要求11所述的3D模型选择装置,其特征在于:
所有检测到的模型按照体积由小到大的顺序自上而下排列在列表中。
13.根据权利要求11所述的3D模型选择装置,其特征在于:
在列表区域内可以按住鼠标或用触摸操作体按住上下滑动,以显示更多的列表内容,列表右侧以滑动条表示列表内容的总量以及目前所显示内容的位置;由此,用户通过浏览模型列表,获得模型名称及其预览信息,从而找到目标模型,点击对应列表项便可完成对目标模型的选择;
同时,列表具备多项选择的功能,点击某个列表项时,该列表项高亮,表示已经选中,再次点击该项后取消选中状态。
14.根据权利要求8一13任一项所述的3D模型选择装置,其特征在于,还包括选定单元,用于执行以下功能:
当选中所有希望选择的模型后,点击确定按钮,完成选择,列表自动关闭,所选模型变为选中状态;
当未获得目标模型需要重新检测模型或放弃选择目标模型时,点击列表以外的区域或点击列表上的“关闭”或“取消”按钮,关闭模型列表,以进行下一步操作。