本发明专利技术涉及基于3D模型的界面逻辑控制方法,包括:a.通过加载3D模型,并将3D模型的信息保存到一个数据结构体;b.将数据结构体中的动画数据保存为数据结构体中的一个数据块;c.在数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。本发明专利技术的方法,通过对3D模型进行封装和属性设置,使属性与相应的事件相关联和不是将界面与功能直接耦合,使界面开发和功能开发相互独立,由此降低了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模型的事件回调属性,使得界面和对应的功能之间不再紧密耦合绑定,而是本文档来自技高网...
【技术保护点】
基于3D模型的界面逻辑控制方法,其特征包括:a.通过加载3D模型,并将所述3D模型的信息保存到一个数据结构体;b.将所述数据结构体中的动画数据保存为数据结构体中的一个数据块;c.在所述数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。
【技术特征摘要】
1.基于3D模型的界面逻辑控制方法,其特征包括a.通过加载3D模型,并将所述3D模型的信息保存到一个数据结构体;b.将所述数据结构体中的动画数据保存为数据结构体中的一个数据块;c.在所述数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。2.如权利要求1所述的基于3D模型的界面逻辑控制方法,其特征为所述的焦点切换属性中包括了当前焦点3D模型相邻的周围3D模型的名称。3.如权利要求1所述的基于3D模型的界面逻辑控制方法,其特征为所述的状态变化属性包括3D模型是焦点状态、非焦点状态或其它状态时该3D模型对...
【专利技术属性】
技术研发人员:姜粟琼,陈科宇,赵国氽,
申请(专利权)人:四川长虹电器股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。