CN103019725B - 基于3d模型的界面逻辑控制方法 - Google Patents
基于3d模型的界面逻辑控制方法 Download PDFInfo
- Publication number
- CN103019725B CN103019725B CN201210553689.1A CN201210553689A CN103019725B CN 103019725 B CN103019725 B CN 103019725B CN 201210553689 A CN201210553689 A CN 201210553689A CN 103019725 B CN103019725 B CN 103019725B
- Authority
- CN
- China
- Prior art keywords
- model
- focus
- attribute
- data structure
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明涉及基于3D模型的界面逻辑控制方法,包括:a.通过加载3D模型,并将3D模型的信息保存到一个数据结构体;b.将数据结构体中的动画数据保存为数据结构体中的一个数据块;c.在数据结构体中设置有焦点切换属性、状态变化属性、事件回调属性,其中焦点切换属性用于设置焦点变更后下一个焦点模型,状态变化属性用于调用所述数据块中对应的动画进行播放,事件回调属性用于调用对应的回调函数。本发明的方法,通过对3D模型进行封装和属性设置,使属性与相应的事件相关联和不是将界面与功能直接耦合,使界面开发和功能开发相互独立,由此降低了3D界面的开发难度,提高了代码的重用率,解除了界面和相应功能间的深度耦合,提高了开发效率。
Description
技术领域
本发明涉及电子产品用户界面(UI)的控制方法,具体的讲是基于3D模型的界面逻辑控制方法。
背景技术
UI即UserInterface(用户界面),包括人机交互中的界面显示和操作逻辑。随着技术的发展,界面越来越简易化,二维的操作难以提供更好的交互体验,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模型的事件回调属性,使得界面和对应的功能之间不再紧密耦合绑定,而是通过事件回调属性进行关联,这样就能够对所关联的功能灵活的变换,也使得界面开发和功能开发都独立开来,最终使界面和功能的耦合度降低。
Claims (6)
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模型的数据结构从该基类进行派生。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210553689.1A CN103019725B (zh) | 2012-12-19 | 2012-12-19 | 基于3d模型的界面逻辑控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210553689.1A CN103019725B (zh) | 2012-12-19 | 2012-12-19 | 基于3d模型的界面逻辑控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103019725A CN103019725A (zh) | 2013-04-03 |
CN103019725B true CN103019725B (zh) | 2016-07-06 |
Family
ID=47968363
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210553689.1A Active CN103019725B (zh) | 2012-12-19 | 2012-12-19 | 基于3d模型的界面逻辑控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103019725B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103559742B (zh) * | 2013-10-23 | 2017-05-10 | Tcl集团股份有限公司 | 一种用于3d场景的焦点切换方法及系统 |
CN103607653A (zh) * | 2013-11-08 | 2014-02-26 | 四川长虹电器股份有限公司 | 基于3d模型开发电视天气动态壁纸的方法 |
CN103885786A (zh) * | 2014-04-10 | 2014-06-25 | 南京长观信息科技有限公司 | 一种3d场景互动模型 |
CN105224353B (zh) * | 2014-06-26 | 2018-11-06 | 北京北方华创微电子装备有限公司 | 动态加载界面导航的方法及系统 |
CN104883615A (zh) * | 2015-05-20 | 2015-09-02 | 四川长虹电器股份有限公司 | 一种基于3d引擎的智能电视ui开发平台 |
CN107019913B (zh) * | 2017-04-27 | 2019-08-16 | 腾讯科技(深圳)有限公司 | 对象生成方法及装置 |
CN111399813B (zh) * | 2020-04-10 | 2023-08-29 | 上海米哈游天命科技有限公司 | 一种用于对象的状态切换系统和方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071375A (zh) * | 2007-05-22 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种界面开发系统及组合控件的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8042095B2 (en) * | 2004-08-13 | 2011-10-18 | National Instruments Corporation | Application development environment with features for increasing the ease and efficiency of viewing function help text |
-
2012
- 2012-12-19 CN CN201210553689.1A patent/CN103019725B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101071375A (zh) * | 2007-05-22 | 2007-11-14 | 腾讯科技(深圳)有限公司 | 一种界面开发系统及组合控件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103019725A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019725B (zh) | 基于3d模型的界面逻辑控制方法 | |
CN110163976B (zh) | 一种虚拟场景转换的方法、装置、终端设备及存储介质 | |
CN102981477B (zh) | 基于多摄像头切换技术的冰箱内部查看方法 | |
CN101765236B (zh) | 一种移动终端的界面切换方法及移动终端 | |
CN103176684B (zh) | 一种多区域切换界面的方法及装置 | |
CN103559055B (zh) | 一种应用于Android平台的启动活动的方法和装置 | |
CN104484114B (zh) | 数据转移方法、移动终端及数据转移系统 | |
CN103473055B (zh) | 一种焦点移动控制方法及装置 | |
CN104049866A (zh) | 一种移动终端及其分屏的实现方法和装置 | |
CN103480153A (zh) | 一种智能手机模拟电脑游戏手柄的方法 | |
CN104679467B (zh) | 一种显示模式切换方法及电子设备 | |
CN105872664A (zh) | 触屏游戏操控方法、装置和系统 | |
CN108521591A (zh) | 一种投屏方法、装置及系统 | |
CN103324400A (zh) | 一种在3d模型中展示菜单的方法及装置 | |
WO2013182089A1 (zh) | 一种悬浮对象的实现方法与装置 | |
CN105446593B (zh) | 一种游戏动态图标控制方法及装置 | |
CN204886222U (zh) | 实现软件远程升级的充电桩 | |
CN103777788B (zh) | 一种控制方法及电子设备 | |
CN103019201A (zh) | 一种基于三维虚拟场景的远程控制方法和装置 | |
CN103164204A (zh) | 基于Symbian系统的用户界面的生成方法和系统 | |
CN103312881B (zh) | 移动终端状态控制方法、装置、系统及移动终端 | |
CN105373379A (zh) | 游戏界面的切换方法及装置 | |
CN108057243A (zh) | 数据显示方法和装置、存储介质及电子装置 | |
CN109426532B (zh) | 安卓系统中衔接页面的方法、装置及电子设备 | |
CN111701232B (zh) | 游戏画面的处理方法、装置及电子装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |