• <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>

            3d Game Walkman

            3d圖形渲染,網(wǎng)絡(luò)引擎 — tonykee's Blog
            隨筆 - 45, 文章 - 0, 評(píng)論 - 309, 引用 - 0
            數(shù)據(jù)加載中……

            最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍

            障礙圖的矩陣編輯搞定了,編輯起來(lái)非常方便,發(fā)個(gè)圖鑒賞鑒賞。


            下午寫了A*算法的實(shí)現(xiàn),原以為很復(fù)雜,其實(shí)也還算有點(diǎn)復(fù)雜
            不過(guò)基本上很順利,一下午就封裝出來(lái)了
            只是其效率還很不滿意,特別是要不停的創(chuàng)建釋放內(nèi)存Open列表和Close列表操作太頻繁

            我選擇了MuiltSet編制了評(píng)估路徑損耗的排序規(guī)則,set的內(nèi)部樹結(jié)構(gòu),用來(lái)做這些恰到好處。
            但就是對(duì)不停的創(chuàng)建和釋放對(duì)象這方面感覺(jué)很不滿意,或許考慮用Memory pool來(lái)解決這個(gè)問(wèn)題

            下面是A*算法的實(shí)現(xiàn),也發(fā)出來(lái)如果你需要的話,可以拿來(lái)用用,盡管網(wǎng)上的例子已經(jīng)有很多實(shí)現(xiàn)了
            每個(gè)人都有自己的風(fēng)格,這么經(jīng)典的算法不自己寫一遍似乎說(shuō)不過(guò)去,再說(shuō)將來(lái)還要改進(jìn)和擴(kuò)展呢

            明天把寫好的算法加入到地形編輯器中去,角色就能自己去找路徑移動(dòng)了。


            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            0 0 0 0 9 9 9 9 9 9 0 0 0 0 0 0
            0 0 0 0 9 1 1 1 1 0 9 0 0 0 0 0
            0 0 0 0 9 1 0 0 0 1 0 9 9 0 0 0
            0 0 0 0 9 1 0 0 0 0 1 1 9 0 0 0
            0 0 0 0 9 1 0 0 0 0 0 1 9 0 0 0
            0 0 0 9 0 1 0 0 0 0 0 1 9 0 0 0
            0 0 9 0 1 0 0 0 0 0 0 1 9 0 0 0
            0 9 0 1 0 0 9 9 0 0 1 0 9 0 0 0
            0 9 1 0 0 0 9 1 1 0 1 9 0 0 0 0
            0 9 1 0 0 0 9 9 0 1 1 9 0 0 0 0
            0 9 1 0 0 0 0 0 9 0 1 9 0 0 0 0
            9 0 1 0 0 0 0 0 0 9 9 9 0 0 0 0

             AStar astar;
             vector<PathPoint> path;
             //astar.FindPath(buf8x8, 8, 8, PathPoint(7, 0), PathPoint(7, 7), path, true);
             astar.FindPath(buf16x16, 16, 16, PathPoint(15, 0), PathPoint(11, 7), path, true);
             for(DWORD i = 0; i < path.size(); i ++)
             {
              printf("%d %d \r\n", path[i].i, path[i].j);
             }


            算法實(shí)現(xiàn)源碼



            posted on 2008-07-10 18:37 李侃 閱讀(3987) 評(píng)論(13)  編輯 收藏 引用 所屬分類: 室外場(chǎng)景編輯器

            評(píng)論

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            我?guī)煹茉诟叨悄暌沧隽艘粋€(gè)大型的LOD地圖
            參考www.graphixer.com.cn
            2008-07-10 19:05 | 陳梓瀚(vczh)

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍[未登錄](méi)  回復(fù)  更多評(píng)論   

            A*可以考慮用二叉堆來(lái)優(yōu)化。
            2008-07-11 23:16 | christanxw

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            樓主算法有錯(cuò)誤,沒(méi)有G優(yōu)化,這個(gè)只是啟發(fā)式廣度有限,不是真正的A*
            2008-07-13 20:16 | w2001

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            是啊,H做了判定,G沒(méi)有考慮,需要改進(jìn)一下評(píng)估函數(shù)
            2008-07-13 20:44 | 李侃

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            初識(shí)A*算法

            f(n) = g(n) + h(n)

              其中f(n)是節(jié)點(diǎn)n的估價(jià)函數(shù),g(n)實(shí)在狀態(tài)空間中從初始節(jié)點(diǎn)到n節(jié)點(diǎn)的實(shí)際代價(jià),h(n)是從n到目標(biāo)節(jié)點(diǎn)最佳路徑的估計(jì)代價(jià)。在這里主要是h(n)體現(xiàn)了搜索的啟發(fā)信息,因?yàn)間(n)是已知的。如果說(shuō)詳細(xì)點(diǎn),g(n)代表了搜索的廣度的優(yōu)先趨勢(shì)。但是當(dāng)h(n)>>g(n)時(shí),可以省略g(n),而提高效率。

            主要是看了這段介紹

            2008-07-13 20:57 | 李侃

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            上面的介紹也是一知半解的人寫的。加Openlist的時(shí)候還要判別能否優(yōu)化已有位點(diǎn)的G,你源碼中也無(wú),再仔細(xì)看看。
            2008-07-14 13:39 | w2001

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            不管咋樣,對(duì)我還有有點(diǎn)用,謝了
            2008-07-16 03:08 | 放屁阿狗

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            你好,你的MSN和QQ是多少啊。想問(wèn)問(wèn)你地形混合的一些技術(shù)
            2008-07-21 10:34 | 一般

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            感覺(jué)網(wǎng)格索引有些詭異。。。
            是為了特殊的要求么?
            2008-07-21 16:15 | 月隱

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            原先看了游戲精粹2介紹的就是這樣的索引形勢(shì),沒(méi)什么詭異的啊?
            2008-07-21 19:06 | 李侃

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            侃哥挺牛的啊,我是阿華哦。嘿嘿。
            2008-08-03 01:01 | v.la

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            398514515 你好 加下 請(qǐng)教你一些問(wèn)題 關(guān)于地形障礙你是怎么想的
            2010-03-21 22:30 | black0592

            # re: 最近把地形障礙編輯做出來(lái)了,A*算法自己也寫了一遍  回復(fù)  更多評(píng)論   

            你這個(gè)好像是2d吧 我想請(qǐng)教你一些3d的地形障礙
            2010-03-21 22:32 | black0592
            久久精品国产福利国产琪琪| 国产成人无码精品久久久久免费| 欧美日韩精品久久久久| 一本久久a久久精品综合香蕉| 欧美亚洲国产精品久久高清| 久久精品无码一区二区无码| 国产精品久久波多野结衣| 精品久久人人做人人爽综合| 久久人人爽人人人人爽AV| 久久精品黄AA片一区二区三区| 久久亚洲国产中v天仙www| 亚洲国产成人久久一区久久| 色欲综合久久中文字幕网| 久久精品国产精品亚洲下载 | 久久国产成人| 亚洲国产精品无码久久一区二区| 成人资源影音先锋久久资源网| 久久久久亚洲?V成人无码| 久久精品麻豆日日躁夜夜躁| 久久久久久精品免费看SSS| 国产精品久久免费| 久久综合香蕉国产蜜臀AV| 久久久噜噜噜久久| 国产精品美女久久久久网| 欧美精品久久久久久久自慰| 免费精品久久久久久中文字幕 | 久久www免费人成精品香蕉| 婷婷综合久久中文字幕蜜桃三电影 | 久久精品无码一区二区app| 精品久久久久香蕉网| 久久精品国产男包| 伊人久久一区二区三区无码| 99久久精品费精品国产| 久久噜噜电影你懂的| www久久久天天com| 2021久久国自产拍精品| 狠狠色婷婷久久一区二区三区| 无码人妻久久一区二区三区免费| 久久精品国产色蜜蜜麻豆| 无码国产69精品久久久久网站| 亚洲国产精品无码久久一线|