將電子遊戲搬到線下,讓你的卧室變身樂趣橫生的賽車場【轉譯】手工電子DIY教程
相信每位經歷過童年的都會記得那時痴迷的電視遊戲,超級馬里奧,坦克大戰還是魂鬥羅,經常趁着父母不在家偷偷叫來小夥伴暢快淋漓的晚上一把。
而今天,一位叫Ken的日本人將馬里奧賽車遊戲從虛擬世界中搬到了自己的卧室中。
在這裏,你就可以遙控你的賽車,還能通過發射導彈或者設置障礙物等有趣的方式來贏得比賽。【原址:】
主要材料:
將電子遊戲搬到線下 |
所需工具:
將電子遊戲搬到線下 |
製作步驟:
第1步:
相信每位經歷過童年的都會記得那時痴迷的電視遊戲,超級馬里奧,坦克大戰還是魂鬥羅,經常趁着父母不在家偷偷叫來小夥伴暢快淋漓的晚上一把。
第2步:
RomoCart先將房間地面掃面一遍,根據地板上的物體生成一個賽道地圖、
第3步:
RGBD攝像頭定位物體。
第4步:
這套系統通過攝像頭追蹤Romo機器人,然後投影儀根據位置將外加特效投射出來
給小車加點小車的特效吧
第5步:
遊戲過程中,玩家可以撿起各種各樣的獎勵或物品
不同的物品擁有不同的屬性,比如“加速”可以讓玩家進行兩次加速
第6步:
還可以丟香蕉……
千萬別踩!滑!
第7步:
還能發射導彈
居然在客廳發射導彈!
第8步:
因為RGBD攝像圖是實時採集,你甚至可以用腳將導彈擋住來保護你的Romo
當然,你的父母還能作為一個怪物突然出現。。。
第9步:
我們可以賦予不同的物體有不同的屬性。
可愛的小泰迪雄變身炮塔!
第10步:
最終,跨過終點線的一刻,煙花點燃為你慶祝
RomoCart讓你的房間成為了一個遊戲賽場。
第11步:
RomoCart共使用了三種硬件:
Romo
Romo有兩個履帶可以分別獨立控制,這樣就可以通過程序非常方便的控制。 這裏,我製作了一個“Romote”程序接收和執行來自PC端的指令。
這裏使用了一個遊戲手柄控制Romo,但是當被火箭擊中之類事件時會被奪取控制權。
當然你也可以説Romo就是一個“智能無線遙控車“。
第12步:
RGBD Camera
懸掛在天花板上的RGBD相機(像Kinect、或者Xtion Pro Live),做對象跟蹤,自動生成圖地圖。(之所以使用Xtion,是因為比較輕而且通過USB供電即可工作)
第13步:
投影儀
任何投影儀都可以,但是要確保放置投影儀足夠高,不要超過卧室的面積,當然,如果你的卧室非常巨大,那當我沒説吧。
RomoCart中,有一套程序用來接收來自Xtion的深度信息,尋找對象,渲染遊戲環境然後投影到地板。
算法
問題來了,如何矯正Xtion和投影儀呢?
你想將遊戲環境根據Xtion的座標系統準確的投影到地板上,需要為投影儀矯正投影矩陣。 這篇文章詳細描述了這項技術,我就不再贅述,有時間後我會將代碼整理好開源。
如何根據障礙自動生成賽道呢?
有許多方法可以實現此項技術。這裏我根據障礙物的邊界識別出的一些列的控制點生成網格圖,然後尋找最長的環線路線。視頻中的1:15有詳細説明
如何追蹤Romo的位置?
我們知道來自遊戲手柄的控制信號,因此我們可以將它作為追蹤Romo運動的判斷依據。
根據遊戲手柄的反饋和物體的尺寸和高度計算出視圖中每個物體是Romo的可能性來尋找和追蹤Romo。當然,為了將追蹤變得更加簡單,可以在Romo貼某些特殊顏色的標籤或LED進行標定。
第14步:
總結
這個項目中通過投射地圖和Romo將房間變成了一個真實地馬里奧賽車世界,將很簡單的硬件和一些通用的追蹤算法組合在一起,就可以讓我們的房間變得更加有遊戲趣味性。
當我們在思考創新教育時,往往忽略的卻是其中的趣味性,如何將孩子從名目繁多的電子遊戲中擺脱出來,又能讓其和父母或小夥伴一起愉快的玩耍,並能通過自己的學習和合作一起將遊戲優化升級。這,將會是一個伴隨終身的遊戲!
小貼士:
原址: