儘管林楓先前預料開發《紀念碑谷》並不會遇到太大困難,但實際上手開發的時候還是遇到了一些狀況。
當然,這種狀況不是來自於林楓,而是來自於Unity。
不可否認,Unity是一個強大的遊戲引擎。
前世unity、虛幻基本上佔據遊戲引擎市場中相當大的份額。
不過,現在才剛剛2014年。
Unity引擎還不具備許多功能。
2014年的Unity版本仍然相對落後,許多現代化的工具和功能都還沒有出現。
特別是與光影相關的內容。
Unity現在的版本甚至還沒有引入pbR(基於物理的渲染)以及先進的光影處理方式。
基於物理的渲染是在Unity5版本出現的。
而Unity5卻是2015年才出現。
而現在剛剛2014年,遊戲引擎還沒有那麼給力。
因為遊戲引擎不給力,
林楓在遊戲開發過程中,必須依靠更加傳統且有限的技術手段。
在最佳化過程中,林楓發現了當前版本的Unity不僅是在處理光影問題上短腿。
當前版本Unity在處理複雜的幾何形狀時,效能表現明顯不足,幀率急劇下降。
林楓當然也知道原因,這是由於Unity 5.6之前的版本在渲染效率上並不夠出色,
尤其在移動平臺上,要保證流暢執行難度更大。
“果然,沒有足夠的技術支援,最佳化成為了一大難題。”
林楓皺著眉頭,先前的想法愈發濃郁。
工欲善其事,必先利其器。
如果有機會一定要對Unity的迭代速度進行一定的影響。
不然老是現在這樣的話,實在是影響林楓搬運遊戲的進度。
好在,這些問題只是稍微麻煩一些,還不至於中斷林楓的開發進度。
林楓的心態依然沉穩冷靜。
既然Unity的版本限制了他,那他只能用更原始的辦法來最佳化。
首先,林楓決定對關卡中的幾何模型進行簡化。
每一個平臺、路徑、機關,表面上看似簡單。
但如果幾何細節過多,載入時會拖慢整體的執行速度。
於是林楓手動將每個模型的多邊形數儘可能地降低,同時保留遊戲的視覺風格和錯覺效果。
雖然這是個非常繁瑣的工作,但林楓毫無怨言,
畢竟從來就沒有不付出就有回報這一說,
哪怕是重生之人也從來沒有天上掉餡餅一說。
能讓《紀念碑谷》這種經典作品再現,林楓願意投入與之相當的時間和精力。
搞定了紀念碑谷這款遊戲涉及到的幾何模型之後。
接著,林楓開始調整遊戲的材質與光影效果。
2014年的Unity引擎並不具備現代的實時光影烘焙和pbR技術,因此他不得不使用非常簡化的光照模型。
為了模擬複雜的光影效果,林楓採用了手繪的方式,將部分靜態光影直接繪製在貼圖上,模擬出一種類似動態光影的視覺效果。
這種手法雖然笨拙,卻是開發者們常用的“低成本”解決方案。
沒有辦法,既然當下的技術有限,那就用一些老辦法彌補吧。
透過這種方式,林楓既保留了遊戲的美術風格,又減輕了Unity引擎的效能負擔。
儘管這個過程耗費了不少時間,但最終,林楓的最佳化讓遊戲在低配置的裝置上執行得更加流暢。
幀率問題得到解決後,林楓又一次感到了一絲成就