• <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圖形渲染,網絡引擎 — tonykee's Blog
            隨筆 - 45, 文章 - 0, 評論 - 309, 引用 - 0
            數據加載中……

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

            障礙圖的矩陣編輯搞定了,編輯起來非常方便,發個圖鑒賞鑒賞。


            下午寫了A*算法的實現,原以為很復雜,其實也還算有點復雜
            不過基本上很順利,一下午就封裝出來了
            只是其效率還很不滿意,特別是要不停的創建釋放內存Open列表和Close列表操作太頻繁

            我選擇了MuiltSet編制了評估路徑損耗的排序規則,set的內部樹結構,用來做這些恰到好處。
            但就是對不停的創建和釋放對象這方面感覺很不滿意,或許考慮用Memory pool來解決這個問題

            下面是A*算法的實現,也發出來如果你需要的話,可以拿來用用,盡管網上的例子已經有很多實現了
            每個人都有自己的風格,這么經典的算法不自己寫一遍似乎說不過去,再說將來還要改進和擴展呢

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


            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);
             }


            算法實現源碼



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

            評論

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            我師弟在高二那年也做了一個大型的LOD地圖
            參考www.graphixer.com.cn
            2008-07-10 19:05 | 陳梓瀚(vczh)

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍[未登錄]  回復  更多評論   

            A*可以考慮用二叉堆來優化。
            2008-07-11 23:16 | christanxw

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            樓主算法有錯誤,沒有G優化,這個只是啟發式廣度有限,不是真正的A*
            2008-07-13 20:16 | w2001

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            是啊,H做了判定,G沒有考慮,需要改進一下評估函數
            2008-07-13 20:44 | 李侃

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            初識A*算法

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

              其中f(n)是節點n的估價函數,g(n)實在狀態空間中從初始節點到n節點的實際代價,h(n)是從n到目標節點最佳路徑的估計代價。在這里主要是h(n)體現了搜索的啟發信息,因為g(n)是已知的。如果說詳細點,g(n)代表了搜索的廣度的優先趨勢。但是當h(n)>>g(n)時,可以省略g(n),而提高效率。

            主要是看了這段介紹

            2008-07-13 20:57 | 李侃

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            上面的介紹也是一知半解的人寫的。加Openlist的時候還要判別能否優化已有位點的G,你源碼中也無,再仔細看看。
            2008-07-14 13:39 | w2001

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            不管咋樣,對我還有有點用,謝了
            2008-07-16 03:08 | 放屁阿狗

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

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

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

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

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

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

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

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

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            398514515 你好 加下 請教你一些問題 關于地形障礙你是怎么想的
            2010-03-21 22:30 | black0592

            # re: 最近把地形障礙編輯做出來了,A*算法自己也寫了一遍  回復  更多評論   

            你這個好像是2d吧 我想請教你一些3d的地形障礙
            2010-03-21 22:32 | black0592
            怡红院日本一道日本久久 | 新狼窝色AV性久久久久久| 午夜精品久久影院蜜桃| 精品久久久久久无码不卡| 人妻精品久久无码区| 久久精品国产99国产精品澳门| 久久www免费人成精品香蕉| 欧美亚洲国产精品久久久久| 久久久久成人精品无码中文字幕| 国产精品久久一区二区三区| 日日狠狠久久偷偷色综合96蜜桃| 久久婷婷国产剧情内射白浆 | 精品久久久久久综合日本| 久久久久亚洲精品男人的天堂| 亚洲国产精品一区二区久久hs| 亚洲综合久久综合激情久久 | 久久99国产精品久久久| 久久久久亚洲精品日久生情| 国产无套内射久久久国产| 久久婷婷五月综合97色一本一本| 久久久久国产精品麻豆AR影院 | 思思久久好好热精品国产| 久久美女网站免费| 亚洲国产精品无码久久一线| 亚洲国产精品嫩草影院久久| 精品久久久久久国产牛牛app| 亚洲va久久久噜噜噜久久男同| 武侠古典久久婷婷狼人伊人| 品成人欧美大片久久国产欧美...| 久久精品国产亚洲AV香蕉| 97久久国产露脸精品国产| 性做久久久久久久久久久| 久久久久噜噜噜亚洲熟女综合| 久久精品一区二区| 国产亚洲婷婷香蕉久久精品| 99久久99久久久精品齐齐 | 亚洲国产精品无码久久九九| 91亚洲国产成人久久精品| 久久香蕉国产线看观看99 | 亚洲精品国产自在久久| 久久久免费观成人影院|