2013/07/31

Game Maker: 如何將2D遊戲轉成假3D?

假3D和2D最大的不同點在於物件的呈現,而3D畫面的呈現必須有鏡頭的設定。因此,在最深的god物件中,『初生事件』須加入『進入3D起步動作』,以讓引擎進入3D繪圖模式中。而在其『繪圖事件』中,則須加入鏡頭設定的工作。一旦god物件幫忙設定了,其他物件則不需再行設定。

  各個可見的物件必須以看板的方式將自己畫出來。假設物件的寬度是w,則畫板的左下角落便是公式中向左橫跨w/2距離的座標,其z值為0;其右上角落則是公式中向右橫跨w/2距離的座標,其z值為物件的高度。如此,在左下和右上這兩個角落所決定的看板上貼上物件的貼圖紋理即可。如果物件的外觀不需變化(例如,牆、門、樹等等),其貼圖用的紋理可放在背景資源中;如果物件的外觀會變化(例如,人物、怪等等),則其不同的紋理可組合成一個形影資源,其張數和2D形影的張數一樣多,如此,便可以利用2D形影的子影像機制的image_number變數來得知接下來該貼哪一張紋理了。
  god物件在設定攝影鏡頭時,如果設定在玩家眼睛的位置,便可得到第一人稱視角;設定在玩家的後方,則得到第三人稱視角。相對而言,第一人稱視角容易得多。
  各物件在繪出時,要注意面朝著攝影機,因此攝影機和物件連線的角度必須先算出來,才能套公式。