专利名称:基于3d模型的界面逻辑控制方法
技术领域:
本发明涉及电子产品用户界面(UI)的控制方法,具体的讲是基于3D模型的界面逻辑控制方法。
背景技术:
UI即User Interface (用户界面),包括人机交互中的界面显示和操作逻辑。随着技术的发展,界面越来越简易化,二维的操作难以提供更好的交互体验,3D技术是模拟现实生活的环境,3D化的界面使用户操作起来更加接近现实,并且让用户减少学习成本和拥有更好的体验,因此在很多领域中的用户操作界面逐渐转为3D方式实现。以往的3D界面通常应用在3D游戏中,随着电子产品硬件性能提升,使得3D技术实现电子产品的UI成为现实。然而,现有的3D界面的实现方式通常是按场景和功能进行绑定开发的,实现方式耦合太深,导致软件开发的重用性较低,软件冗余太多。
发明内容
本发明提供了一种基于3D模型的界面逻辑控制方法,降低3D界面的开发难度,提高代码的重用率,解除界面和相应功能间的深度耦合,提高开发效率。本发明基于3D模型的界面逻辑控制方法,包括a.通过加载3D模型,并将所述3D模型的信息保存到一个数据结构体;b.将所述数据结构体中的动画数据保存为数据结构体中的一个数据块,动画数据包括了动画播放堆栈管理数据、模型普通位移、旋转、缩放等;c.在所述数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。在3D界面的实现技术中,物体通常是以3D模型的形式呈现,3D模型的来源可以是Maya或3DMax等3D制作软件,3D界面就是对这些3D模型进行焦点选择,根据不同的界面设计需要,让这些3D模型实现不同的3D形态变化或各种动画,再根据用户对当前焦点的操作实现某种功能。加载的3D模型数据存在适度灵活性,比如尺寸调整、贴图变更等。当整个场景中所有的3D模型都以本发明的方法建立好数据结构后,将互相关联,很容易就完成一套完整的界面逻辑控制。通过各3D模型的数据结构体中的焦点切换属性,将焦点更换为另一个3D模型,多个3D模型相互切换交织到一起就实现了一套完整的界面逻辑控制,通过各3D模型的事件回调属性完成与功能直接的对接。通过3D模型的事件回调属性,使得界面和对应的功能之间不再紧密耦合绑定,而是通过事件回调属性进行关联,这样就能够对所关联的功能灵活的变换,也使得界面开发和功能开发都独立开来,最终使界面和功能的率禹合度降低。具体的,所述的焦点切换属性中包括了当前焦点3D模型相邻的周围3D模型的名称。这个属性的一个很好的优点是在带景深的非规则3D场景布局中,当场景中的物体无序存放,并且在交互定义上又有特定的焦点移动轨迹时,采用焦点切换属性就能够很轻松的将焦点切换到相邻的制定模型上。具体的,所述的状态变化属性包括3D模型是焦点状态、非焦点状态或其它状态时该3D模型对应调用的动画名称、运动方式及相关参数。具体的,所述的事件回调属性包括该3D模型能够接收到的事件定义(如成为焦点状态、取消焦点状态、动画调用开始或结束等状态变化等)、鼠标响应事件,以及接收到事件后需要回调的函数。进一步的,所述的3D模型在接收到事件触发后,根据焦点切换属性和状态变化属性,设置目标焦点模型和改变当前3D模型的状态,并且通过事件回调属性中的回调函数完成与功能的对接。进一步的,所述保存3D模型信息的数据结构体的建立是先通过提取界面设计中3D模型的共同点,建立3D模型数据结构的基类,然后所有3D模型的数据结构从该基类进行派生,由此提高代码重用率,减少开发时间。本发明的基于3D模型的界面逻辑控制方法,通过对3D模型进行封装和属性设置,使设置的属性与相应的事件相关联和不是将界面与功能直接耦合,使界面开发和功能开发相互独立,由此降低了 3D界面的开发难度,提高了代码的重用率,解除了界面和相应功能间的深度耦合,提高了开发效率。以下结合实施例的具体实施方式
,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
图1为本发明基于3D模型的界面逻辑控制方法的逻辑框图。图2是以图1为基础的完整交互示意图。
具体实施例方式如图1所示本发明基于3D模型的界面逻辑控制方法,包括a.通过加载3D模型,并将所述3D模型的信息保存到一个数据结构体。数据结构体的建立是先通过提取界面设计中3D模型的共同点,建立3D模型数据结构的基类,然后所有3D模型的数据结构从该基类进行派生。3D模型可以通过Maya或3DMax等3D制作软件制作。数据结构体用于与3D构图功能相关联;b.将所述数据结构体中的动画数据保存为数据结构体中的一个数据块,动画数据包括了动画播放堆栈管理数据、模型普通位移、旋转、缩放等;c.在所述数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。焦点切换属性中包括了当前焦点3D模型相邻的周围3D模型的名称。在带景深的非规则3D场景布局中,当场景中的物体无序存放,并且在交互定义上又有特定的焦点移动轨迹时,采用焦点切换属性就能够很轻松的将焦点切换到相邻的制定模型上。状态变化属性包括3D模型是焦点状态、非焦点状态或其它状态时该3D模型对应调用的动画名称、运动方式及相关参数。事件回调属性包括该3D模型能够接收到的事件定义(如成为焦点状态、取消焦点状态、动画调用开始或结束等状态变化等)、鼠标响应事件,以及接收到事件后需要回调的函数。当3D模型在接收到事件触发后,根据焦点切换属性和状态变化属性,设置目标焦点模型和改变当前3D模型的状态,并且通过事件回调属性中的回调函数完成与功能的对接。例如,当系统初始化指定A模型为当前焦点时,系统将该模型的属性都载入。同时A模型根据状态变化属性判断自身为焦点时,进行旋转动作和界面渲染。当A模型检测到外界传递的左方向键事件时,该事件的属性调用焦点切换方法,结合载入的焦点切换属性来将当前焦点切换到B模型上;同时A模型根据状态变化属性、3D模型数据和动画数据,A模型状态由旋转更改为静止,并进行界面的渲染;同时,被切换成为焦点的B模型就替代应用A模型,变成焦点模型,系统就载入应用B模型的所有属性,进入下一轮的界面逻辑控制。由于各3D模型的数据结构都很相似,因此,在建立3D模型的数据结构体时就可以采用同一个基类进行派生,由此提高代码重用率,使减少开发时间。在图2中表示出了 A模型、B模型和C模型之间的焦点切换关系,图中的箭头表示焦点切换的情况。各模型都通过状态变化属性来判断本模型是否切换为焦点。当整个场景中所有的3D模型都建立好数据结构后,通过互相关联,很容易就完成一套完整的界面逻辑控制。通过各3D模型的数据结构体中的焦点切换属性,将焦点更换为另一个3D模型,多个3D模型相互切换交织到一起就实现了一套完整的界面逻辑控制,通过各3D模型的事件回调属性完成与功能直接的对接。通过3D模型的事件回调属性,使得界面和对应的功能之间不再紧密耦合绑定,而是通过事件回调属性进行关联,这样就能够对所关联的功能灵活的变换,也使得界面开发和功能开发都独立开来,最终使界面和功能的耦合度降低。
权利要求
1.基于3D模型的界面逻辑控制方法,其特征包括a.通过加载3D模型,并将所述3D模型的信息保存到一个数据结构体;b.将所述数据结构体中的动画数据保存为数据结构体中的一个数据块;c.在所述数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。
2.如权利要求1所述的基于3D模型的界面逻辑控制方法,其特征为所述的焦点切换属性中包括了当前焦点3D模型相邻的周围3D模型的名称。
3.如权利要求1所述的基于3D模型的界面逻辑控制方法,其特征为所述的状态变化属性包括3D模型是焦点状态、非焦点状态或其它状态时该3D模型对应调用的动画名称、 运动方式及相关参数。
4.如权利要求1所述的基于3D模型的界面逻辑控制方法,其特征为所述的事件回调属性包括该3D模型能够接收到的事件定义、鼠标响应事件,以及接收到事件后需要回调的函数。
5.如权利要求1至4之一所述的基于3D模型的界面逻辑控制方法,其特征为所述的 3D模型在接收到事件触发后,根据焦点切换属性和状态变化属性,设置目标焦点模型和改变当前3D模型的状态,并且通过事件回调属性中的回调函数完成与功能的对接。
6.如权利要求1至4之一所述的基于3D模型的界面逻辑控制方法,其特征为所述保存3D模型信息的数据结构体的建立是先通过提取界面设计中3D模型的共同点,建立3D模型数据结构的基类,然后所有3D模型的数据结构从该基类进行派生。
全文摘要
本发明涉及基于3D模型的界面逻辑控制方法,包括a.通过加载3D模型,并将3D模型的信息保存到一个数据结构体;b.将数据结构体中的动画数据保存为数据结构体中的一个数据块;c.在数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。本发明的方法,通过对3D模型进行封装和属性设置,使属性与相应的事件相关联和不是将界面与功能直接耦合,使界面开发和功能开发相互独立,由此降低了3D界面的开发难度,提高了代码的重用率,解除了界面和相应功能间的深度耦合,提高了开发效率。
文档编号G06F9/44GK103019725SQ201210553689
公开日2013年4月3日 申请日期2012年12月19日 优先权日2012年12月19日
发明者姜粟琼, 陈科宇, 赵国氽 申请人:四川长虹电器股份有限公司