碰撞檢測並非是什麼新鮮的課題,哪怕這個世界的遊戲業出了點差錯,也並沒有影響這些基礎演演算法的疊代。
不少遊戲以外的領域也是依賴著這些計算機演演算法的。
也因此,林琅不用從零開始造輪子,真的完全從頭手搓一套物理引擎出來。 【記住本站域名 超好用,.隨時享 】
隻需要執行簡單的GJK EPA凸多邊形碰撞檢測,再加入一點2D的力學計算和重力,就足以他們用於很多專案裡了。
而碰撞檢測他早在之前準備平台跳躍專案的時候就已經做過一個大致的框架,稍加完善便可以直接投入使用。
事實上碰撞檢測是一個對效能開銷很敏感的運算過程,如果不加以控製,將會對遊戲的效能帶來巨大的負麵影響。
基於此,林琅再次拿出之前那套『指令碼化』開發理念,設立了一個『剛體』的指令碼。
隻有作為剛體的物體,才能主動的觸發碰撞檢測。
這樣一來哪怕兩個物體都堆疊在一起了,隻要兩者都不是剛體,便不會觸發碰撞。
一個很簡單的小技巧,卻很好的解決了物理效果泛濫的情況。
就以他準備做的平台跳躍遊戲來說。
如果沒有這樣的機製,地圖上所有的平台都會不斷迴圈檢測自己的碰撞情況,這絕對是一個可怕的情況。
而在經過這番改進後,隻需要讓玩家操控的角色成為一個剛體,便可以主動地去接觸其他碰撞體。
有了這樣一個基礎,接下來的事情便簡單了許多。
繼續完善剛體,為其新增質量、阻力係數、重力係數等屬性,利用它們進行力學計算,便可以讓不同的物體有著不同的物理性質。
而有了這些東西,再為剛體設定一個兩軸的向量變數,用來儲存它現在的速度情況,一切似乎就都聯絡在了一起。
在2D環境下,隻需要關注x和y兩個軸,也就是水平和垂直,便可以完全掌控它的運動情況。
想要重力,那就根據重力係數在每幀都為這個速度疊加上垂直向下的重力加速度。
而跳躍那就是驟然為y軸施加一個很大的值。
這套體係其實薑晴先前已經成功實現過,林琅僅僅是在此基礎之上又完善了幾分。
最終便確定下來了一個【碰撞箱 剛體 力】的這樣一個體係。
別看它跟現實生活中的物理表現還有著不小的差距,但對一個2D遊戲來說已經完全可用了。
想要更快的墜落?那就增大質量或重力係數。
想要讓它足夠滑?那就調小阻力。
有了這套東西,可以說整個開發流程都會輕鬆不少,尤其是對於那些正躊躇滿誌準備踏上遊戲行業的新人來說。
整一下午,林琅都在忙活這套東西。
儘管它從宏觀來看並不複雜,但各處細節加上Enlight啟蒙套件那邊的移植工作一大堆瑣事下來,還是忙活到了下班。
眼看進度也差不多了,林琅便將啟蒙套件部分的工作交給了軍子,再有明天一天便也能推送出去了。
今晚便是俄羅斯方塊正式發售的日子,雖說到時候動靜一定會很大,但這些事自然是不用他們思考。
某種意義上來說交給現有的遊戲分銷平台託管也有這方麵的好處吧。
起碼他們今晚根本不需要加班,可以各回各家睡大頭覺,等著明早起來數錢就好了。
林琅跟薑晴走在回公寓的路上,想起今天中午店長來探班的事,他忽然意識到一個問題。
「話說回來,我好像還從來沒見過你的家長呢。」
林琅想到了許瀚文,這個氣宇軒昂的中年男人似乎也不是一般人。
還從來沒有聽薑晴提起過家裡的情況。
薑晴撇了撇嘴,似乎不太願意提起這個話題。
「最好還是不要真碰上那老頭兒。」
回想起他得知自己選了遊戲設計專業而不是他期望的工商管理時那副氣憤的樣子,她就有點不爽。
對自己那個固執的老爹來說,似乎放棄家裡產業去搞什麼娛樂業是很大逆不道的事。
「哼,走著瞧吧。」
薑晴粉拳攥緊,她一直努力趕在前列,有一部分原因也是為了能證明自己,好出口惡氣。
而她這副樣子,反倒是讓林琅更感興趣了。
不過既然她不想說,那便也就作罷,他還有更重要的事情要去思考,比如碰撞盒計算方法的後續優化……
「阿嚏——」
薑啟元打了個噴嚏,鼻頭微微聳動,默默伸手把空調調高了一度。
「我靠,你是不是偷挪我棋了?」
扭回頭來看著許瀚文若無其事地吹著口哨,薑啟元怒罵了一聲。
「絕無可能,我老許忠厚人,可不幹這種事。」
許瀚文一拍胸膛,大義凜然。
「滾蛋,這把不算。」
薑啟元一把掀翻棋盤,打算重頭來過。
「話說回來,昨天我去了破曉遊戲一趟。」
許瀚文笑嗬嗬地喝了口茶,隨口提起昨天去見林琅的事。
薑啟元擺著棋子,看起來不甚在意,但停頓了片刻的手還是出賣了他的情緒。
「怎麼,你不好奇?」
「哼,整天就會搞這些沒用的,禍國殃民!她還是不懂什麼叫實業興邦!」
薑啟元吐出一口氣,眉頭皺起。
許瀚文臉上掛著笑意,感覺他這個兄弟特有意思。
「你家公主做的遊戲這兩天可是火的不行,那是真好玩,要我說與其在這跟我這個臭棋簍子下棋咱們不如比比誰打的分高。」
他摸出自己手機,亂七八糟的app末尾赫然是開心三消的試玩版。
「滾蛋,我看你也是皮癢了。」
薑啟元擺擺手,說起這個他就來氣。
本以為自己這閨女也就是一時興起去搞點自己愛好,到底最後還是要回歸生活的。
畢竟跑去做什麼遊戲,聽起來光鮮亮麗的挺厲害,但哪有正經做生意賺錢。
但是事情沒有向他期許的那般發展。
「他媽的,那個姓林的小兔崽子,讓我逮著一定要突突死他。」
他啐了一口,對於林琅拱了自家翡翠白菜的事瞭然於心,但又無可奈何。
實在是這逼人太能折騰了,要是從他正式出道算起,這人那是真的從頭裝到尾,逼格太足了。
自己年輕的時候也不見得這麼鬧騰!