Contenu connexe Similaire à Kinect for flash新手上路 (20) Kinect for flash新手上路2. 關於我
• 林克融(阿邪)
• 台藝大 古蹟藝術修護學系
• 一個不務正業熱血的開始
• 大一開始碰FLASH製作動畫
• 大四為了玩多媒體互動而開
始研究AS3。
• 雲科大 設計運算所
E-mail : sayaku_ling@hotmail.com
Web : http://blog.roodo.com/sayaku 或google sayaku or 阿邪
3. Kinect發音?啃奶?
• 「 Kinect 」 為 kinetics ( 動 力 學 ) 加 上
connection(連接)兩字所自創的新詞彙,
讀音為ki-nect(/kɪn‘ɛkt/),並非con-nect
(/kən'ɛkt/)。
參考資料:http://zh.wikipedia.org/wiki/Kinect
7. 視野角度
• 水平視野:57度
• 垂直視野:43度
• 實體傾斜範圍:± 27度
• 深度感應器範圍:1.2m – 3.5m
16. • OpenNI 基本上是一個跨平台的「自然互
動」(Natural Interaction) 開放原始碼
架構,提供了一組標準的 API 來針對不同
的裝置、中介軟體來做操作。
資料來源:
http://viml.nchc.org.tw/blog/paper_info.php?CLASS_ID=1&SUB_ID=6&PAPER_I
D=212
19. Socket server + AS3 library
• as3Kinect
• Jazztures
• flKinect(Mac OS only)
21. 下載可以執行以 Visual C++ 開發的
應用程式
• Microsoft visual c++ 2010 redistributable
package
• http://www.microsoft.com/downloads/zh-
tw/details.aspx?FamilyID=A7B7A05E-6DE6-
4D3A-A423-37BF0912DB84
22. • OpenNI :OpenNI Framework
http://openni.org/
• SensorKinect : 支援OpenNI的Kinect驅動
程式他是基於 PrimeSense 官方的版本、
專門針對 Kinect 修改出來的;算是
OpenNI 的一部分,要先安裝 OpenNI 後
才可安裝。
https://github.com/avin2/SensorKinect
23. NITE
• 由 PrimeSense 提供的 OpenNI 的中介軟
體,負責分析 Kinect 抓到的資料,轉換為
人體骨架、手勢等資料。
• http://www.primesense.com/?p=515
• 授權碼:( 0KOIk2JeIBYClPWVnMoRKn5cdY4= )
參考資料:
http://viml.nchc.org.tw/blog/paper_info.php?CLASS_ID=1&SUB_ID=6&PAPER_I
D=212
29. public class GetDepth extends Sprite
{
private var as3w:as3kinectWrapper;
private var _canvas:BitmapData;
private var _bmp:Bitmap;
public function GetDepth():void
{
init();
//將要建構的物件初始化
initListener();
//初始化偵聽事件
}
private function init():void
{
as3w = new as3kinectWrapper();
//建構as3kinectWrapper物件
_canvas = new BitmapData(as3kinect.IMG_WIDTH, as3kinect.IMG_HEIGHT, false, 0xFF000000);
//先建構一張空白的點陣圖資料好用來儲存深度影像
_bmp = new Bitmap(_canvas);
addChild(_bmp);
//將圖片加到場景上
}
30. private function initListener():void
{
as3w.addEventListener(as3kinectWrapperEvent.ON_DEPTH, got_depth);
//偵聽取得深度影像事件,只要每取得一次深度影像就會執行 got_depth函式
this.addEventListener(Event.ENTER_FRAME, onRender);
//偵聽ENTER_FRAME不斷去執行
}
private function got_depth(e:as3kinectWrapperEvent):void
{
as3w.byteArrayToBitmapData(e.data, _canvas);
/* 功用是將從伺服器傳回來Kinect的深度影像的二進位資訊
* 轉成點陣圖資訊再存到_canvas
*/
}
//不斷更新
private function onRender(e:Event):void
{
as3w.getDepthBuffer();
//執行從伺服器抓深度資訊回來
}