視訊偵測 ( Video Sensing Extension )
視訊偵測 Video Sensing 可以讓 Scratch 透過電腦的攝影機,偵測使用者的動作與速度,搭配程式積木的邏輯組合,就能和舞台上的角色互動,進一步做出許多精彩有趣的體感遊戲。
如何使用視訊偵測
打開 Scratch 3 的擴充功能,點選「視訊偵測」的區塊,就能將視訊偵測加到積木選單裡。
視訊偵測積木有幾種:偵測動作 / 速度、當視訊動作大於、開啟 / 關閉 / 翻轉、透明度。
因為視訊偵測會使用電腦的攝影機,所以在加入時,必須要「允許」瀏覽器存取攝影機的權限。
加入視訊偵測之後,在舞台區的背景,立刻就能看到攝影機的畫面 ( 一開始預設是半透明,可以透過積木調整透明度 )
偵測動作 / 速度
「偵測動作 / 速度」積木使用後,會顯示角色或舞台所偵測到的方向或動作。
視訊偵測主要是藉由「影片每一格畫面的變化」來判斷動作與方向,動作與方向的說明如下:
- 動作:在角色 ( 接觸到角色 )或舞台裡移動的速度,數值為 0~100,數值越快速度越快,動作也越大。
- 方向:以角色的方向,或舞台往右的方向為基準,所偵測到畫面改變的方向,從左到右為 -90~90 ( 或 -90~-270 ),從上到下為 0~180 ( 或 -360~-180 ),詳細 Scratch 的方向說明可以參考:Scratch Direction (value)。
在角色的程式,放入兩個變數 ( 角色方向、角色動作 ),在舞台的程式,也放入兩個變數 ( 舞台方向、舞台動作 ),透過無限重複的積木,在視訊偵測時顯示方向和動作數值。
執行時可以發現,如果畫面的變化沒有觸碰到角色,角色的變數數值也不會有變化,也由於舞台是偵測全部的畫面,所以只要畫面變化,舞台的變數數值就會變動。
範例連結:視訊偵測顯示動作和方向
下圖的例子,透過重複無限次的積木搭配邏輯判斷,當貓咪角色被觸碰到的時候,移動到隨機的位置。
範例連結:貓咪被摸到的時候隨機移動
當視訊動作大於
如果只是想簡單體驗,可以使用「當視訊動作大於...」積木,這個積木是圓頂形積木,只要偵測動作大於某個數值時就執行下方程式。
下圖的例子,設定當動作大於 10 的時候,就讓貓咪角色說出 hello。
「當視訊動作大於...」積木使用之後,效果等同於使用無限重複積木做邏輯判斷,且無法使用舞台的停止按鈕停止。
開啟 / 關閉 / 翻轉
「開啟 / 關閉 / 翻轉」積木可以設定是否開啟或關閉攝影機,也可以在設定攝影機的畫面是否「水平翻轉」( 預設影像會像鏡子一樣,舉右手時畫面裡的人是舉左手,如果設定翻轉,則舉右手時畫面裡的人也是舉右手 )。
透明度
「透明度」積木可以設定攝影機畫面的透明度,數字範圍 0~100,數字越大越透明 ( 越能夠看到背景 ),0 表示完全看不到舞台背景。
下圖採用同一張棒球場的背景圖,可以看到透明度 10、50 和 90 的差異。
意見回饋
如果有任何建議或問題,可傳送「意見表單」給我,謝謝~