• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            琴弦上的熊

            Machine should work, people should think...

              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              2 隨筆 :: 1 文章 :: 1 評(píng)論 :: 0 Trackbacks
            Jul.25, 2006
            ?關(guān)于場(chǎng)景管理有了一些頭緒,總算走出了被“選用哪種形式的場(chǎng)景管理”所困擾的煩惱。認(rèn)識(shí)到場(chǎng)景的組織最關(guān)鍵的是應(yīng)該以“邏輯層次+幾何結(jié)構(gòu)”來組織。加速渲染,對(duì)象剔除,碰撞檢測(cè)都只是場(chǎng)景所應(yīng)具有的功能,應(yīng)該在不同的層次上區(qū)別的處理,而不能單純的指望用一個(gè)“最優(yōu)”的場(chǎng)景管理數(shù)據(jù)結(jié)構(gòu)或算法來通吃。
            ?當(dāng)前的處理方式是用樹來維持所有對(duì)象(層次間的關(guān)系以邏輯為主,幾何結(jié)構(gòu)為輔),每個(gè)節(jié)點(diǎn)上存儲(chǔ)變換矩陣(LocalToWorld & WorldToLocal)渲染場(chǎng)景時(shí)從根節(jié)點(diǎn)起遍歷場(chǎng)景樹,每得到當(dāng)前節(jié)點(diǎn)時(shí)都通過它的變換矩陣得到局部坐標(biāo)系。
            ?最重要的是這個(gè)場(chǎng)景樹對(duì)關(guān)卡設(shè)計(jì)師而言一定要是可隨時(shí)進(jìn)行觀察調(diào)整以及一定程度上的性能評(píng)估的,由于場(chǎng)景對(duì)象間的邏輯在程序引擎中很難管理(這些往往是由游戲設(shè)計(jì)師和關(guān)卡設(shè)計(jì)師共同擬定的),所以場(chǎng)景樹的結(jié)構(gòu)管理權(quán)大部分應(yīng)當(dāng)由程序員轉(zhuǎn)交至具體關(guān)卡的設(shè)計(jì)者。這樣一是便于關(guān)卡設(shè)計(jì)師根據(jù)場(chǎng)景的復(fù)雜度和性能評(píng)估隨時(shí)調(diào)整,二是便于后期針對(duì)特定的場(chǎng)景進(jìn)行特定的優(yōu)化,
            ?最重要的一點(diǎn)是任意的節(jié)點(diǎn)與其所有子節(jié)點(diǎn)都成了邏輯相關(guān)的,邏輯相關(guān)的好處在于“對(duì)某個(gè)節(jié)點(diǎn)進(jìn)行變換能夠立刻應(yīng)用于它的所有子節(jié)點(diǎn)”在大部分情況下都是合適的,因?yàn)樾枰黄鹱儞Q的對(duì)象往往都是邏輯相關(guān)的。這樣就免去了關(guān)卡設(shè)計(jì)師常常需要把某些對(duì)象并為一組一起移動(dòng)的麻煩。打個(gè)生動(dòng)點(diǎn)兒的比方,在即時(shí)戰(zhàn)略中,所有的兵種由于不是邏輯相關(guān)的,所以我們需要用Ctrl+1,Ctrl+2等將其分隊(duì),將對(duì)所有對(duì)象的獨(dú)立操作簡(jiǎn)化為組操作。但是如果所有的軍隊(duì)根據(jù)上下級(jí)所屬關(guān)系成為邏輯相關(guān)的層次結(jié)構(gòu),我們只需選中一個(gè)連長(zhǎng)就可以操作該連的所有單位,而選中司令則可以處理整個(gè)軍隊(duì),這樣對(duì)關(guān)卡的設(shè)計(jì)者而言顯然效率有極大的提高。
            ???
            ?關(guān)于游戲內(nèi)建的編輯器,也有了一些想法,不一定所有的信息都需要在hud上顯示出來,這樣既麻煩也不便于顯示和修改。改進(jìn)的辦法是在游戲外另開一個(gè)Editor窗口專用于顯示信息和修改信息,比如選中對(duì)象時(shí)顯示和修改被選中對(duì)象的信息,顯示和修改場(chǎng)景樹的節(jié)點(diǎn)間層次關(guān)系,等等。這樣最大的受益者是擁有雙顯示器的關(guān)卡設(shè)計(jì)師。他們可以在一個(gè)屏幕上全屏運(yùn)行游戲,而在另一個(gè)屏幕上修改場(chǎng)景樹的屬性。
            ?
            posted on 2006-07-26 15:56 琴弦上的熊 閱讀(576) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

            # re: 場(chǎng)景管理 —— 由關(guān)卡設(shè)計(jì)師控制場(chǎng)景復(fù)雜度和邏輯相關(guān)性 2008-01-21 17:42 ljb
            不知什么地方有C++的代碼來實(shí)現(xiàn),我在項(xiàng)目中碰到這樣的問題。  回復(fù)  更多評(píng)論
              


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            成人国内精品久久久久影院| 久久91综合国产91久久精品| 久久综合亚洲鲁鲁五月天| 亚洲人AV永久一区二区三区久久| 2021国产精品久久精品| 乱亲女H秽乱长久久久| 久久夜色精品国产亚洲av| 久久久久国产精品嫩草影院| 久久无码av三级| 亚洲精品乱码久久久久久按摩 | 精品国产综合区久久久久久| 少妇久久久久久被弄到高潮| 狠狠色婷婷久久一区二区三区| 精品久久久久久国产免费了| 中文字幕无码免费久久| 国产激情久久久久影院小草| 久久人人妻人人爽人人爽| 日韩一区二区三区视频久久| 国产成人久久AV免费| 亚洲精品乱码久久久久久蜜桃图片 | 波多野结衣中文字幕久久| 一本久道久久综合狠狠躁AV| 一级做a爰片久久毛片16| 狠狠色丁香久久综合婷婷| 久久综合给合久久狠狠狠97色 | 97精品伊人久久大香线蕉app| 久久婷婷午色综合夜啪| 四虎影视久久久免费| 久久久久久青草大香综合精品| 日本久久久精品中文字幕| 欧美久久亚洲精品| 日韩久久无码免费毛片软件| 久久久人妻精品无码一区| 人妻无码久久精品| 中文字幕无码久久精品青草| 国产精品美女久久福利网站| 免费无码国产欧美久久18| 2021国内精品久久久久久影院| 久久AV高潮AV无码AV| 乱亲女H秽乱长久久久| 久久综合久久综合久久|