顯示具有 02363142 莊惟傑 標籤的文章。 顯示所有文章
顯示具有 02363142 莊惟傑 標籤的文章。 顯示所有文章

2016年7月1日 星期五

小朋友齊打交-使用視訊介面遊玩

互動視訊:期末專案
小朋友齊打交-使用視訊介面遊玩
設計發想:
   在這學期的課程中學到許多有關於視訊互動的方法及程式技巧,最後期末的專案開發時,想將課程中對背景差異偵測的技巧應用在童年的回憶上----”小朋友齊打交。小朋友齊打交是一款可以4人同時在同一台電腦透過鍵盤一起遊玩的2.5D遊戲,但想想那畫面,可想而知那是非常非常擁擠的。若是能透過攝影機對手部動作的偵測並將其設置到相對應的按鍵上,那就可以從小小的鍵盤解脫出來,獲得更加的遊戲體驗。
 


製作歷程:
最初設想使用色彩偵測,對應到滑鼠上,用來設置遊戲畫面的基礎設定。依據視訊鏡頭中接收到的單一藍點(藍筆筆蓋)做為控制。嘗試讓程式能夠追蹤該藍點的移動路徑,讓滑鼠接收路徑的軌跡並模擬出一樣的路徑。但隨之而來的困難為如何偵測滑鼠定位(X,Y坐標軸)以及視訊擷取視窗所擷取的藍點定位(X,Y座標軸)。以及如何讓程式內的滑鼠移動擴充Window系統介面。最後在第二個問題時遇到無法突破的瓶頸,並放棄這個主題。



在第一次嘗試失敗之後,決定跳過設置的步驟,直接開始遊戲。使用背景差異偵測的技巧做開發。在製作過程中遇到的困難為鏡像處理以及按鍵偵測的精準度。鏡像處理的問題沒有花太久的時間就成功解決;但可惜的是對按鍵偵測的準確度,直到最後都沒辦法完美的偵測。按鍵的介面也比理想中的狀況差異甚遠。
介面介紹:

https://youtu.be/TjaAOrUqm6Y

移動介紹:上下左右


動作介紹:守跳攻


施放技能:
1. 技能:火焰彈

2. 技能:烈火焚身

3. 技能:大轟炸



製作心得:
   在這次專案製作中,學習到了許多如:按鍵偵測,Delay函式的使用,滑鼠事件呼叫,HHookwin10真的頗難用,而最大的體悟就是現實與理想真的有段差距,且最痛苦的事情是花了極多的時間卻在最後不得已而放棄的那種失落;但這也讓我不禁想起Steve Jobs在史丹佛大學給畢業生的一段話:"你無法預先把點點滴滴串連起來,只有在未來回顧時,你才會明白那些點點滴滴是如何串在一起的。"you can't connect the dots look-ing forward; you can only connect them looking backwards )。

最後非常感謝老師在這堂課的指導,當我遇到問題時,協助我並給予我明確的提示,讓我能夠順利的完成這次專案的開發。

互動視訊:作業


作業一: 視訊擷取視窗基本訊息處理
在這個作業中,嘗試抓取許多的基本視訊擷取視窗的訊息及設定功能;
對整個概念有了更進一步的理解。

作業二:影像色彩選擇
在這次作業中學會了對視訊擷取視窗色彩的調校,但在使用調色盤這個工具時卻出現了無法正確顯示所想要顏色的問題。
作業2-1:灰階
作業2-2:調色盤

作業三:膚色偵測
這個作業花了我許久的時間,一來是一開始對這部分沒有完善的理解,一知半解的狀況下去實作也遇到了許多的困難,不過感謝老師及時的指導讓我可以順利完成這部分的作業。最後遇到的困難是有時背景與膚色調相近的部分也容易被截取進去。

作業四:相框
在實境中放入虛擬元件的單元中,對壁虎的放置,互動等等的學習其實並沒有很了解;但透過這次的作業練習讓我可以更加明白指令的呼叫及程式技巧。但遇到的困難是相框在最後480處就會重複,我猜應該是BYTE*  ptr...的那個變數呼叫內容有錯誤。不過嘗試了許久並沒有成功。好在最後和同學討論下找到了問題點,果然是在變數設置時的錯誤,不過其實沒有那麼複雜,只是陣列長寬取錯了。