2011年6月19日 星期日

作業6 3D動畫程式

主題介紹

美好Ending之我愛元智

家家在元智大學亂晃一圈之後開始東張西望活蹦亂跳走到城堡前爬上城堡轉身往下看元智大學的作業
以上是我朋友看到我作業之後幫我取的副標

過程與成果展示

這次的作業


主要是修改上一次的作業且綜合以下要求來完成的


Lighting, Texture Mapping, Object Loading, Transformation and Viewing.


Lighting: 




將光源寫在prepare_lighting函式中



再加入紅磚道與草地、樹的材質




Texture Mapping:





貼圖的部分,因為找不到適合的建築物照片

所以還是貼上在網頁素材找到的圖片

    

    


 

可能真的是因為圖太小張了

所以貼上去看不出什麼紋理

把建築物放到很大很大,就看得出來摟 

我真的有貼圖 Q_________Q

雖然看起來真的很像只是給他一個顏色而已 = =

為了證明我真的有貼圖,我把原本用來處來建築物表面材質的部分都註解掉了

所以現在看到的顏色都是貼上去的圖片本身的唷 :)

Object Loading:



在這個作業裡,除了紅磚道草地星星月亮等是用繪製之外

其他皆是利用物件的載入完成的 (各館、城堡、豬、人、樹....)

星星與豬都是採用隨機產生的

本來想找狗的obj,因為校內有很多狗狗在走動

但實在找不到狗的obj,所以就用豬來代替吧

Transformation and Viewing:

Transformation的部分

在程式一開始,可以清楚的看到有四個人的物件,從不同的出發點在紅磚道上行走



Viewing的部分,則是利用: 

w,↑: 前進 
s,↓: 後退
a,←: 左轉 
d,→: 右轉
以上若加上shift,可加快速度 

e: 抬頭
q: 低頭
z : 回到平面視角 

空白鍵: 跳小步 (啟動微飛行模式) 
shift+空白鍵: 跳大步 (啟動飛行模式)
再按一下空白鍵回到地面 

持續按F8,可自動大致走一遍校園 

利用滑鼠左鍵,可移動整個x軸,做螢幕的轉動 

另外,Esc可結束程式

這支程式,可利用以上按鍵與滑鼠左鍵做使用者與程式間的互動



影片呈現:


先按F8,走校園一圈 (可看出有行人步行於元智校園內)
利用滑鼠做X軸轉動
↑,↓,←,→ (w,s,a,d)的運用,並搭配Shift做加速
空白鍵&空白鍵+shift做跳躍以及飛行模式
z鍵回到平地等等
最後做抬頭(e)仰望並往上走,走到城堡上,再轉身低頭(q)俯視整個元智


心得與討論

此作業大部分的技巧,在上一個作業已經運用到了

所以在做這次的作業過程中,沒有遇到什麼大問題

這次作業新增了處理Shift等按鍵

一開始本來想把按鍵操作都模擬CS完成的

但是發現,若要以Ctrl+空白鍵,表示跳躍

這個處理會先被OS搶走,變成切換輸入法.......

我想應該有什麼辦法可以解決的,可是查了資料之後,都沒看到有人在處理這方面的問題

所以就把Ctrl改成Shift了

另外,在使用Shift+空白鍵時(大跳躍  飛行模式),要先將輸入法切換至英打

不然他會自己判斷成切換全半形

另外,上一個作業的視角轉動並沒有處理得很好

在左右轉的時候卡卡的

這個作業也做了改進,可以很順暢的轉彎

至於上一個作業所提及到的問題:

VS2008使用Lib的問題,依舊無解中

但上一個作業因為物件的順序不同會造成不同的結果這個問題已經解決了

原來是因為自己函式呼叫沒有處理好

 一轉眼就要完成這學期的最後一個作業了

時間真的過得好快

雖然每完成一個作業,就會覺得還是差很多人一大截

但是,靠自己完成作業的時候,都覺得成就感都好高喔

希望未來有機會,還可以再接觸圖學這一塊 :)


這學期老師助教都辛苦摟