本發明專利技術涉及基于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模型對...
【專利技術屬性】
技術研發人員:姜粟瓊,陳科宇,趙國氽,
申請(專利權)人:四川長虹電器股份有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。