※ 本文轉寄自 ptt.cc, 文章原始頁面
看板C_Chat
標題

Re: [閒聊] 王國之淚去年延期時已接近完成

時間
最新2024-05-21 13:45:00
留言81則留言,30人參與討論
推噓31 ( 31050 )
→ spfy: 雖然有人解釋但我還是想不通倒轉要怎麼實作 不可能把林克附 → spfy: 近所有物件的軌跡都長期記錄起來吧? 記錄一個物件在空間中的姿態(pose: 包含位移跟旋轉) 一般是用一個4x4的浮點數(float: 有小數點的數字, 4 byte)矩陣 也就是說紀錄一筆位置, 記憶體大小是4x4x4=64 byte 假設他每秒記錄30筆pose (30fps), 並假設每個可移動物件都紀錄10秒 則一個物件的時間倒轉記錄是64x30x10=19.2 kbyte 超過一定距離的物件不能時間倒轉, 甚至都不會載入 所以假設他同時間最多有1000個物件會被載入(實際上應該沒這麼多) 他用來存時間倒轉資訊的總記憶體用量在每個時刻都不會超過19.2mbyte 由此可知時間倒轉其實負擔並不大 對於一個現代的系統來說, 19mb通常是可以忽略的大小 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 39.15.2.1 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1684727690.A.120.html

81 則留言

w2776803, 1F
這個學校有教嗎

y2468101216, 2F
推專業

hohiyan, 3F
老任厲害的地方在其他物件都還是正常運行,而且會跟倒轉

ronga, 4F
推專業,紀錄座標真的耗的資源還好

hohiyan, 5F
的那個東西產生各式互動

w2776803, 6F
感覺是業界人士

storewater, 7F
你還要考慮朝向跟旋轉吧,雖然理論上也不會差太多

tv1239, 8F
是說這系統任天堂不是有申請專利? 記得有公開作法

storewater, 9F
喔 沒事看錯

w2776803, 10F
可以倒轉時光同時還能用究極手根本神

WiLLSTW, 11F
旋轉基本上都是記錄在那個矩陣內了

hank81177, 12F
可以究極手+倒轉+通天術同時使用

WiLLSTW, 13F
比較麻煩的是每frame所有物件可能都要把矩陣資料push進去

bestadi, 14F
https://i.imgur.com/faB8YRD.gif 倒轉引力+究極手
Re: [閒聊] 王國之淚去年延期時已接近完成

speedingriot, 15F
倒轉的物體還要維持物理邏輯就爆炸了

hylkevin, 16F
朝向跟旋轉就是pose喔,用一個轉換矩陣描述。或者另一種

hylkevin, 17F
方法是用translation跟quaternion(四元數)兩組vector(3+

hylkevin, 18F
4個浮點數)描述。但這兩種東西其實是等價的,在這邊用轉

hylkevin, 19F
換矩陣程式寫起來是比較簡單的。

w2776803, 20F
聽起來很簡單實際上很難設計吧

ms0302610, 21F
我也是這麼想的(裝

WiLLSTW, 22F
不過問題還是在發動倒轉物件互動上的設計

hylkevin, 23F
to 13F要把資料push可以用一個長度30x10的circular qu

hylkevin, 24F
eue來存,但因為要先進後出,所以要把它當stack用。

tv1239, 25F
能夠互動還不出大bug真的是這系統最可怕的地方

nisioisin, 26F
有別的遊戲在做過倒轉嗎?

hylkevin, 27F
to 20F這邊只討論軌跡資料儲存,他怎麼呈現,物理怎麼

hylkevin, 28F
運算要看有沒高手解答。

cloud0607, 29F
單獨物件位移倒轉的沒印象 但整體場景時間倒轉機制的有

tv1239, 30F
360時代有一片Braid 有各種時間相關的技能

cloud0607, 31F
確實 軌跡紀錄不算負擔太大的東西 但跟其他系統/物理

kiedveian, 32F
每frame推應該拉個queue放一丟一就好

Slas, 33F
Braid記得是全畫面倒帶那種

cloud0607, 34F
疊加就是很可怕的東西了

cloud0607, 35F
Braid啊 那可是把時間要素玩出花來的神作了

WiLLSTW, 36F
喔喔用Circular Queue來存的確是可以降低不少效能消耗 學

WiLLSTW, 37F
到了

tv1239, 38F
Braid全場景倒轉 不過記得主角還是可以正常活動? 太久沒玩

Bugquan, 39F
一個是倒轉的物體有限,另一個是範圍,基本就在林克的可

tv1239, 69F
https://tinyurl.com/mpm9vry5 當初申請的內容

jackyT, 70F
玩起來應該沒紀錄動量跟速度 所以應該只記錄transformat

jackyT, 71F
ion沒錯

jackyT, 72F
難的在一拖拉庫系統混在一起的時候怎麼迴避cache miss

Bugquan, 73F
應該是沒有,因為中間黏了東西,照樣是回去原來的位置

WiLLSTW, 74F
算動量我就不能年呀哈哈在木柴上了

shi0520, 75F
原po說到重點 不需每筆資料都記錄 只需選擇一區間再用cub

shi0520, 76F
ic spline去推估區間內數值 出來結果一樣平滑

strlen, 77F
容量還好 遊戲容量會大基本都是材質包語音包這些 程式沒差

spfy, 78F
感謝解釋 我這種拉基工程師實在讚嘆

crazylin924, 79F
王國之淚已經導論到這種層面了嗎…(讚嘆

dennisN, 80F
物理沒做好其他東西都是負加成 一代打磨的很精緻了二代才

dennisN, 81F
有辦法這樣玩