把飛機架起來

2021-09-22 23:19:16 字數 1134 閱讀 4359

下面是截圖:

2邊各控制一台飛機,在2端實時互動。

為了好看,我加入了簡單的特效,背景光環與乙個半月,我稱之為月金輪。

主體涉及到的動畫邏輯是 座標的概念與定時器。

其中子彈是靠定時器觸發的,如下面**所示,每0.8秒產生一次射擊。

月金輪相對於飛機是二級旋轉,對應座標系如下

需要將這2個座標系的旋轉合成。實現如下:

將月金輪設為背景光環的子節點。

背景光環與月金輪同時旋轉。

和前面文章不同的是,現在似乎2端似乎不太同步了。

我們看下圖

除了位置受對方控制外,我們對月金輪的特效都是兩邊各自渲染,由於2端的所分配的cpu狀況不同,必然會

產生這些差異。

這就產生了2個分支:

完全同步與關鍵同步。

我把2端簡化稱為a,b端。

相對應的投影稱之為a', b'。

完全同步:a'的所有動作絕對與a一致,終端2上的a'的每個旋轉角度都有a同步過來,這樣當終端1本身卡頓或者網路延遲時終端2上的a'表現會

很卡。關鍵同步:各自按同一套機制渲染,終端1上的a將結果同步到a',終端2上的b將結果同步到b'。

王者榮耀與本例採用的是關鍵同步,2端的動作並不是絕對一致,也無法做到絕對一致。