長榮大學資訊管理學系畢業專案實作成果報告.pdf

W
Shared by: yan198555
Categories
Tags
-
Stats
views:
43
posted:
9/3/2012
language:
Chinese
pages:
14
Document Sample
scope of work template
							 長榮大學資訊管理學系畢業專案實作成果報告
※※※※※※※※※※※※※※※※※※※※※※※※※
※                       ※
※         Wii 之應用       ※
※                       ※
※※※※※※※※※※※※※※※※※※※※※※※※※

   專 案 編 號 : CJCU-IM-PRJ-97-024
   執 行 期 間 : 96 年 2 月 26 日至 97 年 1 月 19 日
             汪嘉翔、陳勝凱、蔡京翰、施吉祥、王憶婷、
   專 案 成 員 :
             張雅紋
             資訊管理學系   周信宏 助理教授
   指 導 老 師 :
             媒體設計科技學系 蕭學宏 助理教授




  中   華   民   國    96       年   11   月   9   日



                        0
           長榮大學資訊管理學系畢業專案實作
                              Wii 之應用
                            Wii’s Application

             專 案 編 號 : CJCU-IM- PRJ-97-024
             執 行 期 間 : 96 年 2 月 26 日至 97 年 1 月 19 日
                       汪嘉翔、陳勝凱、蔡京翰、施吉祥、王憶婷、
             專案參與人員:
                       張雅紋
                       資訊管理學系           周信宏 助理教授
             指 導 老 師 :
                       媒體設計科技學系 蕭學宏 助理教授


一、中文摘要                                    software Quest3D, which can be played
                                          using Wii remote. More than this, the
   任天堂 (Nintendo) 於 2006 年 11 月 19        control interface can also be applied to
日在北美洲推出第五代電視遊樂器 Wii 由         。           various computer games.
於 Wii 搖桿的創新操控性,讓 Wii 在新世
                                          Keywords: Wiimote、Bluetooth、HID、
代的遊戲市場中,快速佔據銷售領導地位。
                                          SDP、Motion Sensor、IR Sensor、IR LED、
   本計畫中,我們透過藍芽裝置讓 Wii
                                          Sensor Bar、Force Feedback、Quest3D
搖桿與個人電腦進行溝通,進而控制滑鼠
                 。
或鍵盤在電腦上的動作 我們使用 Quest3D
                                          二、緣由與目的
軟體建置出一個可以透過 Wii 搖桿操控進
行的投籃遊戲,成功展現 Wii 搖桿於電腦                          Nintendo(任天堂)於 2006 年 11 月 19 日於
平台上的靈活操控性。 不僅如此,我們的                            北美首先上市的 Wii 電視遊樂器獲得好
控制介面甚至可以應用到各式各樣的電腦                             評,並在一週內於日本上市,迅速引起風
遊戲。                                            潮,不論小孩或老人都迅速的加入了這個
                                               全民運動,而尚未上市的台灣,許多人也
關鍵詞: Wii 搖桿、藍芽、HID、SDP、
                                               積極的經由其他管道購入 Wii 來搶先一步
感應晶片、IR Sensor、IR LED、Sensor Bar、
                                               體驗 Wii 的魅力,更因為如此國家通訊傳
Force Feedback、Quest3D
                                               播委員會 (NCC)曾限制 Wii 的通關,之後
                                                                        。
                                               才改成一人可攜帶 2 台 Wii 入境 Wii 自推
Abstract
                                               出以來,話題性不斷,與同期新力 (SONY)
     At November 19 in 2006, Nintendo© 推出的 PS3 相比,更是深受喜愛大家的推
released the fifth home video game console – 崇與喜愛。根據 VG Chartz 網站[6]的統計
Wii in North America. Due to making the (見圖 1)顯示,Wii 的市佔率已經大幅領先
motion sensitive, the Wii quickly occupies 同期推出的 PS3,並超前推出近三年的微
the current sales leader of the new generation 軟 (Microsoft)XBox,而這樣優異的表現,
gaming systems.                                其主因歸納有兩點:原創性和互動性。
     In this project, we make Wii remote to
 communicate with PC via Bluetooth, which
 enables users to control the mouse or the
 keyboard in PC. To show the motion
 sensitivity of the Wii remote, we built an
 interactive basketball shooting game by the

                                      1
    圖 1. 市佔率排行(2007/11/03)                      圖 3. Xbox 搖桿




                                                圖 4. PS3 搖桿

          圖 2. Wii 搖桿                                  ,
                                        Wii 的成功全繫於它的搖桿上 本計劃
                                     將 Wii 搖桿應用於電腦平台上,使電腦的
   Nintendo 在設計 Wii 搖桿(見圖 2)時,       輸入設備更具豐富性,並且應用於虛擬實
突破傳統搖桿的束縛,不使用雙手持搖桿                   境中,達到互動的效果。
的設計方法,反而轉而朝向單手持搖桿的
理念去開發,不論是 Microsoft 的 Xbox(見
                                     三、研究方法與架構
圖 3)或是 SONY 近期推出的 PS3(見圖 4)
都沒有這樣大膽的突破,當然只是這樣的
                                     (一)Wii 搖桿通訊
                   ,
特點還不足以滿足電玩迷 Wii 更迷人的就
在於它的互動性,此點讓玩家們能更加融                        Wii 搖桿內建無線藍芽傳輸 藍芽晶片  ,
入遊戲情境中,不論是網球遊戲中瀟灑的                   為 Broadcom 2042,與常見的無線鍵盤、滑
揮拍、棒球遊戲中豪邁的揮擊或是拳擊遊                   鼠相同,符合藍芽 HID(Human Interface
戲中揮灑汗水的出拳,都讓玩家們身入其                   Device) 的 標 準 。 HID(Human Interface
境,這也大大改變玩家們坐在沙發上盯著                   Device) 標 準 可 以 讓 硬 體 利 用 HID
電視雙手握搖桿身體動也不動的習慣,Wii                 descriptor block(見表 1,2)自行定義傳輸訊
的推出不僅改變了整個電玩產業,更改變                          。
                                     號格式 Wii 搖桿與個人電腦之間則可以透
人類玩遊戲的習慣,更是替電玩產業樹立                   過藍芽裝置傳遞 HID descriptor block 進行
了新的典範。                               溝通。




                                 2
   表 1. Input HID descriptor block




                                                 圖 5. 按鈕配置圖

                                              當 Wii 搖桿上的任一按鈕被按下或放
                                          開,會經由 HID 通道傳遞封包將訊息給主
                                          機,並夾帶 2-byte 的位元遮罩顯示現在按
                                          鈕的狀態。這些按鈕的狀態通常定義在這
   表 2. Output HID descriptor block       封包的後面兩個位元組,但有時這些位元
                                          的前兩個位元組和按鈕的狀態無的直接的
                                          關係。舉例來說當 A 鍵被按下,HID 封包
                                          如下(圖 6),當 A 鍵被放開,HID 封包如下
                                          (圖 7)。




                                              圖 6. A 鍵按下的 HID 封包




                                              圖 7. A 鍵放開的 HID 封包

                                            Wii 上的 12 個按鈕都有相對應的位
(二)輸入                                     元,如表 3。

1. 按鈕
    Wii 搖桿上有 12 顆按鈕,其中 4 顆設
置於方向鈕的四個方位,其他的分布於搖
桿上(見圖 5)。




                                      3
     表 3. Wii 按鈕對應之位元




                                       圖 9. 加速感應晶片運作原理

                                       感應晶片為一 Z-up 的右手座標系統,
                                   當 Wii 搖桿水平放置時,右手拇指指向 X
                                   軸、食指指向 Y 軸、中指指向 Z 軸(見圖
                                   10)。每個軸所測的的力量被量化成 8 位元
                                   的無符號的整數(Unsigned integer)。



2. 動作感應器
    Wii 搖桿的動作是由一個三軸線性加
速度感應器去做偵測的,大概位於 A 鍵下
面偏左一點,此晶片是由 Analog Devices
製造的 ADXL330(見圖 8),此晶片實際可
以測量+/-3g 的加速度,靈敏度為 10%。此
晶片提供了所有的動作感測,一塊底部固
定的錨型矽膠,利用兩側的差分電容,偵
測矽膠的位移轉換成電壓,後將電壓量化
後輸出,見圖 9。


                                         圖 10. Wii 搖桿座標系統

                                       Wii 搖桿不會主動將感應晶片的讀數
                                   回傳給主機,但是可以利用 0x12 通道發送
                                   SET_Report 進行請求(見圖 11),第三個位
                                   元組為一個位元遮罩,當值為 0x04 代表開
                                   啟持續發送,若未設置則只有當數據改變
                                   時才傳送。第四個位元組則是表示感測晶
                                   片所測得的數值該送往哪個 HID 通道。當
  圖 8. Analog Devices 加速感應晶片       Wii 接受到 SET_Report,據此依照回傳的
                                   通道指示,經由 0x31、0x33、0x35、0x37
                                   其中一通道傳回值(上例為 0x31 通道),第
                                   五、六、七位元組分別為 X、Y、Z 軸的讀
                                   數,例如將 Wii 正面朝上(A 鍵朝上)水平放
                                   置於桌面上,我們將得到下列數值(見圖
                                   12),0x86 為 X 軸讀數、0x8a 為 Y 軸讀數、

                               4
0xa5 為 Z 軸讀數,0x40、0x20 為按鍵值和
其他訊息,0x31 則為回傳的 HID 通道。回
傳訊息的長度則與選擇的通道(見表 1),若
通道數據的長度大於實際需要,則後面位
元組則填為 0xff(見圖 13)。而切斷感應晶
片數據的發送,則是利用 0x30 的通道去停
止(見圖 14)。




        圖 11. SET_Report
                                         圖 16. Motion Analysis2

                                   第三步我們將 Wii 搖桿側放,左面朝上(見
                                   圖 17),得到第三組數值。
        圖 12. INPUT_Data




        圖 13. INPUT_Data




        圖 14. SET_Report

   首先我們先將 Wii 搖桿平放,A 鍵朝                  圖 17. Motion Analysis3
上(見圖 15),得到第一組數值(X1,Y1 Z1)。
                                   我們將 X1 與 X2 相加取平均、Y1 與 Y3 相
                                   加取平均、Z2 與 Z3 相加取平均(見圖 18)
                                   得到相對原點(X0,Y0,Z0)。




      圖 15. Motion Analysis1

第二步我們將 Wii 搖桿立起來,前端紅外
線感應器朝下(見圖 16),得第二組數值
(X2,Y2,Z2)。                              圖 18. Motion Analysis4
                               5
之候我們將測得的每一組值(Xraw, Yraw,
    ,
Zraw) 都利用內插法算出他的相對位置(見
圖 19),得到我們需要的數據。




                                              圖 21. IR LED

                                     Wii 主機與 Sensor Bar 之間相連的是電源線
                                     沒有任何數據的傳遞。本專案也有自行實
                                     作出一組紅外線發射器(圖 22),並證實可
                                     用,且 IR LED 不一定需要五顆,只要光源
      圖 19. Motion Analysis4         夠亮即可。

3. 紅外線感應器

    在研發期間,任天堂發現動作感應器
(Motion Sensor)不夠精確,無法控制螢幕上
的游標,為了解決這個問題,任天堂於 Wii
搖桿前端增設了一個紅外線成像裝置
(CMOS 鏡頭),接收另一裝置上兩個 IR
LED 發射出紅外線光源,此裝置被取了一
個具有極具誤導性的名稱—“Sensor
Bar”(感應條)(見圖 20),兩組光源相距 7.5
            ,                。
英吋(24 公分) 每組 5 個 IR LED(見圖 21)
                                           圖 22. 自製 Sensor Bar

                                         藉由原相(3227)生產的感應器,追縱紅
                                                 ,
                                     外線的兩個來源 藉著兩個點在 2D 視覺感
                                     應器的位置,系統能取得點的詳細資訊。
                                     IR 資訊從 Wii 搖桿傳回的格式如下(見圖
                                     23),是由 0x32 傳遞,第 2 位元組是傳遞
                                     第一光源在 2D 顯像的 X 值,第 3 位元組
                                          ,          、
                                     是 Y 值 第 4 位元組是 X Y 及大小的值(見
                                     圖 24,以二進位表示)。
         圖 20. Sensor Bar




                                            圖 23. INPUT_Data

                                 6
    圖 24. INPUT_Data(Binary)             圖 27. LED SET_Report

     藉由偵測紅外線光源兩點位置,經過
計算出滑鼠應在螢幕中的位置(見圖
25,26),當 Wii 搖桿向上移動,紅外線光源
在 Wii 前段的視覺感應器成像則是向下移
動,經過計算則使滑鼠向上移動。




     圖 25. 感應器與 IR Sensor
                                         圖 28. LED SET_Report


                                   2.力回饋
                                       Force Feedback 是利用一個位於 Wii
                                   搖桿內的一個叫做 Rumble Pack(見圖 29)
                                   的裝置,此裝置內為一偏離中心不平衡的
                                   重物連結在馬達上,當馬達被啟動即造成
     圖 26. 感應器與 IR Sensor          Wii 搖桿的震動。馬達的控制是利用 0x13
                                   的通道發送 SET_Report(見圖 30.31),後面
(二)輸出                              的位元組為控制馬達的啟動和關閉。

1. LED

    Wii 搖桿底部的邊緣有 4 顆藍色的
LED,當進入藍芽搜尋模式時,4 顆 LED
會同時閃爍,而連結成功後會顯示燈號,
表明使用者的編號,例如第一顆亮是
player1、第二顆亮是 player2,以此類推。
這些 LED 可以藉由 0x11 的通道發送
SET_Report 來獨立控制,而此訊息大小只
有一個位元組。例如要使第一顆 LED 亮
SET_Report 發送訊息如下(圖 27),其他顯
示方式如下(圖 28),此設定是將 4 顆 LED
當作 4 個位元,左邊第一顆為第一個位元,
                                           圖 29. Rumble Pack
總共可以表達 0 至 15,對應到燈誌的 16
種變化。



                               7
                                (1) 按鈕

    圖 30. 開啟馬達 SET_Report       鍵盤模擬設定,可以讓使用者自行設
                                定 Wii 搖桿上的按鈕(見圖 34)對應至
                                鍵盤上的任意鍵,或是滑鼠(見圖 35)。

    圖 31. 關閉馬達 SET_Report

四、專案成果與展示

(一)應用程式

1. 主畫面




                                          圖 34. Button




                                         圖 35. Keyboard

                                (2) 旋轉
                                使用者可以自行設定當 Wii 搖桿做出
                                搖晃、選轉時對應的鍵盤按鍵,底下
                                可以調整其靈敏度(見圖 36)。
         圖 32. 主畫面

  主畫面(見圖 32)中,左邊為 Wii 搖桿
正反面圖,當使用者按下按鈕,相對應的
按鈕就會顯示。當按下右下方的 START 則
使用者的設定就開始啟動。同時按下┼和
─鍵,開始控制滑鼠。

2. 設定
                                         圖 36. Rotation

                                (3) 搖桿
                                使用者可以自行設定當 Wii 搖桿做出
                                前傾、後傾等動作時對應的鍵盤按
                                鍵,底下和右側可以分別調整前後和
                                左右的靈敏度(見圖 37)。
         圖 33. Configure

       ,
  按下主畫面 可以按下上方的 Configure
可進行相關的設定(見圖 33)。
                            8
            圖 37. Joystick                 圖 40. Save File

   (4) 滑鼠                         (二)遊戲開發與應用
   使用者可以自行設定滑鼠的游標要由
   Wii 搖桿的 Motion 來控制,或是用紅        1. 自行開發遊戲
   外線 (IR)來控制,當利用 Motion 可以
   設定其靈敏度(見圖 38)。                  (1) Quest3D

                                     Quest3D 為一套即時 3D 建構工具,
                                     所有編輯器都是視覺化、圖形化的
                                     (見圖 41),即時讓你見到作品完成
                                     後執行的樣子。本專案實做了一個
                                     3D 互動式的籃球遊戲,可以讓玩家
                                     利用 Wii 搖桿模仿投籃動作,達到
                                     模擬和互動的效果(見圖 42)。



            圖 38. Mouse



3. FIile 設定(見圖 39)




             圖 39. File                    圖 41. Quest3D

  為了讓使用者不需再為了相同目的使
用時而重新設定,我們設計了可以存檔和
讀檔的功能(見圖 40),使用起來更方便。




                              9
   圖 42. Quest3D BasketBall

(2) Flash

   Flash 為一套可以利用低成本,快
  速開發出與使用者互動的軟體,網
  路上許多小遊戲、小廣告,大多利
  用 Flash 的千變萬化來吸引使用者
  點擊。本專案實做出一 Flash 小遊
                                                圖 44. 擲筊
  戲,來模擬參拜(見圖 43.44.45)




                                                圖 45. 落筊
            圖 43. 抽籤

                                   2. 一般遊戲

                                    (1) Flash

                                       網路上有許多 Flash 小遊戲,但是操

                              10
   控都只限於滑鼠以及鍵盤,如果使
   用本專案實做出的應用程式,可以
   增加非常多的豐富性及互動性(見
   圖 46)。




                                                圖 48. Counter Strike
                                  五、結論
                                           本專案使用的 Visual Studio 2005
                                  是 推 出 .NET 平 台 後 , Microsoft 所 發 表
                                  Visual Studio 視窗整合開發環境第三個版
                                  本。本專案利用 MFC(Microsoft Foundation
       圖 46. Flash Game           Classes)程式庫開發環境,成功建構出一個
                                  可以讓使用者自行設定的 Wii 搖桿操控的
                                  應用程式,更運用友善的圖形介面,讓使
                                  用者可以快速上手,並利用 Quest3D 和
 (2) PC GAME                      Flash 各建立一個遊戲,並利用本專案的應
                                  用程式搭配 Wii 搖桿,成功達到與遊戲的
  大型電腦遊戲擁有大量玩家,但是控
                                  互動。本應用程式也嘗試運用到其他單機
制還是停留在鍵盤、滑鼠、一般搖桿,利
                                  遊戲,也是相當成功,但是在嘗試應用到
用本專案實做出的應用程式後,互動性更
                                  線上遊戲時,卻被防外掛的機制擋掉送出
是大幅提升(圖 47.48)。
                                  的訊號,希望將來能和遊戲代理廠商合
                                  作,讓線上遊戲更增豐富性。
                                           在未來展望上,我們希望將來感
                                  應晶片移植至其他硬體上時,我們可以更
                                  快速開發的相關的應用。

                                          誌謝
                                  長榮大學虛擬實境研究中心

                                                       參考文獻
                                  [1]   WiiLi.org (http://www.wiili.org)

                                  [2] 位元文化(2007),精通 MFC 視窗程式設計
      圖 47. Counter Strike        Visual Studio 2005 版—文魁資訊

                                  [3] 李逢春、黃俊銘(2006),Quest 3D 互動多媒體
                                  設計寶典—全安教育推廣協會

                                  [4]   張亞菲(2006),Flash 8 動畫實務講座—金禾資
                                  訊

                                  [5] 劉月詩、徐蕙英(2006),精采 Flash 8 中文版動
                                  畫製作—網奕資訊


                             11
[6]    VG CHARTZ(http://www.vgchartz.com)

[7] 黃清永(2007),進入 3ds max 夢想世界—女魔
法師篇—文魁資訊

[8]    王祖強(2005),3ds max 遊戲人間—上奇科技

[9]    劉寒(2005),3ds max 角色巨典—兵器工業出
版

[10]    洪正隆(2001),3ds max4.x 指令圖鑑—金禾

[11]    洪正隆(2002),3ds max5 指令圖鑑—金禾

[12]    洪正隆(2003),3ds max5.x 指令圖鑑—金禾

[13]    劉修蓉(2005),3ds max8 破難關—上奇科技

[14] 郭禀奇(2006),3ds max8 真實之影—角色製
作—學貫

[15] 舒靜珉 3D 工作室(2003),3D MAX 人物建模
流程詳細—學貫




                                            12
0

						
Shared by: yan198555
Related docs
Other docs by yan198555