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

            戰(zhàn)魂小筑

            討論群:309800774 知乎關注:http://zhihu.com/people/sunicdavy 開源項目:https://github.com/davyxu

               :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
              257 隨筆 :: 0 文章 :: 506 評論 :: 0 Trackbacks

            相位技術

            相位技術大規(guī)模出現(xiàn)在魔獸世界WLK版本, 現(xiàn)在應用已經廣泛應用在各種MMORPG游戲中. 下面對相位技術的做法進行簡單歸納匯總

            表現(xiàn)分類

            副本相位

            早期副本的出現(xiàn), 避免搶怪問題. 所以, 副本其實本身就是一種相位技術. 只不過實現(xiàn)時, 我們一般會將小隊和怪物直接預分配在獨立的一個副本實例中(所以副本原文也是實例的意思)

            分線相位

            相位技術還沒有正式命名時, 同一個場景, 玩家進到不同的分線看到的玩家不一樣, 也是屬于相位的一種. 當然, 如果是組隊玩家, 服務器默認會分配所有隊伍玩家在同一個線(位面)

            真相位

            副本相位和分線相位其實都是靜態(tài)相位, 一旦進入, 中途不會有切換或者混合查看的過程. 真相位可以在一個場景中,動態(tài)切換相位, 相位內和相位外所以不同

            我們常見的真相位表現(xiàn)為: 相位中的角色+玩家+隊伍成員

            在護送任務時, 還會在上面所見角色中疊加世界中的所有角色, 也就是說, 你和隊伍成員可以看到的角色, 其他人看不到, 其他人也看不到你和你的隊伍成員


            為了清晰的簡單的描述, 我為相位創(chuàng)建如下概念與名詞

            相位客體

            表現(xiàn)為除玩家外的角色(怪物,交互物體與相位可見場景)

            私有客體

            這是最常見的一種相位內角色

            • 持有變量

              取PhasingID時,為PhasingTargetID

            • 生成規(guī)則

              當玩家開啟相位后, 在玩家相位內生成的角色為私有客體.

              此時, 將 PhasingTargetID設置為相位生成者的實例ID

            • 刪除規(guī)則

              如果玩家退出相位, 私有客體會存在一段時間或按照需求刪除

            公共客體

            一般指提前放置在場景中, 世界內不可見, 但是能被同相位玩家可見,且同相位玩家都可以互相可見 比如: 只要接了同一個任務的玩家, 都可以看到的NPC

            • 持有變量

              取PhasingID時,為PublicPhasingID

            • 生成規(guī)則

              通過場景編輯器, 放置角色時, 設置其可被觀察到的任務ID

              角色被加載后, 將任務ID設置到StaticPhasingID

            • 刪除規(guī)則

              場景刪除, 角色刪除

            相位主體

            包含玩家與同隊伍玩家

            • 開啟相位后, 可見私有客體+公有客體

            • 隊長視為相位主體, 單人時, 自己為隊長

            • 隊伍其他成員共享隊長的私有相位客體

            • 隊伍其他成員根據(jù)自己的PublicPhasingID匹配目標對象的PublicPhasingID時可互相可見

            • 持有變量

            相位開啟時, 取PhasingID時, 為角色實例ID

            相位關閉時, 取PhasingID時, 為0

            PublicPhasingID

            可見規(guī)則

            當兩個角色的PhasingID相等時, 主體與私有客體互相可見

            當兩個角色的PublicPhasingID相等時, 主體與公有客體互相可見

            可以通過開關設置, 是否在可見的相位客體基礎上, 疊加世界角色(護送任務)

            約束

            • 玩家同時只能看見1個相位
            posted on 2017-04-08 14:41 戰(zhàn)魂小筑 閱讀(20911) 評論(0)  編輯 收藏 引用 所屬分類: 游戲開發(fā)技術網絡 服務器技術
            狠狠人妻久久久久久综合蜜桃| 青青热久久国产久精品 | 伊人久久大香线蕉AV色婷婷色| 久久夜色精品国产噜噜亚洲a| 中文字幕无码久久精品青草 | 久久综合色老色| 久久久久久夜精品精品免费啦| 久久99国产乱子伦精品免费| 18岁日韩内射颜射午夜久久成人| 香蕉99久久国产综合精品宅男自 | 囯产极品美女高潮无套久久久| 国产成人精品免费久久久久| 日韩久久久久中文字幕人妻| 久久婷婷五月综合97色一本一本 | 国内精品伊人久久久久妇| 欧美va久久久噜噜噜久久| 久久亚洲国产精品123区| 国产精品久久久久影院色| 漂亮人妻被中出中文字幕久久| 久久香蕉国产线看观看乱码 | 狠狠色丁香婷婷久久综合不卡| 亚洲伊人久久综合影院| 99久久婷婷国产综合精品草原| 久久精品欧美日韩精品| 久久丫忘忧草产品| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 久久婷婷成人综合色综合| 亚洲狠狠婷婷综合久久久久| 色综合久久88色综合天天 | 99热都是精品久久久久久| 久久精品人人做人人爽97 | 亚洲午夜久久影院| 国内精品久久久久久野外| 日韩精品无码久久久久久| 亚洲va久久久噜噜噜久久狠狠| 久久亚洲国产成人影院| 热久久国产欧美一区二区精品| 久久久久99精品成人片三人毛片 | 人妻久久久一区二区三区| 伊人久久无码中文字幕| 久久精品国产亚洲AV影院|