憤怒的小鳥碰撞過程是如何設計的?

時間 2021-05-12 09:37:24

1樓:

絕對不要小看《憤怒的小鳥》和《搗蛋豬》這些破遊戲,涉及的知識面非常之廣。

有些人吹牛皮說它簡單,但是讓他們拿出demo來,相信我,敢說這引擎簡單的乙個都拿不出demo來,知乎沒幾個這樣的人的。

你問問985碩士有幾個敢說能搞出這種demo的?

不說其他,就說這遊戲涉及到作用力的碰撞檢測,實際上它在進行作用力求解時會建立黎曼度量生成一系列線性方程組,從而把同步碰撞檢測問題歸納為迭代,而不是普通高中生想的那種"先變換後分離"或者"按照某個數學規則求解"。

因為這種方法具有通用性,所以只要迭代足夠它能給出很精緻的作用力效果還有同步碰撞檢測的結果,普通模仿是模仿不出來的,沒有微分幾何和張量分析基礎的人絕對不可能弄明白那些線性方程組到底怎麼來的。

雖然這引擎的作用力求解被簡化了很多,但絕對不會簡化得媽都不認識,不符合現代物理。

這引擎所求的三角形扭矩都是用的教材上的不定積分結果,功和等勢的求解也使用了大量嚴謹的判別法,也使用了大量多項式演算法。

就算是摩擦力和空氣阻力都是實實在在的基於線積分的微分方程組,關節也使用了雅克比矩陣的迭代產生的多項式方程。

關鍵是這個引擎堆積樹的實現,它使用了簡化的拉格朗日運動方程,普通的遊戲物理引擎參考書裡根本不會提這個東西,因為它很複雜。

不管怎麼樣,能完全靠自己寫出《搗蛋豬》的人,至少是個對現代剛體物理學熟悉並且透徹的人,在高等數學方面也有很多的知識積累,還有非常優秀的程式設計能力。

高中生不可能有這水平,有這水平的再差也是碩士。

2樓:

題主這問題涉及的問題好多啊....哪個學科的技術啊.....我說是大學物理和高中數學你信嗎?

我說這和計算機圖形學沒關係你信嗎?能不能自學入門啊。當然能啊,但是看Box2D文件是看不出道道的啊。

要看,這個Essential Math for Games Programmers.

我還是說明白點吧。基本啊,就是這麼一回事。你看那個遊戲是個動畫吧。

動畫就是一幀一幀的嘛,就是一秒畫好多幅畫嘛(人眼要求27楨/秒,一般至少60/秒),比如每秒畫60幅吧。遊戲這個東西吧,就是先畫第一幅。第一幅上面有鳥啊,豬啊,各種東西,我打算讓它們飛來飛去。

然後畫下一幅,下一幅怎麼畫啊?這個就講究了,下一幅畫,那個鳥應該往前飛一點吧?飛多少啊?

飛到哪啊?我得知道她飛到哪才能畫第二幅啊。怎麼知道她飛到哪啊?

這就涉及到她的速度啊,重力啊,質量啊,各種亂78遭的東西。所以就要先算一遍啊,算出來它該飛到哪,我才好畫。算這件事,就是Box2D幹的。

每畫一次就先算一次,算完了畫。一秒算60次,畫60次,就動起來啦。

然後要是碰到乙個東西怎麼辦呢?

現實裡怎麼辦的我就怎麼辦。現實裡物體碰撞以後怎麼運動的啊?不就是考慮彈性啊,摩擦力啊,速度啊,質量啊,然後各種物理公式亂七八糟算嘛。

Box2d也一樣,他就給你每個遊戲裡物體都賦予這些屬性,然後照著現實裡情況算,算完畫出來。

至於怎麼算,就要看我說的那個啦。

至於怎麼把物理上這些東西模擬到計算機裡,這個嘛,物件導向程式設計不就是幹這個的嗎。

如何評價《憤怒的小鳥》大電影?

平機王作者 這類遊戲電影,原作遊戲粉絲一般是衝著電影場景對遊戲原作的還原度去看的。如果再現了遊戲中的經典場景,經典元素,則該遊戲電影就相對成功。後來的 古墓麗影 電影,比起1993年版的 超級馬里奧兄弟 電影對於遊戲原作的還原度更高,但仍然遭到原作粉絲的指責。如何評價 憤怒的小鳥 大電影?應當由遊戲...

如何看待《憤怒的小鳥》發行商 Rovio IPO?

荀彧 如何看待IPO,不如我們來聊聊Rovio歷史中我覺得很值得關注的一點 他們很早就提出了IP和深度開發IP的概念,前有憤怒的小鳥遊樂園,後有憤怒的小鳥大電影。後續國內也有很多IP在IP價值深度開發上做得很好,比如 保衛蘿蔔 但是從早和領域的廣度上,Rovio步子確實邁得大,扯沒扯到蛋另說。 圍城...

植物大戰殭屍 憤怒的小鳥 Tiny Wings 讓人感動的背景故事是否是這些小遊戲成功的強力因素?

宋保國 遊戲四大主要元素包括故事 美感 機制和技術,故事只是遊戲要素之一,而不是全部,而且在乙個遊戲中,每種元素的比例大小也都各有不同,這個要看遊戲的定位和設計師對遊戲的理解了。寫故事並不難,寫出好故事很難。但樓主提到的這幾款遊戲,我想重點都不在故事上吧 薄彬 背景只是因素之一,不是強力的那個 王道...