Before Start
Kinect1 vs Kinect2
如上圖,Kinect有2種類型,這裡使用的是第一代Kinect,對應的SDK版本是1.8。
若使用的硬體是Kinect 2,那麼就下載 Kinect for Windows SDK 2.0。
規定要 Win8以上才能使用,不然就會出現以下畫面....
使用AIRKinect開發,網路上已經有很多前輩分享的資訊可以參考,在此感謝。
韩 Hanleon - AIRKinect Tutorial
Gray Liao - AIRKinect
林克融 - 使用FlashDevelop與AirKinect 2.X開發Kinect應用程式
鴨道比 - [教學] AIRKinect 2.0 安裝
Alex - AIRKinect
另外,使用原生開發的 Heresy 也有相當豐富的資料。
照著連結下載SDK、ANE、設定開發環境,
跟著airkinect-2-examples的範例做,很快就可以發現有哪些功能可以玩玩,
不過如果只是照個範例依樣畫葫蘆就沒那麼有趣了,
AirKinect 正是要發揮Flash強大的互動能力才有意思呀!
For example:UserMask、Gesture、Skeleton、AR、with Arduino......
UserMask
一開始想到的方式是直接採用Starling Particle Effect套用在UserMask上,
Particle System只有在建構式的時候才能指定Texture,
我嘗試想要把UserMask.Bitmap放在EnterFrame中,
讓UserMask更新時同時指定給PDParticleSystem 建構式的texture參數,
可惜失敗了 ,看訊息是超過Texture所能承載的限制。
Error: Error #3691: Resource limit for this resource type exceeded.
只有靜止沒更新的BitmapData搭配PDParticleSystem 沒問題,
雖是學藝不精,但也花了太多時間在測試上只能喊停停損。
好吧,那麼退而求其次採用flash native effect
在網路上找到兩個特效範例 (搭配影片服用)
Electric: (程式碼由網友分享,出處已不可考。)
由於UserMask的特性是會不停變更 Bitmap.bitmapdata,
因此調整了一下原本的程式碼,讓UserMask套用效果時(onEnterFrame),
必須將其變更的內容不斷重繪,這麼一來當User影像變更時,
不管採取甚麼姿勢,都可以看到影像周圍都有電流特效。
原來是因為效果是建立於不斷地重繪濾鏡,這吃效能的小怪獸身上。
Fire:(source)
搭配組件使用,調整參數,完全不用coding,效能維持不墜,
(組件MC的圖層要在target上方)
讓你第一次當驚奇四超人的霹靂火就上手! (咦)
FireEffect 同樣是基於不斷變更的UserMask.bitmap而隨之變化,在畫面中可以發現,當User移動時效果會有略為延遲,
因而露出底下的UserMask,這也是運用時要稍微留意之處。
影片請看我
沒有留言:
張貼留言