近期在Reddit的獨立遊戲版塊,一個開發者發了一段8秒的視頻獲得大量圍觀點贊。

這是一段風馳電掣的流程長鏡頭:從競技場中鐵甲戰士的決鬥開始,然後就像俯視的鳥兒一樣掠過圍觀的人羣、戰士的方針,直到鏡頭的國王。
然後這一段視頻是分了上下兩段,如果你盯着下半部分,第一時間會感覺:鏡頭裏流暢的世界移動,實際是整個世界在對着鏡頭演,而世界本身是靜止的。
![]()
可能你會覺得:這有啥稀奇的?電影運鏡不是很常見麼
不過如果仔細回看視頻,會發現流暢的鏡頭包含了順着樓梯角度的“仰視”,最終呈現的效果就像是有個人一路從決鬥場地跑到國王面前。
![]()
然後再回看對比圖,會發現“世界”的建模發生很不符合物理學規律的偏轉。
其實在遊戲開發裏,“移動鏡頭”和“移動世界”在數學上是一回事。
3D圖形API(比如OpenGL和Direct3D)有一個底層設定:攝像機永遠固定在座標原點,永遠朝向Z軸負方向。
你沒有辦法“移動攝像機”——你只能把整個世界往反方向挪。
所以當你在遊戲裏“向前跑”的時候,引擎實際上在做的事是:把整個場景往後推。攝像機根本沒動過。

這叫做視圖矩陣(View Matrix):所有3D遊戲都在用這套邏輯,只是大多數玩家永遠不會意識到。
那個8秒視頻之所以讓老外驚歎,是因爲它把這件事可視化了。
平時你只能從“玩家視角”看到結果,視頻切到側面,你纔看到“引擎在做什麼——你一直以爲自己在跑步,結果發現是跑步機在轉,這就像是地球自轉——你感覺不到,但它一直在動。
遊戲開發者用這種“視覺欺騙”的歷史,比很多人想象的要長。
《神祕海域2》的火車關,是遊戲史上最著名的“鏡頭騙局”之一。


那一關裏,德雷克在飛馳的火車上戰鬥,穿過森林、隧道、雪山,看起來火車真的在“前進”。


但真相是:火車從來沒有離開過原地。它在一條環形軌道上不斷循環,整個場景——森林、隧道、雪山——被設計成沿着這條環線排列,火車轉到哪裏,就“經過”哪裏。
玩家以爲火車在穿過一片廣闊的世界。實際上世界很小,只是在原地轉圈。
![]()
《超級馬里奧64》 則給出了另一種解法:遊戲裏有一個角色叫“Lakitu兄弟”,一個坐在雲上、手持攝像機鏡頭的烏龜。當你轉動視角的時候,Lakitu的鏡頭也跟着轉。
任天堂把這個“攝像機”做成了一個遊戲裏的角色,讓玩家接受“有人在拍我”這個設定。你操作的是馬里奧,但你的眼睛在Lakitu手裏。
![]()
這種方式後來被無數遊戲借鑑,在第三人稱遊戲裏,鏡頭總是跟在角色背後,但是並沒有更多解釋,它慢慢併成了一種約定俗成。

不過看看這種開發者小故事還挺有意思的——你會知道,那些喜愛的遊戲都是怎麼實現的,也更加容易領略到製作者爲了那些優秀遊戲付出的心血和努力。
更多遊戲資訊請關註:電玩幫遊戲資訊專區
電玩幫圖文攻略 www.vgover.com
