發射器影格延遲

這也不算是回溯相容性問題,但也出現在搶先體驗階段中,我們認為同樣很值得在此探討。發射器之所以會出現影格延遲,原因是從參考來源複製物件時,需要一個影格才能執行其中包含的邏輯,並確保一切都在正確狀態。

範例

想像你有一個開關和正在旋轉的刀鋒,而開關正在啟動這片旋轉中的刀鋒。將此裝置選取為發射器的參考目標時,旋轉中的刀鋒仍會作為發射器的參考物件存在於場景中,但這時刀鋒已經沒有動力。

發射物體時,遊戲會將操作複製到參考來源上。因此,現在你有了開關和旋轉刀片的副本,但刀片是關閉狀態 (開關未啟用)。

程式碼會先傳送訊號到線路,接著影格中才會發射物件 – 因此,如果要在發射影格上顯示已發射的物件,你會在影格中看見靜態刀片,之後開關將訊號傳送到線路後,刀片會開始旋轉並在下一個影格出現。因此,為了避免這類問題 (以及涉及多個零件和時間軸等更複雜的問題),我們不會在第一個發射的影格顯示物件。物件不會在該影格產生物理運動,就不會執行邏輯 (觸發區/光線投射等等)。

在第二個影格,還可以做個巧妙的設定:物件出現時,如果發射器也同時移動,我們會注意到影格延遲,這是因為物件會在發射器後出現。因此,我們可以移動最後一分鐘的已發射物件,把物件移動到發射器發射此影格後物件應該落在的位置!這時,所有速度也都會重新計算。

「野火」中的角色在死亡時會損失兩條生命,因為角色會從發射器重生。若已發射角色內的邏輯無法在第一個影格通訊,會導致系統再次殺害角色。

已發射時間軸:在社群內容中還沒有提供相關範例,但我們自己製作了範例,並列為這類影格延遲的連鎖問題。這也是將此類發射器行為視覺化的最佳範例。

時間軸上第一個影格的已發射零件 (例如反閘),將會無法觸發任何結果。

如果你發現自己遇到這個問題,最簡單的辦法就是將反閘從時間軸撤下,如此一來,在邏輯啟用時,就會觸發任何邏輯事件。如果需要觸發脈衝,可能需要新增訊號控制器。

圈選的資訊

Dreams Universe 使用者指南目前仍在持續開發。請持續關注後續更新,我們會隨時間新增更多學習資源。