Cocos實戰:解析《捕魚達人3》玩3D
2025-05-05 12:57:25
在不久前結束的Cocos2015春季開發者大會上,現場演示的由Cocos引擎開發的3D遊戲在開發者中獲得了不錯的反響。目前開始有少部分人嘗試使用Cocos進行高階的操作以實現3D功能,實際上,用Cocos開發3D並非高不可攀,接下來我們就從原理角度進行分析。
3D成像原理
「虛擬實境」是用設備模擬/重現人類的各種感覺,包括但不限於視、聽、嗅、觸、溫感等,當中以視覺(偏振式3D成像)最為重要並最有可行性。
在腦電波技術突飛猛進之前,要提供「沉浸式」視覺感受的方法就只有兩種:把屏幕做大,或者把眼睛與屏幕的距離縮短。很明顯虛擬顯示眼鏡用的是後者,它在把屏幕做大的同時,將外界的光線隔絕,就會產生一種沒入另外一個空間的錯覺。加上三軸陀螺儀、重力感應器等體位傳感器的幫助,畫面就可以跟隨佩戴者頭部的移動而做出相應的反應,產生近似現實的視覺反饋。
怎樣實現3D?
偏振式3D成像是根據人眼成像原理髮明的,人眼看到的景象呈現立體感,是由於雙眼所觀察到的景象有略微的差別,因為瞳距(兩眼球之間的距離)導致觀察的物體的角度不同。
所謂偏振成像就是將兩幅不同偏振態的圖像送到雙眼,每隻眼睛只允許看到其中一幅,我們用Cocos製作3D遊戲,其實就是製作這兩幅圖像。或者說模擬3D信號。
現在的硬體技術能幫我們做什麼,我們需要做什麼?
在真3D顯示器出現之前,我們要做3D立體遊戲一般只能用兩臺投影儀來實現3D效果,做為遊戲的開發者我們就只需要模擬出左右半寬的兩副圖像就可以了。
如何用Cocos引擎模擬出3D圖像?
要模擬出真實的3D立體影像,首先要知道人眼成像原理,因為我們有兩隻眼睛,並分開一定距離(大約150px),這樣就出現了距離感。我們都知道Cocos中的攝像機是模擬人的眼睛的,一般我們在Cocos中觀察場景都是創建一個攝像機,當然就沒有立體感了,要模擬人的眼睛,就要創建兩個攝像機,並把它們分開一段很小的距離,角度調成一樣,注意不是往中間看,而是平視,人的雙眼也都是平視向前的,類似於下面這樣:
通過以上分析我們可以看出,使用Cocos引擎通過物理成像方式實現3D並非那麼神秘,隨著用戶的硬體水平不斷增長,我們能看到3D絕對是手遊的未來趨勢。但是,一味追求3D而不考慮遊戲的整體效果的產品在市場上依舊是沒有競爭力的。一款遊戲更需要在內容上進行不斷地創新,才能在推向市場後走的長遠。■