2015-02-28

【製作進度】3D技術研究3-整合測試

(這篇同時發在巴哈姆特)
引擎和素材都準備完成,再來兩個電子妖精要聯手了,也就是把素材實際放在程式裡跑。

艾莉兒:我準備好了,來吧!
鈷寶:我也好了。

把模型、tilemap放進去,初步測試。




鈷寶:tilemap沒問題……,模型好像太大了。
這次在程式裡把縮放設為0.5頂一下,正式版建模的時候會參考這個經驗。

艾莉兒:主人,您把光源位置設定成跟著鏡頭吧,可是tilemap一捲動光源位置就會跑掉,為什麼呢?

(此圖有特別修改shader以看清楚光源位置)
正常應該會一直保持在畫面中間,我看一下。

(一小時後)
找到原因了,設定光源位置是用glLight(GL_LIGHT0,GL_POSITION, float position[4])給一個4維向量,shader再使用gl_LightSource[0].position。即使shader只用到xyz分量,w分量對xyz也有影響,在此要傳入{x,y,z,0}才會正確。
總算對了,不論tilemap怎麼捲動光源始終在畫面中間。

(一小時不是誇張,這個問題卡了很久)

還有其他要改進的地方:
模型不能離鏡頭太近,否則背景捲動太快看起來不合理。
讓越遠的物體越暗以增加遠近感,可以用光線衰減,或是霧效果兩種方式。

把以上地方改好再試一次,把主角放進去看看。


艾莉兒:看來都沒問題了,鈷寶覺得呢。
鈷寶:嗯……OK。

好,最後一步,錄個展示影片。


試了三種模型大小和位置。
想這樣把2D物件和3D背景混合的話,模型大小和位置要調對,否則會怪怪的,以後正式做的時候要跟美術人員討論一下。

艾莉兒:對了,這是主人幫我做的錄影功能哦,不需要錄影軟體,我自己就可以輸出影片。
對呀,我用引擎本身的錄影功能錄的,這次順便把這功能改良一下,以後要做PV就輕鬆多了。



這幾篇大概就是我(Shark)研發一項技術的過程,也可看出我平常和電子妖精怎麼工作的。有想過光是那個遊戲還不夠表達Cyber Sprite系列的故事,所以想另外寫一些劇情,會想其他題材再寫幾篇。

次回作完成一項必要的技術了,繼續做下一個部分。

沒有留言 :

張貼留言