前一篇文章我們設計了一款全景式街機,接下來需要完成的,是機台投影出的全景遊戲畫面。這次我們拿經典的Street Fighter來展示遊戲畫面,分析這遊戲畫面後,大致分為3D立體類,包含格鬥角色與出招特效等,以及2D UI元素,顯示角色頭像、時間、血條等。我們將在以下文章介紹這些不同元素的全景效果做法。
在Hologram方面,又可以區分為用Shader與Geometry node這兩類的方式來製作。這次介紹用Shader的方式,做出畫面上所需要的投影UI 2D元素,以下就透過顯示操作的角色的頭像畫面作為例子來介紹。
圓錐形投影光束
從上圖可以看到,這種全景圖是以單點的發光源,用圓錐狀的投影光束,將影像打出到空氣上,將影像呈現。
其中Ryu的畫面與圓錐形的投影光束,都是以Shader的方式來製作,而且只需要一個cube的mesh就能呈現這兩個元素(如下圖)。透過Shader Node的撰寫讓這效果呈現在這Cube的範圍內。
動態光束效果製作
在製作動態影片方面,這圓錐形的光束,會因為空氣密度的不均勻現象,出現光線浮動的效果,這可以透過Shader Node中對object貼圖做mapping的調整,做出圓錐形光束,加上wave Texture後,就能顯示出光從發光源拓展到整張貼圖的效果。在Wave Texture Node的Phase Offset參數上,我們餵給它一個Value,輸入區填入 frame ,讓光束隨著影片的時間軸而變化。Math node的Divide則可以讓這變化的速度調慢。
詳細的教學請參考這位YouTuber的介紹。
Ryu貼圖上的水平掃描線同樣使用wave texture Node,加上frame的參數輸入來模擬動態效果。
這個Shader支援Eevee與Cycle,可以根據需求製作追求時效或者注重品質的影片成果。
Eevee影片效果
Cycle影片效果
Cycle的效果些微地比Eevee好,不過Eevee所需時間是大大的縮短,大約是5秒鐘vs1小時的算圖時間差異。
立體的物件也可以透過Shader來模擬出Hologram的效果,這部分我們下一篇教學文來介紹。
本篇文章所使用之元素著作權均為原公司所有。