本发明专利技术公开一种三维用户界面的实现方法,包括步骤:确认桌面模型的当前激活面,判断是否满足预备开始条件;当确定满足预备开始条件时,判断是否存在与当前激活面对应的动画以及二维窗口部件在截屏纹理中的相对位置信息;当确定存在时,计算3D视图位置信息和尺寸信息,并逐渐减小截屏纹理透明度,判断截屏纹理是否为半透明;当确定所述截屏纹理为半透明时,根据所述3D视图位置信息和尺寸信息绘制3D视图,当绘制完成后,继续减小截屏纹理透明度并判断其是否为零;当确定所述截屏纹理透明度为零时,将3D视图沿设定轨迹运动。本发明专利技术还公开了一种三维用户界面的实现装置。
【技术实现步骤摘要】
本专利技术涉及三维显示技术,尤其涉及三维用户界面实现方法及装置。
技术介绍
随着计算机应用的不断深入,用户界面作为人机交互的窗口显得尤为重要,特别是三维用户界面实现技术更是一个当前应用的热点。从个人pc端的3D UI、3D游戏到3D电影、3D电视等产品无不看到三维显示技术的身影。然而基于手持移动设备的3D应用还面临诸多挑战,如跨平台、存储容量和带宽限制、显存容量有限、和不同厂家或者各种不同配置的兼容性等。 在传统方式上,采用java 3D进行三维动画绘制时,由于java本身建立在虚拟机之上,而基于虚拟机上的java 3D接口是对OpenGL (Open Graphics Library,开放的图形程序接口)底层接口的再次封装,其性能难以满足实时绘制的要求,尤其在大量3D场景绘制以及复杂计算等领域,因此,寻求一种高效、兼容性好的三维显示方法势在必行。
技术实现思路
本专利技术主要解决的技术问题是,提供一种三维用户界面的实现方法及装置。为解决上述问题,本专利技术采用的一种技术方案是提供一种三维用户界面的实现方法,包括以下步骤确认桌面模型的当前激活面,判断是否满足预备开始条件;当确定满足预备开始条件时,判断是否存在与当前激活面对应的动画以及二维窗口部件在截屏纹理中的相对位置信息;当确定存在所述动画、二维窗口部件在截屏纹理中的相对位置信息时,根据所述二维窗口部件在截屏纹理中的相对位置信息计算3D视图位置信息和尺寸信息,并逐渐减小截屏纹理透明度,判断截屏纹理是否为半透明;当确定所述截屏纹理为半透明时,根据所述3D视图位置信息和尺寸信息绘制3D视图,当绘制完成后,继续减小截屏纹理透明度并判断其是否为零;当确定所述截屏纹理透明度为零时,将3D视图沿设定轨迹运动。其中,所述的三维用户界面的实现方法,还包括步骤当确定3D视图运动完成时,逐渐增加截屏纹理透明度,并判断截屏纹理是否为半透明;当确定所述截屏纹理为半透明时,停止显示3D视图,判断截屏纹理透明度是否为I ;当确定所述截屏纹理透明度为I时,使桌面模型进入步进转动状态转至下一个激活面,然后返回所述“确认桌面模型的当前激活面,判断是否满足预备开始条件”步骤。其中,所述“判断是否满足预备开始条件”步骤包括判断模型状态是否为停止状态;当确定模型状态为停止状态时,判断模型处于停止状态的等待时间是否大于预设等待时间;当确定所述停止状态的等待时间大于预设等待时间时,确定满足预备开始条件。其中,所述“确定当前激活面”步骤包括判断桌面模型的模型转动角度是否为360/N的整数倍,或者判断桌面模型是否处于停止状态,若是,则确定桌面模型中正对屏幕的那个平面为当前激活面;其中,所述N为所述桌面模型的平面数量。其中,所述“将3D视图沿设定轨迹运动”步骤包括选取三维曲线方程的关键帧坐标位置;通过线性插值计算中间帧的坐标位置;将顶点沿着所述三维曲线的坐标移动,使3D视图沿着三维曲线运动。为解决上述问题,本专利技术采用的另一种技术方案是提供一种三维用户界面的实现装置,包括显示模块、触摸输入模块及控制模块,所述控制模块包括激活面判定单元,用于确定桌面模型的当前激活面;预备条件判定单元,判断是否满足预备开始条件;数据获取单元,用于当预备条件判定单元确定满足预备开始条件时,判断是否存在与当前激活面对应的动画以及二维窗口部件在截屏纹理中的相对位置信息;纹理处理单元,用于当数据获取单元确定存在所述动画以及二维窗口部件的位置信息时,逐渐减小截屏纹理透明度,并判断截屏纹理是否为半透明;3D视图绘制单元,用于根据所述二维窗口部件的位置信息计算3D视图位置信息和尺寸信息,并当所述纹理处理单元确定所述截屏纹理为半透明时,根据所述3D视图位置信息和尺寸信息绘制3D视图;所述纹理处理单元还用于当所述3D视图绘制单元绘制完成后,判断截屏纹理透明度是否为 零;动画播放单元,用于当所述3D视图绘制单元绘制完成且所述纹理处理单元确定所述截屏纹理透明度为零时,将3D视图沿设定轨迹运动。其中,所述纹理处理单元还用于当所述动画播放单元确定3D视图运动完成时,逐渐增加截屏纹理透明度,并判断截屏纹理是否为半透明;所述3D视图绘制单元还用于当所述纹理处理单元确定所述截屏纹理透明度逐渐增加至半透明时,停止显示3D视图;所述模型状态控制单元用于当所述纹理处理单元确定所述截屏纹理透明度逐渐增加至I时,使桌面模型进入步进转动状态转至下一个激活面。其中,6所述的三维用户界面的实现装置还包括计时单元,用于当所述模型状态控制单元确定桌面模型状态为停止状态时,判断桌面模型处于停止状态的等待时间是否大于预设等待时间,并用于当确定停止状态的等待时间大于预设时间时,通知所述预备条件判定单元,所述预备条件判定单元判定满足预备开始条件。其中,所述模型状态控制单元用于当判定桌面模型的模型转动角度是360/N的整数倍,或者判断桌面模型处于停止状态时,发送激活信号至所述激活面判定单元;所述激活面判定单元用于当接收到所述激活信号后,确定桌面模型中正对屏幕的那个平面为当前激活面;其中,所述N为所述桌面模型的平面数量。其中,所述动画播放单元包括关键帧坐标获取部,用于选取三维曲线方程的关键帧坐标位置;中间帧坐标计算部,用于通过线性插值计算中间帧的坐标位置;3D视图顶点移动部,用于将顶点沿着所述三维曲线的坐标移动,使3D视图沿着三维曲线运动。本专利技术的有益效果是本专利技术方案上层采用MVC框架,底层则运用C/C++与OpenGLES开发库相结合,充分利用他们的高效、跨平台特性,克服传统方法的弊端,极大地提高了三维显示的流畅度、过程的稳定性及代码可移植性。此外,为实现在3D视图绘制和2D桌面之间进行平滑过渡而不导致失真,本文采用了坐标转换和尺寸匹配算法。实现了 2D桌面到3D动画的自适应平滑过渡。附图说明图I是android MVC模型的框架图2是本专利技术一实施方式中三维用户界面的实现装置的功能模块图;图3是本专利技术一实施方式中桌面模型的当前激活面示意图;图4是手指在触摸屏幕上操作的示意图;图5是图3中的当前激活面的截屏纹理渐隐的示意图;图6是2D位置坐标转换为3D视图坐标的示意7是绘制的3D视图的示意图;图8是本专利技术一实施方式中的三维曲线的示意图; 图9是图7的3D视图沿着三维曲线运动的示意图;图10是本专利技术一实施方式中三维用户界面实现方法的流程图。主要元件符号说明100、三维用户界面的实现装置;200、桌面模型;210、当前激活面;220,3D视图;10、控制模块;20、触摸输入模块;30、显示模块;11、激活面判定单元;12、预备条件判定单元;13、数据获取单元;14、纹理处理单元;15、3D视图绘制单元;16、动画播放单元;17、模型状态控制单元;18、计时单元。具体实施例方式为详细说明本专利技术的
技术实现思路
、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。请参阅图I,是 android MVC 模型(Model View Controller,模型-视图-控制器)的框架图,该MVC框架包括模型、视图及控制器。该模型用于获取相关信息数据并发送至控制器。该视图为用户界面,例如3D视图和2D视图,该用户界面用于与用户进行交互。该控制器是模型与视图之间的沟通桥梁,用于分派用户请求并选择本文档来自技高网...
【技术保护点】
一种三维用户界面的实现方法,其特征在于,包括以下步骤:确认桌面模型的当前激活面,判断是否满足预备开始条件;当确定满足预备开始条件时,判断是否存在与当前激活面对应的动画以及二维窗口部件在截屏纹理中的相对位置信息;当确定存在所述动画、二维窗口部件在截屏纹理中的相对位置信息时,根据所述二维窗口部件在截屏纹理中的相对位置信息计算3D视图位置信息和尺寸信息,并逐渐减小截屏纹理透明度,判断截屏纹理是否为半透明;当确定所述截屏纹理为半透明时,根据所述3D视图位置信息和尺寸信息绘制3D视图,当绘制完成后,继续减小截屏纹理透明度并判断其是否为零;当确定所述截屏纹理透明度为零时,将3D视图沿设定轨迹运动。
【技术特征摘要】
【专利技术属性】
技术研发人员:章云芳,
申请(专利权)人:章云芳,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。