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

            勤能補(bǔ)拙,Expter

            成都游戲Coder,記錄游戲開發(fā)過程的筆記和心得!

            游戲中常見的幾種追蹤算法

                所謂追蹤,相對(duì)于另外一個(gè)角色來說是逃跑,首先需要做出追和逃跑的決策判斷。

            1.坐標(biāo)追蹤
                   也是最基本追逐方式,他根據(jù)要追蹤對(duì)象的坐標(biāo)來修改追蹤者的坐標(biāo),使兩者的距離逐漸縮短。
                    一個(gè)簡(jiǎn)單的例子:
                          Point   m_pPrey;   /// 被追蹤者
                          Point   m_pAtta;   ///  追蹤者
                    對(duì)于追蹤者來說:   新位置 =  舊位置 +  XY速度 ; 
                        
             1if( m_pAtta.x < m_pPrey.x )
             2    m_pAtta.x ++;
             3else if( m_pAtta.x > m_pPrey.x )
             4    m_pAtta.x --;
             5
             6
             7if( m_pAtta.y < m_pPrey.y )
             8    m_pAtta.y ++;
             9else if( m_pAtta.y > m_pPrey.y )
            10    m_pAtta.y --;

             
            2.視線追蹤
                  視線追蹤方式,主要是描述每一時(shí)刻都追蹤者會(huì)沿著被追逐者之間的直線方向運(yùn)動(dòng)。如圖所示:
                                
                 通過圖可以更好描述此問題,此問題的求解關(guān)鍵在于求出連接追蹤者與獵物之間的直線,可以通過向量知道:2個(gè)向量想減即可得到。
                 可以分別用追蹤者與獵物的位置坐標(biāo)構(gòu)造出兩個(gè)向量,假設(shè)b 代表追蹤者位置向量,a 代表獵物位置向量。做向量減法a-b 便得到了向量c,將c 的起點(diǎn)置于追蹤者的位置上,就得到了一條指向獵物的向量c. 此時(shí),令:

                 追蹤者X 方向速度 / 追蹤者Y 方向速度    =     c 向量x 軸分量/   c 向量y 軸分量 .即可求解。

            3.攔截追蹤
                  所謂攔截追蹤,如果考慮的是被追逐的目標(biāo)太遠(yuǎn),如果2者速度一樣,或者相差不大,有可能很難追上,玩過實(shí)況足球的都知道,如果采用上面的2中追逐方式,可能錯(cuò)過最佳的防守位置。下面是攔截追蹤的一個(gè)示例圖:

               
                對(duì)于追蹤者來說,他只需要知道被追蹤者的位置,方向與速度,講會(huì)計(jì)算一個(gè)最佳的攔截位置。然后你會(huì)發(fā)現(xiàn)這只是一個(gè)簡(jiǎn)單的追蹤問題。且需要的時(shí)間t最少。


            整個(gè)3種追蹤的源碼代碼 以及 demo都共享:
            /Files/expter/chase.rar

            下一篇通過實(shí)例demo來記錄學(xué)習(xí)的聚類算法:

            posted on 2009-10-09 23:57 expter 閱讀(4859) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 算法與數(shù)據(jù)結(jié)構(gòu)Ai

            評(píng)論

            # re: 游戲中常見的幾種追蹤算法 2009-11-08 16:06 zhangbing

            hehe 不錯(cuò)的東西  回復(fù)  更多評(píng)論   

            # re: 游戲中常見的幾種追蹤算法 2010-05-17 17:42 hyx

            有沒有用JAVA寫的追蹤算法?  回復(fù)  更多評(píng)論   

            91精品国产91久久| 亚洲精品无码久久千人斩| 久久久久人妻精品一区| 久久精品亚洲乱码伦伦中文| 一级做a爰片久久毛片看看| 久久精品中文闷骚内射| 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲高清不卡 国产成人精品久久亚洲 | 亚洲中文字幕久久精品无码APP| 国产精品久久久久…| 狠狠色丁香久久婷婷综合图片| 久久久亚洲欧洲日产国码aⅴ | 日日狠狠久久偷偷色综合0| 97精品伊人久久久大香线蕉| 国产精品成人久久久| 99久久精品免费看国产| 久久水蜜桃亚洲av无码精品麻豆 | 亚洲欧美日韩精品久久| 青青热久久国产久精品 | 久久人人爽人人爽人人片AV不 | 亚洲精品无码久久毛片| 2021久久精品国产99国产精品| 久久精品桃花综合| 亚洲国产精品成人久久蜜臀| 99久久er这里只有精品18| 久久精品国产亚洲77777| 久久综合久久伊人| 久久久精品人妻一区二区三区蜜桃| 一级a性色生活片久久无| 久久精品无码av| 久久精品国产福利国产琪琪| 久久久久中文字幕| 999久久久国产精品| 麻豆精品久久久一区二区| 久久天天躁狠狠躁夜夜96流白浆| 性高湖久久久久久久久| 精品久久久久久无码专区不卡| 久久精品中文闷骚内射| 久久福利青草精品资源站免费| 四虎影视久久久免费观看| 久久精品国产第一区二区| 人人妻久久人人澡人人爽人人精品|