国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      網(wǎng)絡游戲中的場景管理方法和裝置的制作方法

      文檔序號:6372048閱讀:175來源:國知局
      專利名稱:網(wǎng)絡游戲中的場景管理方法和裝置的制作方法
      技術領域
      本申請涉及計算機技術,特別涉及網(wǎng)絡游戲中的場景管理方法和裝置。
      背景技術
      在網(wǎng)絡游戲中,場景管理,為游戲圖形引擎最核心的模塊,其實質(zhì)是對游戲場景比如大型多人在線游戲(MMOG :Massive multiplayer online game)中的游戲?qū)ο?簡稱物體)比如人物、建筑物、樹木等的管理。其中,游戲圖形引擎為對網(wǎng)絡游戲場景、地形、游戲模型、特效資源進行管理和渲染的核心程序。通過場景管理對游戲場景中的物體進行有效組織,可以提高整個游戲圖形引擎的運行效率和渲染質(zhì)量,提供更好的視覺表現(xiàn)效果。
      目前,現(xiàn)有技術通常使用四叉樹算法對游戲場景比如MMOG場景進行管理,以游戲場景為MMOG場景為例,則該使用四叉樹算法對游戲場景進行管理具體為初始化四叉樹,將MMOG場景中物體分散至四叉樹的各個節(jié)點上,通過視錐體與四叉樹求交的方式從四叉樹中找到需要繪制的物體。雖然通過四叉樹算法能夠?qū)τ螒驁鼍斑M行管理,但是,當查找的物體達到一定級別之后,通過四叉樹算法對游戲場景管理,會導致CPU開銷持續(xù)增加,降低渲染效率。

      發(fā)明內(nèi)容
      本申請?zhí)峁┝司W(wǎng)絡游戲中的場景管理方法和裝置,以提高渲染效率、降低CPU開銷。本申請?zhí)峁┑募夹g方案包括一種網(wǎng)絡游戲中的場景管理方法,包括將游戲場景中的靜態(tài)物體存放至靜態(tài)場景樹;將游戲場景中的動態(tài)物體存放至動態(tài)場景樹;在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體;在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體。一種網(wǎng)絡游戲中的場景管理裝置,包括第一存放單元,用于存放游戲場景中的靜態(tài)物體至靜態(tài)場景樹;第二存放單元,用于存放游戲場景中的動態(tài)物體至動態(tài)場景樹;第一更新單元,用于在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體;第二更新單元,用于在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體。由以上技術方案可以看出,本發(fā)明中,通過將游戲場景中的靜態(tài)物體存放至靜態(tài)場景樹,以及將游戲場景中的動態(tài)物體存放至動態(tài)場景樹,實現(xiàn)游戲場景中的靜態(tài)物體和動態(tài)物體分開存放,之后對靜態(tài)場景樹和動態(tài)場景樹分開管理,即在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體,以及在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體,實現(xiàn)了對不同數(shù)據(jù)進行有針對性地不同管理,顯然相比于現(xiàn)有技術提高渲染效率、降低CPU開銷。


      圖I為本發(fā)明實施例提供的方法流程圖;圖2為本發(fā)明實施例提供的裝置 結(jié)構圖。
      具體實施例方式為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結(jié)合附圖和具體實施例對本發(fā)明進行詳細描述。本發(fā)明實施例提供的方法包括圖I所示的流程圖。參見圖1,圖I為本發(fā)明實施例提供的方法流程圖。如圖I所示,該流程可包括以下步驟步驟101,將游戲場景中的靜態(tài)物體存放至靜態(tài)場景樹。本步驟101中,靜態(tài)物體可為在游戲場景中不移動的物體,比如建筑物、樹木等。至于本步驟101中的靜態(tài)場景樹在下文進行了描述。另外,本步驟101至于如何將游戲場景中的靜態(tài)物體存放至靜態(tài)場景樹,以及靜態(tài)場景樹按照哪種順序存放靜態(tài)物體,這可從實際游戲需求出發(fā)設置,本發(fā)明并不具體限定。步驟102,將游戲場景中的動態(tài)物體存放至動態(tài)場景樹。本步驟102中,動態(tài)物體其相對于上述的靜態(tài)物體而言,可為在游戲場景中可以移動的物體。至于本步驟102中的動態(tài)場景樹在下文進行了描述。本步驟102中的動態(tài)場景樹在下文進行了描述。另外,至于本步驟102至于如何將游戲場景中的動態(tài)物體存放至動態(tài)場景樹,以及動態(tài)場景樹按照哪種順序存放動態(tài)物體,這可從實際游戲需求出發(fā)設置,本發(fā)明并不具體限定。從步驟101和步驟102可以看出,本發(fā)明是將游戲場景中的靜態(tài)物體和動態(tài)物體分開存放,以便后續(xù)對靜態(tài)物體和動態(tài)物體分開管理,具體見步驟103和步驟104。步驟103,在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體。由于靜態(tài)場景樹的物體不移動,因此,靜態(tài)場景樹并非每一幀都同步更新?;诖耍景l(fā)明就針對靜態(tài)場景樹設置一個更新條件,只有達到該更新條件時才靜態(tài)場景樹,這節(jié)省CPU開銷。其中,靜態(tài)場景樹的更新條件包括但不限于以下內(nèi)容玩家操作的游戲角色發(fā)生移動;或者,游戲場景中的攝像機發(fā)生移動。需要說明的是,本發(fā)明中,攝像機發(fā)生移動可指攝像機的位置移動,也可指攝像機的視角發(fā)生變化等,本發(fā)明并不具體限定。基于上面描述的靜態(tài)場景樹的更新條件,則步驟103中,更新靜態(tài)場景樹中的物體包括更新靜態(tài)場景樹中由于所述靜態(tài)場景樹的更新條件而引起變化的物體。至此,完成步驟103的描述。從步驟103可以看出,本發(fā)明是在靜態(tài)場景樹的更新條件滿足時,才從靜態(tài)場景樹中取出發(fā)生更新的數(shù)據(jù)。例如在玩家操作的游戲角色移動時才會在當前幀從靜態(tài)場景管理樹中更新因該游戲角色移動而引起變化的數(shù)據(jù)。步驟104,在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體。本發(fā)明中,動態(tài)場景樹的更新與靜態(tài)場景樹,設置了一個更新條件,當該更新條件滿足時,才更新動態(tài)場景樹,否則,即使下一幀到達,也不會更新動態(tài)場景樹。其中,針對動態(tài)場景樹的更新條件包括但不限于以下內(nèi)容每一巾貞到達時;或者, 動態(tài)場景樹所綁定的事件被觸發(fā)和/或針對動態(tài)場景樹設置的更新開關處于打開狀態(tài)。其中,動態(tài)場景樹所綁定的事件在動態(tài)場景樹中的物體發(fā)生變化時被觸發(fā),這里,動態(tài)場景樹中的物體發(fā)生變化包括但不限于以下內(nèi)容創(chuàng)建、移動、或刪除。本發(fā)明中,動態(tài)場景樹的更新條件為每一幀到達,主要是因為動態(tài)場景樹用來存放所有可以移動的物體,而因為游戲場景中動態(tài)物體比較少,所以即使每一幀都更新動態(tài)場景樹,對CPU的壓力比較小。另外,需要說明的是,當動態(tài)場景樹的更新條件包括動態(tài)場景樹設置的更新開關處于打開狀態(tài)時,則,本發(fā)明可在完成動態(tài)場景樹的更新后,將關閉針對動態(tài)場景樹設置的更新開關,使其處于關閉狀態(tài),這樣保證有選擇性地更新動態(tài)場景樹,節(jié)省CPU開銷。至此,完成圖I所示的流程。下面對本發(fā)明中的靜態(tài)場景樹和動態(tài)場景樹進行分析本發(fā)明中,所述靜態(tài)場景樹采用滿四叉樹的結(jié)構存放靜態(tài)物體至各個節(jié)點上。其中,所謂滿四叉樹,其是指將空間無限細分為N層的滿四叉樹。這個N取決于初始化時設置的閥值。當該閥值很小時,這個N就會很大,這樣空間會被分的很小。比如說一個256*256的場景,如果被分了 8層的話,那么最底層的節(jié)點將是1*1的大小。為了保證后續(xù)從靜態(tài)場景樹中快速查找物體,本發(fā)明中,所述靜態(tài)場景樹中每一節(jié)點可以不停生成子節(jié)點,但當?shù)竭_生成的子節(jié)點達到預設最小閾值時就不生成子節(jié)點,這可以保證分布在某一個節(jié)點中的物體不至于過多,提高查找速度。至于動態(tài)場景樹,其使用的是另一種特殊的四叉樹,該四叉樹不同于上述的滿四叉樹。針對該四叉樹中的每一節(jié)點,設置一個預設最大閾值。每一節(jié)點的預設最大閾值要求該節(jié)點存放的物體數(shù)量不超過該預設最大閾值,而當掛在該節(jié)點上的物體個數(shù)大于等于該預設最大閾值時,就不會向下生成子節(jié)點,這樣做的目的是使該動態(tài)場景樹的層級很低,層數(shù)很少。因為動態(tài)物體的個數(shù)是遠低于靜態(tài)物體的,針對該四叉樹中的每一節(jié)點設置一個預設最大閾值可以盡量降低遍歷整個動態(tài)場景樹帶來的開銷。至此,完成本發(fā)明提供的方法描述。下面對本發(fā)明提供的裝置進行描述參見圖2,圖2為本發(fā)明實施例提供的裝置結(jié)構圖。如圖2所示,該裝置包括第一存放單元,用于存放游戲場景中的靜態(tài)物體至靜態(tài)場景樹;第二存放單元,用于存放游戲場景中的動態(tài)物體至動態(tài)場景樹;第一更新單元,用于在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體;第二更新單元,用于在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體。其中,所述針對靜態(tài)場景樹的更新條件包括但不限于以下內(nèi)容玩家操作的游戲角色發(fā)生移動;或者,游戲場景中的攝像機發(fā)生移動。其中,所述針對動態(tài)場景樹的更新條件包括但不限于以下內(nèi)容每一幀到達時;或者,動態(tài)場景樹所綁定的事件被觸發(fā)和/或針對動態(tài)場景樹設置的更新開關處于打 開狀態(tài),其中,動態(tài)場景樹所綁定的事件在動態(tài)場景樹中的物體發(fā)生變化時被觸發(fā),所述動態(tài)場景樹中的物體發(fā)生變化包括但不限于以下內(nèi)容創(chuàng)建、移動、或刪除。至此,完成本發(fā)明提供的裝置描述。由以上技術方案可以看出,本發(fā)明中,通過將游戲場景中的靜態(tài)物體存放至靜態(tài)場景樹,以及將游戲場景中的動態(tài)物體存放至動態(tài)場景樹,實現(xiàn)游戲場景中的靜態(tài)物體和動態(tài)物體分開存放,之后對靜態(tài)場景樹和動態(tài)場景樹分開管理,即在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體,以及在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體,實現(xiàn)了對不同數(shù)據(jù)進行有針對性地不同管理,顯然相比于現(xiàn)有技術提高渲染效率、降低CPU開銷。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
      權利要求
      1.一種網(wǎng)絡游戲中的場景管理方法,其特征在于,該方法包括 將游戲場景中的靜態(tài)物體存放至靜態(tài)場景樹; 將游戲場景中的動態(tài)物體存放至動態(tài)場景樹; 在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體; 在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體。
      2.根據(jù)權利要求I所述的方法,其特征在于,所述針對靜態(tài)場景樹的更新條件包括但不限于以下內(nèi)容 玩家操作的游戲角色發(fā)生移動;或者, 游戲場景中的攝像機發(fā)生移動。
      3.根據(jù)權利要求I或2所述的方法,其特征在于,所述更新靜態(tài)場景樹中的物體包括 更新靜態(tài)場景樹中由于所述靜態(tài)場景樹的更新條件而引起變化的物體。
      4.根據(jù)權利要求I所述的方法,其特征在于,所述針對動態(tài)場景樹的更新條件包括但不限于以下內(nèi)容 每一巾貞到達時;或者, 動態(tài)場景樹所綁定的事件被觸發(fā)和/或針對動態(tài)場景樹設置的更新開關處于打開狀態(tài);其中,動態(tài)場景樹所綁定的事件在動態(tài)場景樹中的物體發(fā)生變化時被觸發(fā),所述動態(tài)場景樹中的物體發(fā)生變化包括但不限于以下內(nèi)容創(chuàng)建、移動、或刪除。
      5.根據(jù)權利要求I或4所述的方法,其特征在于,所述更新動態(tài)場景樹中的物體包括 更新動態(tài)場景樹中由于所述動態(tài)場景樹的更新條件而引起變化的物體。
      6.根據(jù)權利要求I所述的方法,其特征在于,所述靜態(tài)場景樹采用滿四叉樹的結(jié)構存放靜態(tài)物體至各個節(jié)點上;所述靜態(tài)場景樹中每一節(jié)點生成子節(jié)點,直至生成的子節(jié)點達到預設最小閾值。
      7.根據(jù)權利要求I或6所述的方法,其特征在于,所述動態(tài)場景樹采用不同于滿四叉樹的四叉樹結(jié)構存放動態(tài)物體至各個節(jié)點,所述動態(tài)場景樹中每一節(jié)點存放的物體數(shù)量不超過預設最大閾值。
      8.—種網(wǎng)絡游戲中的場景管理裝置,其特征在于,該裝置包括 第一存放單元,用于存放游戲場景中的靜態(tài)物體至靜態(tài)場景樹; 第二存放單元,用于存放游戲場景中的動態(tài)物體至動態(tài)場景樹; 第一更新單元,用于在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體; 第二更新單元,用于在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體。
      9.根據(jù)權利要求8所述的裝置,其特征在于,所述針對靜態(tài)場景樹的更新條件包括但不限于以下內(nèi)容 玩家操作的游戲角色發(fā)生移動;或者, 游戲場景中的攝像機發(fā)生移動。
      10.根據(jù)權利要求8所述的裝置,其特征在于,所述針對動態(tài)場景樹的更新條件包括但不限于以下內(nèi)容 每一巾貞到達時;或者, 動態(tài)場景樹所綁定的事件被觸發(fā)和/或針對動態(tài)場景樹設置的更新開關處于打開狀態(tài),其中,動態(tài)場景樹所綁定的事件在動態(tài)場景樹中的物體發(fā)生變化時被觸發(fā),所述動態(tài)場景樹中的物 體發(fā)生變化包括但不限于以下內(nèi)容創(chuàng)建、移動、或刪除。
      全文摘要
      本申請?zhí)峁┝司W(wǎng)絡游戲中的場景管理方法和裝置。其中,該方法包括將游戲場景中的靜態(tài)物體存放至靜態(tài)場景樹;將游戲場景中的動態(tài)物體存放至動態(tài)場景樹;在滿足針對靜態(tài)場景樹的更新條件時,更新靜態(tài)場景樹中的物體;在滿足針對動態(tài)場景樹的更新條件時,更新動態(tài)場景樹中的物體。
      文檔編號G06F19/00GK102750450SQ20121021218
      公開日2012年10月24日 申請日期2012年6月21日 優(yōu)先權日2012年6月21日
      發(fā)明者劉璐 申請人:北京像素軟件科技股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1