課程名稱:虛擬實境

謝慧民的網站 > 課程網站 > 首頁 > 致遠資管_謝慧民_94_2_虛擬實境

期末考:(2006.5.16)

第十次上課:(2006.5.9)點選地板移動人物,粒子發射使人物受傷動作(勞委會產學合作_業界講師楊朝富講授)。

  1. 使用場景scene07,載入沙悟淨並設定動作,切換到攝影機camera01,設定控制人物行動的程式,並設定地板牆壁等屬性,人物也設定防止碰撞及可滑移的程式:參考成果9-1
  2. 做一個跟隨攝影機跟隨沙悟淨,使用keyboard mapper設定一些建對應數字鍵區的上下左右鍵及Insert鍵,設定完執行可以利用替代鍵操控人物:參考成果9-2
  3. 加入一個3D虛擬物件,在地板物件寫程式碼,加入wait message、2D Picking、set position、character go to等指令,分別作等待click訊息、取得該點在地板上的座標、設定虛擬物件位置為該座標(在set position按右鍵,選add target parameter)、令沙悟淨走到虛擬物件處,三個地板都要設定,使用複製,或者點選script,按右鍵選save as存到vt_basic的behavior graphics裡面,再切換拉到其他地板物件上,程式就會被載入,但是仍需重新設定相關的物件選定:參考成果9-3
  4. 製作一個火球,噴出火花,放在場景中的一個地板上,沙悟淨走過去被火花打到有受傷的動作,在拉入point分子系統程式按右鍵選edit setting,將output impacts選取,在message to defector打入hurt,然後在沙悟淨的script拉進unlimited controller,設定前後待機的動作,並加入一個新的設定,在message的地方打入hurt,並設定沙悟淨受傷的動作,在沙悟淨的3d object 沙淨身體加入吹particle object deflector,讓沙悟淨身體當作碰撞的反射體,當偵測到碰撞時就會觸動沙悟淨受傷的動作:參考成果9-4
  5. 補充:檔案匯出的功能在file裡面選create web page,選好路徑設好大小就可以產生網頁格式,將.html檔及.vmo檔同時上傳到網頁空間,建立超連結就可以提供給別人玩。如果有跟隨攝影機,請在level產生script,然後在上面加入set as active carema的程式方塊設定給這台跟隨攝影機,就可以完跟隨攝影機的場景:9-4匯出為網頁範例

第九次上課:(2006.5.2)操作Virtools-->分子特效(勞委會產學合作_業界講師楊朝富講授)。

  1. 載入寶箱,打開寶箱蓋,在裡面放一個3D Frame物件,在物件上寫程式,並轉發射軸向向上,程式中加入Point particle system,拉近一張圖numbers,在分子特效方塊程式設定這張圖片為發射的texture,並調整參數讓數字能看的清楚:參考成果8-1
  2. 在寶箱蓋寫程式,點選寶箱蓋緩緩開啟蓋子到120度,然後再發射數字:參考成果8-2
  3. 在寶箱蓋子加入Particle Object Deflector屬性,將寶箱調整打開為60度,讓分子碰到寶箱蓋後反彈,再做一個虛擬物件3D Frame在寶箱開口的前上方,在這個物件加入Particle Magnet的屬性,點選蓋子開啟後,分子會被他吸引飄向該物件:參考成果8-3
  4. 載入火焰山的場景scene06,拉一個3D Frame物件放在一個火焰圖的底座,設定分子特效,產生火球:參考成果8-4
  5. 加分練習九:改變分子特效為Spherical Particle System,並設定該3D Frame物件被岩漿談到空中在掉下來的動畫,使用Bezier Progression搭配Mutiplication及translate的方式,調整曲線,讓火球快速上升到一定高度變為緩慢,然後在受重力影響掉到岩漿上:參考成果8-5

第八次上課:(2006.4.25)操作Virtools(勞委會產學合作_業界講師楊朝富講授)。

  1. 利用上次的成果,將level的script搬到對話框的script,清掉level的script,加入key waiter及send message,利用space鍵切換銀角及孫悟空對話,原來的timer後面加wait message等待按space後切換到下一個對話,可以使用Draw behavior graph包裝對話:參考成果7-2
  2. 在對話視窗script刪去開頭連線,加入test及get distance去測試孫悟空與銀角的距離,如果小於某一個值,則銀角的對話才會出現:參考成果7-3
  3. 在孫悟空obj的程式碼加入switch on message連接keyboard controller的on及off,設定switch on message的兩項分別為行動、不行動,在test的後面加入send message設定為不行動,在最後hide所有對話後面加入send message,設定為行動,也就是孫悟空進入銀角警告區,銀角說話時,孫悟空不能亂走,必須等對話完成才可以讓孫悟空走動,如果設為不行動則連接到keyboard controller的off表示使用keyboard控制人物無效,但是不影響待機的動畫:參考成果7-4
  4. 加分練習八:使用滑鼠double click則切換對話,只要改wait message 的內容為double click就可以:參考成果7-6

第七次上課:(2006.4.18)操作Virtools(勞委會產學合作_業界講師楊朝富講授)。

  1. 水流動畫汲水波蕩漾:參考成果6-1
  2. 2D sprite圖片透空及2D Frame設定透空圖片練習:參考成果6-2
  3. 2D Frame加文字顯示在圖片上練習(設定Z Buffer):參考成果6-3
  4. 場景、孫悟空及銀角相關設定複習:參考成果6-4
  5. 加分練習七:孫悟空及銀角對話循環撥放(使用show及hide):參考成果6-5

期中考:(2006.4.11)

第六次上課:(2006.4.4)操作Virtools(勞委會產學合作_業界講師楊朝富講授)。

  1. 有討論Virtools的網站:3dvr武道館愛迪斯科技的討論區 ,後者需要加入會員,前者不需要,東西比較多。
  2. 載入三個木桶的範例,製作網格練習,限制角色的活動範圍:範例5-1
  3. 當角色接近木桶時,並按下Insert鍵(使用KeyEvent加Send Message)啟動角色攻擊動作時,木桶接收訊息後check是否接近到一定距離(Test加Get Distance),若是則木桶自動上升一段距離:範例5-2
  4. 使用send Massage to group送訊息到三個桶,當角色與木桶間距離符合該木桶就會上升:範例5-3(使用collection detection) 、範例5-5
  5. 火焰山場景的處理,遠景使用隱藏,岩漿使用Grid劃設障礙,為期中考題可能的內容,大家要練習人物設定、攝影機跟隨等,考試要在視窗顯示學號姓名(在Level script使用Text Display),請務必要會。
  6. 火焰山有一個六角形待轉盤,人物到達後會傳瞬移送到目標點(加入一個3D虛擬物件,在桶子程式加set position,當角色攻擊桶子,桶子完成動作後,立即將角色送到3D物件所在的定點):以前一個場景示範範例5-6
  7. 另外,完成專案要做Create Web Page之前要加一部攝影機,則轉好之後會有.htm及.vmo檔,這時打開.htm就可以操作成果專案,而且是在那個攝影機的視角開始。

第五次上課:(2006.3.28)操作Virtools(勞委會產學合作_業界講師楊朝富講授)。

  1. 從書上範例載入resource,找四個有前進動畫及待機動畫的角色(大概有boy、孫悟空、沙悟淨、小銀角),將這些角色載入後刪除程式碼保留動作,另存新檔在你的資源檔裡面,為這些角色命名,載入一個場景,設定地板屬性,載入角色後,設定一個主角,其餘NPC則設定跟隨主角,一個跟著一個跑。(參考1)
  2. 使用Array放一個角色資料,第一次資料放著主角,然後在每一個NPC上加入get cell、collision detection、set cell搭配character go to製作主角到NPC處碰撞後,NPC就會跟隨主角後面,第二個NPC會跟在第一個後面,第三個跟在第二個後面,有點類似遊戲組隊的感覺,NPC的每一個set cell要設定角設為自己,這樣接下來的角色才會跟著自己。---->小銀角因為模型中心點可能在模型外面,因此無法使用啟動他做下一步動作,這個銀角需要修改一部份的判斷指令才能做跟隨。(參考2)

第四次上課:(2006.3.21)操作Virtools(勞委會產學合作_業界講師楊朝富講授)。

  1. 載入三個木桶,將木桶分散在地面,分別命名三個木桶,在一個桶子(木桶1)寫程式碼等待訊息後在Y軸升高100單位,在另一個桶子(木桶2)寫程式碼偵測碰撞並送出訊息,孫悟空碰撞木桶讓木桶1升起。(參考1)
  2. 製作角色在兩木桶之間遊走,使用character go to兩個木桶,再做迴圈。(參考2)
  3. 使用set position及look at指令加在攝影機,觸發攝影機跟隨角色動作。(參考3)
  4. 載入陰影圖片,寫程式設定孫悟空臉部加入simple shadow,執行時有陰影在孫悟空底下。(參考4)

第三次上課:(2006.3.14)操作Virtools(勞委會產學合作_業界講師楊朝富講授)。

  1. 載入寶箱,製作寶箱蓋開啟蓋上的動畫。(參考)
  2. 使用Keywaiter及Send message設定程式在寶箱蓋,開啟寶箱蓋的程式設定在寶箱盒,點選寶箱蓋會開啟寶箱蓋。(參考範例1)
  3. 載入場景scene 1,載入孫悟空cs01obj,設定孫悟空在地板上,增加地板物件屬性及在孫悟空物件上加入character keep on floor 。(參考範例2)
  4. 拖拉四個孫悟空動作在孫悟空模型上,在孫悟空上加入character controller及keyboard controller,設定控制鍵對應動作,使用數字鍵的上下左右可以控制人物前進後退,按Insert可以做攻擊的動作。(參考範例3)
  5. 設定牆壁屬性,在孫悟空加入present collision,使孫悟空無法穿牆。 (參考範例4)
  6. 載入三個木桶,將木桶分散在地面,作group,再設定為固定障礙物,在人物上設定object slider設定參數,讓孫悟空碰撞到木桶時不會被卡住,而作滑過的動作。(參考範例5)
  7. 撇步1:在程式區按ctrl+滑鼠左鍵框選程式範圍,利用shift+滑鼠左鍵拖拉複製程式範圍到另一個物件內,則該物件也同樣擁有原物件的功能。
  8. 撇步2:在程式區按ctrl兩下可以叫出程式方塊名稱列表,打入英文字可顯現出鄰近的程式名稱,方便選取程式方塊指令,只要熟悉指令名稱,可利用這樣的功能快速加入程式方塊,不需再到building block去找程式指令。

第二次上課:(2006.3.7)介紹Virtools界面、操作3ds max(勞委會產學合作_業界講師楊朝富講授)。

  1. 本次上課2006.3.7.由愛迪斯科技講師楊朝富講師講解Virtools界面及基本操作。
  2. 下載3d max 6.0 for Virtools 外掛,放在3ds max安裝目錄下的plugins目錄內,打開3ds max作匯出時就可以轉為.nmo格式,提供Virtools匯入使用。
  3. 進Virtools新建一個resource放在D碟,可以提供轉出的,nmo存放,這個資源檔可以帶著走,要使用只要open進來就可以使用。

第一次上課:(2006.2.21)業界遊戲市場介紹、介紹Virtools界面(勞委會產學合作_業界黃奕彰講師講授)。

數位動力資源(文魁) Virtools 2.0_ST中文手冊
Virtools技術手冊 Virtools V2.0使用手冊(pdf) Virtools V3.0使用手冊(chm)
3DSMAX Exporting Samples Virtools V3.0patch  

版權所有c2007 謝慧民

謝慧民的留言版