2012年6月17日 星期日

[作業五 動物賽跑]



主題介紹 - 動物賽跑



    在這熱鬧的城市中,舉行了一場動物的跑步比賽!最後,到了決賽的日子,圓
  滾滾的豬小弟、和壞脾氣的鬥牛兒的冠亞軍之爭!到底誰會拔得頭籌呢?


程式設計與寫作方法、執行結果呈現

    這次是分組作業,跟之前的作業相比,最大的差異就是需要分組討論,不再是
  自己一個人單打獨鬥的跟 OpenGL 奮戰!

    我們這組在作業上運用了這學期在課堂上所學的各種技巧,包括 Load model
  貼圖、利用 Lookat 轉換視角、打光3D空間遊走、運用鍵盤輸入等,來完成此次的
  作業。例如:在程式中,按下O鍵,就可以自動切換視角,如同我們在電影院看電影
  的感覺,這個就是利用 gkuLookat 的結果。

    為了完成這個作業,我們上網找了很多的 3D model,有巴黎鐵塔摩天輪別墅
  涼亭噴水池...等,但最後並沒有全部都放進此次的作業中,因為 Load 越多的 model 
  程式會跑得越慢,CPU的使用效率越高進而導致CPU可能會因為會過熱而關機,所以,
  我們捨棄了一些較大的 model,讓程式能順利地執行。


  影片展示:






心得與討論

    相較於此次的分組作業,不再是自己一個人默默的埋頭苦幹的完成作業,多了組
  員的互相照應,更能增加效率,加快作業的完成速度!

    我也覺得這次的作業很有趣,不只實作了整個學期所學的技巧,還完成了一個完
  整的小動畫,看著我們所建的場景,都會讓我想到小時候玩的大富翁遊戲,喚起了童
  年的回憶! 謝謝老師這學期所教的所有技巧,才能讓我們做出如次逼真的場景與效
  果! :)



2012年6月11日 星期一

[作業四 元智校園擬真3D空間場景]


主題介紹 - 認識元智校園 part2


    這是我每天上學的地方,校園很美,是很多偶像劇、廣告、MV取景的地方,
  所以,讓我們一起來認識元智校園吧~


程式設計與寫作方法、執行結果呈現

    這次跟上一個作業一樣,是要畫出元智校園且要能在校園中遊走,只是不再
  是只利用 OpenGL 用座標把模型畫出來,而是利用匯入Obj檔,直接將已經建好的
  模型匯入程式中!
    
    所以我利用了 3Ds Max 把模型建出來,再將建好的模型放大縮小、移動位置,
  置入程式的相對位置中!這次,我也上網找了樹的模型,將樹安排至程式中,使得
  畫面更栩栩如生。
    
    這次作業我利用了 glm.hglm.cpp 來將 Obj檔匯入於 程式中。
    另外跟上個作業一樣加上鍵盤操作,利用方向鍵的上、下、左、右,可以瀏
  覽整個元智校園的景色。

  圖片展示:
    


3Ds Max 建模畫面
  
    可以看到 左上 左下 右上 右下  四格分別為 
         
                  左上:頂視圖
                  左下:左側視圖
                  右上:正視圖
                  右下:立體圖
    
    這樣一來,不只讓我們再建模時可以更加清楚的、觀察立體模型的每一個面,
  而且對於我們在建模型有很大的幫助,也方便許多!




進入校園的走道
    我匯入了 Tree.obj 檔,讓畫面更栩栩如生。讓人有真的深入其境的感覺。



七館 三館



二館



一館 六館 五館 圓環


  影片展示:



    這次作業,除了原先的一館外,我全都改由 3Ds Max 建模後再匯入程式中,
  包括了二館到七館、圓環、走道、樹,全都是利用 Obj 檔繪製而成。而且還加入了
  光源,讓畫面更加的栩栩如生。





心得與討論

    這次的作業是讓操作的人有身歷其境的感覺,像平常走路一樣,
  每走一步都有不同的景色。跟上次不同的部分是這次比上次的作業更栩
  栩如生了,也讓我學到如何利用 3Ds Max 建模,與如何把Obj 檔置入
        OpenGL 程式中。

  這次作業遇到的困難是:
      因為一館還是利用先前直接在 OpenGL 程式中靠著座標繪製而成的,
    所以在加入光源後,全都沒了顏色!後來反覆地測試後,才知道是因為
    光源所引起得。所以,針對一館要利用 glDisable( GL_LIGHTING);將光
    源關掉,才可以讓他保有原來的顏色,不會變成影子。