本申请涉及计算机三维仿真技术领域,具体而言,涉及一种三维模型操作控制方法、装置以及终端设备。
背景技术:
随着个人计算机(personalcomputer,简称pc)端三维仿真领域的不断应用,用户对于pc端的三维交互体验的要求不断提升,三维交互体验成为评价pc端三维仿真效果优劣的关键因素。
目前,pc端的三维交互过程主要基于用户对于键盘、鼠标的操作进行转换,进而在界面的三维控件上呈现操作的效果。然而,具体操作过程中受到视角位置的影响,可能出现操作未响应或响应多次的问题,并且,受限于键盘和鼠标的硬件功能,无法模拟出操作时的阻尼感和卡顿感。
技术实现要素:
本申请的目的之一在于,针对上述现有技术中的不足,提供一种三维模型操作控制方法、装置以及终端设备,以解决现有技术中操作未响应或响应多次以及无法模拟操作时的阻尼感和卡顿感的问题。
为实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供一种三维模型操作控制方法,该方法应用于终端设备,所述终端设备的界面上显示待操作的三维模型,所述三维模型中包括至少一个待操作的可调档位的目标控件,所述方法包括:
在用户使用终端设备的鼠标操作目标控件时,在终端设备的界面上显示操作器,所述操作器包括如下显示元素:操作杆、鼠标指示球。
获取所述用户使用所述鼠标操作目标控件时的操作数据,所述操作数据包括:拖拽方向和拖拽距离。
基于第一映射模型对所述操作数据进行第一映射处理,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球。
基于第二映射模型对所述操作数据进行第二映射处理,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位。
作为一种可选的实现方式,所述基于第一映射模型对所述操作数据进行第一映射处理,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球,包括:
获取所述目标控件的档位数量以及相邻档位间距离。
将所述档位数量、所述相邻档位间距离以及所述操作数据输入所述第一映射模型,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球。
作为一种可选的实现方式,所述第一映射模型用于根据所述档位数量对所述操作杆进行长度平均,得到与所述档位数量相同的多个待选位置,并根据所述相邻档位间距离以及所述操作数据从所述多个待选位置中选择一个待选位置作为所述目标位置。
作为一种可选的实现方式,所述基于第二映射模型对所述操作数据进行第二映射处理,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位,包括:
获取所述目标控件的相邻档位间距离。
将所述相邻档位间距离以及所述操作数据输入所述第二映射模型,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位。
作为一种可选的实现方式,所述第二映射模型用于根据所述操作数据以及所述相邻档位间距离确定是否进行档位切换,并在确定进行档位切换时将所述目标控件上当前档位的上一控件或下一控件作为所述目标控件。
作为一种可选的实现方式,所述操作器还包括:选中框和提示框,所述提示框用于显示选中的目标控件的信息。
所述在终端设备的界面上显示操作器,包括:
根据所述目标控件在所述界面上的位置,确定所述选中框的显示位置。
根据所述目标控件的两端的位置与操作杆的初始位置,确定所述操作器的旋转角度。
将所述操作器按照所述旋转角度进行旋转,并按照旋转后的角度在所述选中框的显示位置上显示所述选中框,并按照所述选中框与操作杆、鼠标指示球以及提示框的预设位置关系,显示所述操作杆、鼠标指示球以及提示框。
作为一种可选的实现方式,所述在终端设备的界面上显示操作器之后,还包括:
隐藏所述终端设备的界面上显示的系统鼠标图标。
第二方面,本申请实施例提供一种三维模型操作控制装置,该装置应用于终端设备,所述终端设备的界面上显示待操作的三维模型,所述三维模型中包括至少一个待操作的可调档位的目标控件,所述装置包括:
显示模块,用于在用户使用终端设备的鼠标操作目标控件时,在终端设备的界面上显示操作器,所述操作器包括如下显示元素:操作杆、鼠标指示球。
获取模块,用于获取所述用户使用所述鼠标操作目标控件时的操作数据,所述操作数据包括:拖拽方向和拖拽距离。
第一映射模块,用于基于第一映射模型对所述操作数据进行第一映射处理,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球。
第二映射模块,用于基于第二映射模型对所述操作数据进行第二映射处理,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位。
作为一种可选的实现方式,所述第一映射模块具体用于:
获取所述目标控件的档位数量以及相邻档位间距离。
将所述档位数量、所述相邻档位间距离以及所述操作数据输入所述第一映射模型,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球。
作为一种可选的实现方式,所述第一映射模型用于根据所述档位数量对所述操作杆进行长度平均,得到与所述档位数量相同的多个待选位置,并根据所述相邻档位间距离以及所述操作数据从所述多个待选位置中选择一个待选位置作为所述目标位置。
作为一种可选的实现方式,所述第二映射模块具体用于:
获取所述目标控件的相邻档位间距离。
将所述相邻档位间距离以及所述操作数据输入所述第二映射模型,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位。
作为一种可选的实现方式,所述第二映射模型用于根据所述操作数据以及所述相邻档位间距离确定是否进行档位切换,并在确定进行档位切换时将所述目标控件上当前档位的上一控件或下一控件作为所述目标控件。
作为一种可选的实现方式,所述操作器还包括:选中框和提示框,所述提示框用于显示选中的目标控件的信息。
所述显示模块具体用于:
根据所述目标控件在所述界面上的位置,确定所述选中框的显示位置。
根据所述目标控件的两端的位置与操作杆的初始位置,确定所述操作器的旋转角度。
将所述操作器按照所述旋转角度进行旋转,并按照旋转后的角度在所述选中框的显示位置上显示所述选中框,并按照所述选中框与操作杆、鼠标指示球以及提示框的预设位置关系,显示所述操作杆、鼠标指示球以及提示框。
作为一种可选的实现方式,所述装置还包括:
隐藏模块,用于隐藏所述终端设备的界面上显示的系统鼠标图标。
第三方面,本申请实施例提供一种终端设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当终端设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行上述第一方面所述的三维模型操作控制方法的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面所述的三维模型操作控制方法的步骤。
本申请的有益效果是:
本申请所提供的三维模型操作控制方法、装置以及终端设备,在用户使用鼠标操作三维模型的目标控件时,终端设备在界面上显示操作器,终端设备进而使用第一映射模型得到用户操作映射在操作器的操作杆上的目标位置,并使用第二映射模型得到用户操作映射在目标控件上的目标档位,并在操作器以及目标控件上呈现映射后的效果。由于终端设备使用两种映射模型分别进行用户操作到操作器以及目标控件的映射,因此,可以根据操作器以及目标控件的特点进行更加准确的映射,进而使得所得到的目标位置准确性更高,进而可以避免出现未响应或多次响应的问题,并且能够模拟出真实场景中的阻尼感和卡顿感。
另外,本申请通过隐藏系统鼠标图标,可以避免对用户产生干扰,提升用户的体验。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的三维模型操作控制方法的流程示意图;
图2为三维模型以及操作器的界面示例图;
图3为终端设备基于第一映射模型进行映射处理的流程示意图;
图4为终端设备基于第二映射模型进行映射处理的流程示意图;
图5为终端设备显示操作器的流程示意图;
图6为本申请实施例提供的三维模型操作控制装置的模块结构图;
图7为本申请实施例提供的三维模型操作控制装置的另一模块结构图;
图8为本申请实施例提供的终端设备80的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
目前在pc端通过对键盘、鼠标的操作进行转换在界面的三维控件上呈现操作的效果。但是,可能会出现以下两种问题:
第一,pc端三维交互过程主要包括点击类、拖拽类,在具体使用过程中受到视角位置的影响,会经常出现操作未响应或响应多次等问题。对于高危仿真领域或者要在短时间内完成操作的场景,这种问题可能会导致严重的后果。
第二,pc端的三维交互一般仅通过鼠标和键盘完成,由于鼠标和键盘硬件条件的限制,目前的三维交互过程仅能呈现出点击或拖拽的效果,而无法模拟出真实场景中的阻尼感和卡顿感。
本申请实施例基于上述的问题,提出一种三维模型操作控制方法,利用两种映射模型得到用户操作鼠标之后映射在操作器以及三维控件上的目标位置,并将图标相应移动到这些目标位置,从而使得所得到的目标位置准确性更高,进而可以避免出现未响应或多次响应的问题,并且能够模拟出真实场景中的阻尼感和卡顿感。
本申请实施例可以应用于三维仿真场景中,在该三维仿真场景中,终端设备的显示屏幕中显示三维模型,该三维模型中包括至少一个操作控件,用户可以利用鼠标操控该操作控件,在用户操控时,终端设备基于本申请实施例的方法将用户的操作映射至操作器以及操作控件上的目标位置,并将图标相应移动到这些目标位置。
图1为本申请实施例提供的三维模型操作控制方法的流程示意图,该方法的执行主体为包含鼠标的终端设备,例如pc等。如图1所示,该方法包括:
s101、在用户使用终端设备的鼠标操作目标控件时,在终端设备的界面上显示操作器,该操作器包括如下显示元素:操作杆、鼠标指示球。
在执行本步骤之前,终端设备的界面上显示待操作的三维模型,示例性的,该三维模型可以是列车操作台的三维模型等,本申请对三维模型所表示的实体场景不做限定。
该三维模型中包括至少一个待操作的可调档位的目标控件,用户可以通过拖拽鼠标来实现调节目标控件的档位的效果。
值得说明的是,三维模型中的操作控件可以包括多种类型,例如旋钮类型、按键类型等控件。无论是哪种类型的控件,只要该控件是可调节的,则可以作为本申请所述的可调档位的目标控件。示例性的,某个控件为按压式控件,第一次按压之后表示打开,再一次按压之后表示关闭,依次类推,则该按压式控件可以作为本申请所述的一个可调档位的目标控件,并按照本申请的方法进行显示处理。
用户在使用鼠标操作目标控件时,终端设备可以在界面上显示操作器。本申请实施例中,操作器是终端设备显示的一界面元素,操作器独立于三维模型,用于在用户操作某个目标控件时及时地定位到该目标控件并及时呈现用户操作该目标控件的效果。因此,在本申请中,用户操作目标控件后可以同时在操作器以及目标控件三维模型上呈现操作的效果。
图2为三维模型以及操作器的界面示例图,如图2所示,终端设备显示的三维模型中包括一可调节档位的目标控件a,当用户通过鼠标操作该目标控件a时,终端设备设备可以在目标控件a的上方以半透明的方式显示操作器。
可选的,终端设备所显示的操作器可以包括操作杆以及鼠标指示球。其中,操作杆可以用来表示对目标控件操作的范围,鼠标指示球在操作杆上的位置,表示用户操作目标控件的效果。示例性的,用户未针对目标控件拖拽鼠标时,鼠标指示球位于操作杆的起始端,用户拖拽鼠标之后,根据用户所拖拽的距离,将鼠标指示球显示在操作杆的对应位置上。
s102、获取用户使用鼠标操作目标控件时的操作数据,该操作数据包括:拖拽方向和拖拽距离。
可选的,终端设备可以通过监听鼠标的点击事件、移动事件以及松开事件,确定用户是否开始拖拽鼠标,并在用户拖拽鼠标的过程中,基于鼠标指针在终端设备的显示屏幕上的位置坐标,计算得到用户拖拽鼠标时的拖拽方向和拖拽距离。
s103、基于第一映射模型对上述操作数据进行第一映射处理,得到上述操作数据映射在上述操作杆上的目标位置,并在该目标位置显示上述鼠标指示球。
上述第一映射模型用于将用户的操作映射到上述操作器上,以在操作器上呈现用户操作后的效果。
利用该第一映射模型,终端设备可以计算出用户针对目标控件将鼠标按照上述拖拽方向移动了上述拖拽距离后,鼠标指示球在操作杆上应该所在的目标位置,终端设备将鼠标指示球移动至该目标位置上,即在该目标位置上显示鼠标指示球。
可选的,在本申请实施例中,元素的位置可以通过元素在显示屏幕上的坐标来表示。相应的,鼠标指示球在操作杆上的目标位置,可以指显示屏幕上的坐标,该坐标位于操作杆的范围内。
s104、基于第二映射模型对上述操作数据进行第二映射处理,得到上述操作数据映射在上述目标控件上的目标档位,并将上述三维模型中目标控件的档位切换至上述目标档位。
上述第二映射模型用于将用户的操作映射到目标控件上,以在目标控件上呈现用户操作后的效果。
利用该第二映射模型,终端设备可以计算出用户针对目标控件将鼠标按照上述拖拽方向移动了上述拖拽距离后,目标控件的档位是否需要切换到的当前档位之外的其他档位,如果需要,则将目标控件的档位切换到对应的其他档位。
值得说明的是,具体实施过程中,上述步骤s103和s104的执行顺序不分先后。
本实施例中,在用户使用鼠标操作三维模型的目标控件时,终端设备在界面上显示操作器,终端设备进而使用第一映射模型得到用户操作映射在操作器的操作杆上的目标位置,并使用第二映射模型得到用户操作映射在目标控件上的目标档位,并在操作器以及目标控件上呈现映射后的效果。由于终端设备使用两种映射模型分别进行用户操作到操作器以及目标控件的映射,因此,可以根据操作器以及目标控件的特点进行更加准确的映射,进而使得所得到的目标位置准确性更高,进而可以避免出现未响应或多次响应的问题,并且能够模拟出真实场景中的阻尼感和卡顿感。
以下分别对终端设备基于第一映射模型和第二映射模型进行映射处理的过程进行说明。
图3为终端设备基于第一映射模型进行映射处理的流程示意图,如图3所示,上述步骤s103的一种可选方式包括:
s301、获取上述目标控件的档位数量以及相邻档位间距离。
可选的,上述目标控件的档位数量为上述三维模型的固有参数,可以通过读取上述三维模型的参数信息获取到。相邻档位间距离可以通过计算相邻档位的中心点坐标之间的距离获取到。
s302、将上述档位数量、上述相邻档位间距离以及上述操作数据输入上述第一映射模型,得到上述操作数据映射在上述操作杆上的目标位置,并在上述目标位置显示所述鼠标指示球。
可选的,将上述的档位数量、相邻档位间距离以及操作数据作为第一映射模型的输入参数,第一映射模型基于这些输入参数进行第一映射处理,即可以得到操作数据映射在操作杆上的目标位置。
可选的,上述第一映射模型可以是预先使用训练样本训练训练得到的机器学习模型,或者,还可以是由若干计算公式组成的映射模型。
无论第一映射模型使用上述哪一种形式,第一映射模型均可以按照如下方式完成映射。
作为一种可选的实施方式,上述第一映射模型可以用于根据上述档位数量对操作杆进行长度平均,得到与上述档位数量相同的多个待选位置,并根据上述相邻档位间距离以及上述操作数据从该多个待选位置中选择一个待选位置作为上述目标位置。
一种示例中,假设档位数量为2,则对操作杆进行长度平均之后,得到两个待选位置,一个待选位置为操作杆的起始位置,另一个待选位置为操作杆的结束位置。
另一种示例中,假设档位数量为3,则对操作杆进行长度平均之后,得到三个待选位置,第一个待选位置为操作杆的起始位置,第二个待选位置为操作杆的一半长度的位置,第三个待选位置为操作杆的结束位置。
经过上述处理后,目标控件的各档位可以在操作杆上分别对应一个待选位置。用户拖拽鼠标之后,鼠标指示球仅可能位于这些待选位置中的一个位置上。
可选的,终端设备基于拖拽距离以及相邻档位距离,可以判断出用户拖拽的距离是否已经满足到达另一档位的距离,若是,则结合拖拽方向,确定将鼠标指示球移动至当前位置之前或之后的另一档位在操作杆上对应的待选位置。若否,则终端设备可以保持鼠标指示球的位置不变。
示例性的,假设档位数量为3,终端设备基于拖拽距离以及相邻档位距离,判断出用户拖拽的距离满足到达当前档位相邻档位的距离,进而,终端设备根据拖拽方向确定用户是向当前档位的下一档位方向拖拽鼠标,因此,终端设备可以将当前档位的下一档位在操作杆上对应的待选位置作为上述目标位置,并将鼠标指示球移动到该目标位置上。
图4为终端设备基于第二映射模型进行映射处理的流程示意图,如图4所示,上述步骤s104的一种可选方式包括:
s401、获取上述目标控件的相邻档位间距离。
该步骤中获取目标控件的相邻档位间距离的方式与上述步骤s301相同,可以参照上述s301的描述,此处不再赘述。
s402、将上述相邻档位间距离以及上述操作数据输入第二映射模型,得到上述操作数据映射在上述目标控件上的目标档位,并将上述三维模型中上述目标控件的档位切换至上述目标档位。
可选的,将上述相邻档位间距离以及操作数据作为第二映射模型的输入参数,第二映射模型基于这些输入参数进行第二映射处理,即可以得到操作数据映射在操作杆上的目标位置。
可选的,上述第二映射模型可以是预先使用训练样本训练训练得到的机器学习模型,或者,还可以是由若干计算公式组成的映射模型。
无论第二映射模型使用上述哪一种形式,第二映射模型均可以按照如下方式完成映射。
作为一种可选的实施方式,上述第二映射模型可以用于根据上述操作数据以及上述相邻档位间距离确定是否进行档位切换,并在确定进行档位切换时将上述目标控件上当前档位的上一控件或下一控件作为上述目标控件。
可选的,终端设备可以基于上述操作数据以及上述相邻档位间距离进行线性或非线性的处理。示例性的,当拖拽距离大于或等于相邻档位间的距离的一半时,终端设备可以确定进行档位切换,并基于拖拽方向,确定切换至的目标控件为当前档位的上一档位或下一档位。
值得说明的是,用户在拖拽鼠标时,可能为持续的长距离的拖拽,拖拽的总的距离可能大于目标控件相邻档位的距离。对于这种情况,终端设备可以实时监测鼠标的拖拽距离,一旦达到可以切换至上一档位或下一档位的距离,则可以上述方式完成档位切换和显示,进而,以完成档位切换后和显示的位置为档位为新的当前档位,继续基于上述方式进行判断和处理,依次类推,具体执行过程不再赘述。
本实施例中,第二映射模型基于操作数据以及相邻档位间距离,确定是否进行档位切换,当操作数据不满足特定的条件时,不会进行档位的切换,从而更好地模拟出操作的阻尼感和卡顿感。
以下说明终端设备在界面上显示上述操作器时的处理过程。
如前文所述,操作器可以包括操作杆和鼠标指示球,作为一种可选的方式,操作器还可以包括:选中框和提示框。选中框和提示框的界面示例可以参照前述的图2。选中框可以以半透明方式显示在目标控件的上方,用于表示当前用户正在对该目标控件进行操作。提示框用于显示选中的目标控件的信息。示例性的,提示框所显示的目标控件的信息可以包括:目标控件的名称、状态值以及操作方式等。
图5为终端设备显示操作器的流程示意图,如图5所示,上述步骤s101中在终端设备的界面上显示操作器的一种可选方式包括:
s501、根据上述目标控件在界面上的位置,确定上述选中框的显示位置。
可选的,上述目标控件在界面上的位置,可以指目标控件的中心点在界面上的二维坐标。终端设备可以首先获取该目标控件的中心点在三维模型中的三维位置坐标,并将该三维位置坐标映射到二维界面上,进而可以得到目标控件的中心点在界面上的二维坐标。
在得到的目标控件的中心点在界面上的二维坐标后,可以将该二维坐标作为选中框的显示位置。具体的,该二维坐标为选中框的中心点的显示位置。
s502、根据上述目标控件的两端的位置与操作杆的初始位置,确定上述操作器的旋转角度。
可选的,三维控件中各目标控件的方向可能与屏幕的方向一致,也可能存在一定的角度差,而对于操作器来说,需要随时与当前正在操作的目标控件的方向保持一致,因此,可以根据目标控件的方向实时调整操作器的方向。具体的,在本步骤中,可以根据目标控件的两端的位置与操作杆的初始位置,确定出操作器的旋转角度。其中,操作杆的初始位置为用户操作该目标控件之前的时刻操作杆的位置,操作杆的初始位置可以通过操作杆的两个端点的位置来表示,通过这两个端点的位置可以得到一条射线。
值得说明的是,如果当前的目标控件为操作的第一个目标控件,即在此之前界面上并未显示过操作器,则操作杆的初始位置可以为默认的与屏幕底端平行的位置。目标控件的两端的位置可以表示目标控件的两个端点的位置,通过这两个端点的位置可以得到另一条射线。进而,这两个射线之间所形成的角度可以作为操作杆与目标控件的角度差,该角度差即可以作为操作器的旋转角度。
s503、将上述操作器按照上述旋转角度进行旋转,并按照旋转后的角度在上述选中框的显示位置上显示上述选中框,并按照上述选中框与操作杆、鼠标指示球以及提示框的预设位置关系,显示上述操作杆、鼠标指示球以及提示框。
可选的,操作器中的选中框、操作杆、鼠标指示球以及提示框作为操作器的组成元素,在操作器中的位置关系是预设的并且固定的。因此,将操作器上述旋转角度并且在前述所确定出的显示位置显示选中框的同时,可以按照该固定的位置关系,同时显示操作杆、鼠标指示球以及提示框,从而实现操作器在目标控件上方的显示。
可选的,在显示上述提示框的同时,可以在提示框中显示当前所操作的目标控件的名称、状态以及操作方式等。其中,目标控件的状态可以为目标控件当前的档位,随着用户的操作变化,该状态可以进行实时更新。目标控件的操作方式例如可以为:旋转、点击等。
作为一种可选的实施方式,终端设备在界面上显示操作器之后,可以隐藏终端设备的界面上显示的系统鼠标图标。
经过前述实施例的处理之后,用户在操作目标控件时,终端设备在界面上显示操作器,并且根据用户对系统鼠标的操作数据调整鼠标指示球在操作杆上的位置,用户根据鼠标指示球的位置变化可以获知目标控件的状态变化,而系统鼠标图标的位置在该场景下对于用户的作用较小,因此,终端设备可以将系统鼠标图标进行隐藏,从而避免对用户产生干扰,提升用户的体验。
基于同一发明构思,本申请实施例中还提供了与上述的三维模型操作控制方法对应的三维模型操作控制装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述三维模型操作控制方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图6为本申请实施例提供的三维模型操作控制装置的模块结构图,该装置可以应用于终端设备,该终端设备的界面上显示待操作的三维模型,该三维模型中包括至少一个待操作的可调档位的目标控件。如图6所示,该装置包括:
显示模块601,用于在用户使用终端设备的鼠标操作目标控件时,在终端设备的界面上显示操作器,上述操作器包括如下显示元素:操作杆、鼠标指示球。
获取模块602,用于获取上述用户使用所述鼠标操作目标控件时的操作数据,上述操作数据包括:拖拽方向和拖拽距离。
第一映射模块603,用于基于第一映射模型对上述操作数据进行第一映射处理,得到上述操作数据映射在上述操作杆上的目标位置,并在上述目标位置显示上述鼠标指示球。
第二映射模块604,用于基于第二映射模型对上述操作数据进行第二映射处理,得到上述操作数据映射在上述目标控件上的目标档位,并将上述三维模型中上述目标控件的档位切换至上述目标档位。
作为一种可选的实施方式,第一映射模块603具体用于:
获取上述目标控件的档位数量以及相邻档位间距离。
将上述档位数量、上述相邻档位间距离以及上述操作数据输入上述第一映射模型,得到上述操作数据映射在上述操作杆上的目标位置,并在上述目标位置显示上述鼠标指示球。
作为一种可选的实施方式,上述第一映射模型用于根据上述档位数量对上述操作杆进行长度平均,得到与上述档位数量相同的多个待选位置,并根据上述相邻档位间距离以及上述操作数据从上述多个待选位置中选择一个待选位置作为上述目标位置。
作为一种可选的实施方式,第二映射模块604具体用于:
获取上述目标控件的相邻档位间距离。
将上述相邻档位间距离以及上述操作数据输入上述第二映射模型,得到上述操作数据映射在上述目标控件上的目标档位,并将上述三维模型中上述目标控件的档位切换至上述目标档位。
作为一种可选的实施方式,上述第二映射模型用于根据上述操作数据以及上述相邻档位间距离确定是否进行档位切换,并在确定进行档位切换时将上述目标控件上当前档位的上一控件或下一控件作为上述目标控件。
作为一种可选的实施方式,上述操作器还包括:选中框和提示框,上述提示框用于显示选中的目标控件的信息。
显示模块601具体用于:
根据上述目标控件在上述界面上的位置,确定上述选中框的显示位置。
根据上述目标控件的两端的位置与操作杆的初始位置,确定上述操作器的旋转角度。
将上述操作器按照上述旋转角度进行旋转,并按照旋转后的角度在上述选中框的显示位置上显示上述选中框,并按照上述选中框与操作杆、鼠标指示球以及提示框的预设位置关系,显示上述操作杆、鼠标指示球以及提示框。
图7为本申请实施例提供的三维模型操作控制装置的另一模块结构图,如图7所示,上述装置还包括:
隐藏模块605,用于隐藏上述终端设备的界面上显示的系统鼠标图标。
本申请实施例还提供了一种终端设备80,如图8所示,为本申请实施例提供的终端设备80的结构示意图,包括:处理器81、存储器82、和总线83。所述存储器82存储有所述处理器81可执行的机器可读指令(比如,图6和图7中的装置中显示模块、获取模块、第一映射模块、第二映射模块以及隐藏模块对应的执行指令等),当终端设备80运行时,所述处理器81与所述存储器82之间通过总线83通信,所述机器可读指令被所述处理器81执行时执行上述方法实施例中的方法步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述三维模型操作控制方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。
1.一种三维模型操作控制方法,其特征在于,应用于终端设备,所述终端设备的界面上显示待操作的三维模型,所述三维模型中包括至少一个待操作的可调档位的目标控件,所述方法包括:
在用户使用终端设备的鼠标操作目标控件时,在终端设备的界面上显示操作器,所述操作器包括如下显示元素:操作杆、鼠标指示球;
获取所述用户使用所述鼠标操作目标控件时的操作数据,所述操作数据包括:拖拽方向和拖拽距离;
基于第一映射模型对所述操作数据进行第一映射处理,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球;
基于第二映射模型对所述操作数据进行第二映射处理,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位。
2.根据权利要求1所述的方法,其特征在于,所述基于第一映射模型对所述操作数据进行第一映射处理,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球,包括:
获取所述目标控件的档位数量以及相邻档位间距离;
将所述档位数量、所述相邻档位间距离以及所述操作数据输入所述第一映射模型,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球。
3.根据权利要求2所述的方法,其特征在于,所述第一映射模型用于根据所述档位数量对所述操作杆进行长度平均,得到与所述档位数量相同的多个待选位置,并根据所述相邻档位间距离以及所述操作数据从所述多个待选位置中选择一个待选位置作为所述目标位置。
4.根据权利要求1所述的方法,其特征在于,所述基于第二映射模型对所述操作数据进行第二映射处理,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位,包括:
获取所述目标控件的相邻档位间距离;
将所述相邻档位间距离以及所述操作数据输入所述第二映射模型,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位。
5.根据权利要求4所述的方法,其特征在于,所述第二映射模型用于根据所述操作数据以及所述相邻档位间距离确定是否进行档位切换,并在确定进行档位切换时将所述目标控件上当前档位的上一控件或下一控件作为所述目标控件。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述操作器还包括:选中框和提示框,所述提示框用于显示选中的目标控件的信息;
所述在终端设备的界面上显示操作器,包括:
根据所述目标控件在所述界面上的位置,确定所述选中框的显示位置;
根据所述目标控件的两端的位置与操作杆的初始位置,确定所述操作器的旋转角度;
将所述操作器按照所述旋转角度进行旋转,并按照旋转后的角度在所述选中框的显示位置上显示所述选中框,并按照所述选中框与操作杆、鼠标指示球以及提示框的预设位置关系,显示所述操作杆、鼠标指示球以及提示框。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述在终端设备的界面上显示操作器之后,还包括:
隐藏所述终端设备的界面上显示的系统鼠标图标。
8.一种三维模型操作控制装置,其特征在于,应用于终端设备,所述终端设备的界面上显示待操作的三维模型,所述三维模型中包括至少一个待操作的可调档位的目标控件,所述装置包括:
显示模块,用于在用户使用终端设备的鼠标操作目标控件时,在终端设备的界面上显示操作器,所述操作器包括如下显示元素:操作杆、鼠标指示球;
获取模块,用于获取所述用户使用所述鼠标操作目标控件时的操作数据,所述操作数据包括:拖拽方向和拖拽距离;
第一映射模块,用于基于第一映射模型对所述操作数据进行第一映射处理,得到所述操作数据映射在所述操作杆上的目标位置,并在所述目标位置显示所述鼠标指示球;
第二映射模块,用于基于第二映射模型对所述操作数据进行第二映射处理,得到所述操作数据映射在所述目标控件上的目标档位,并将所述三维模型中所述目标控件的档位切换至所述目标档位。
9.一种终端设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当终端设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行时执行如权利要求1至7任一所述的三维模型操作控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的三维模型操作控制方法的步骤。
技术总结