自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

HTML 5體感游戲《守護拉普達》誕生記

開發(fā) 前端
關(guān)于運動捕方式有很多,于是就存在算法選型問題。我們先后實驗過三種方式:色域跟蹤、Mean shift、幀差。最終綜合了一套方案。下面簡單介紹下實現(xiàn)方案。

拉普達是什么?

《守護拉普達》是一款基于HTML5的體感塔防游戲,是騰訊編程馬拉松的優(yōu)勝作品。

拉普達(Laputa)是天空之城的意思。玩家以保護拉普達為目標(biāo),通過肢體運動控制準(zhǔn)星殺死不斷靠近總部的小怪。殺怪可以獲取游戲積分,連殺或觸發(fā)道具都能得到更多積分!分數(shù)最終會存入服務(wù)器,列入宇宙排名。

演示視頻

實現(xiàn)原理

視頻體感游戲的核心在于運動的捕獲與識別,主要的問題是如何實現(xiàn)運動捕獲算法。

關(guān)于運動捕方式有很多,于是就存在算法選型問題。我們先后實驗過三種方式:色域跟蹤、Mean shift、幀差。最終綜合了一套方案。下面簡單介紹下實現(xiàn)方案。

原理:分析連續(xù)關(guān)鍵幀間差異來確定運動區(qū)域。再通過運動特征系數(shù)加權(quán),最終得到較為準(zhǔn)確的坐標(biāo)。

優(yōu)點:環(huán)境干擾相對較小,且無需特征錄入。

處理流程:

1.通過瀏覽器getUserMediaAPI啟動攝像頭并獲取視頻流

2.利用canvas轉(zhuǎn)化圖像數(shù)據(jù)格式

3.利用幀差原理獲取運動區(qū)域(這里用到(grayscale公式)

灰度 = R*.299+G*.587+B*.114;

我們預(yù)先設(shè)定了一個亮度敏感度值 sen = 15;

當(dāng)Math.abs(像素亮度1-像素亮度2)>sen 時,這個點將被納入運動區(qū)域。

4、降噪

柵格化圖像,判斷每個柵格的運動點密度,排除低于設(shè)定值的柵格。這樣就得到比較干凈的運動區(qū)域。

5.運動區(qū)域平衡分析

上一步返回的是坐標(biāo)點陣群,游戲需要的是唯一坐標(biāo)。數(shù)據(jù)需要進一步處理。經(jīng)過觀察發(fā)現(xiàn)運動點陣分布在畫面的區(qū)間與動作目的有一定關(guān)聯(lián)性。也就是以畫面中心點為基準(zhǔn),判斷運動點陣距離中心點距離。以距離為加權(quán)因素,越靠邊緣因素值越大。最終得出唯一坐標(biāo)。

6. 每個圖像算法最終都會遇到性能問題

這里我們用到了 worker。關(guān)于worker:THE BASICS OF WEB WORKERS

以上便是《守護拉普達》實現(xiàn)體感控制的基本原理。在比賽***一刻我們還在不斷優(yōu)化算法,是一件很磨人的事情。不過結(jié)果還算令人滿意,帶走3個獎項 杰出項目、優(yōu)秀創(chuàng)新、優(yōu)秀技術(shù)。

PS:Demo代碼正在整理,體驗地址會稍后放出。

團隊靚照

[[82987]]

《守護拉普達》已經(jīng)入駐深圳騰訊形象店- @Image,歡迎前往體驗。

責(zé)任編輯:張偉 來源: 騰訊
相關(guān)推薦

2010-11-10 09:11:37

Windows Pho

2012-03-19 09:14:26

2012-12-07 10:52:29

2012-02-27 09:20:43

Julia編程語言

2021-06-02 08:19:05

Web性能HTML

2013-03-22 16:49:12

2021-01-12 09:42:05

鴻蒙HarmonyOSPage Abilit

2022-06-17 15:54:31

自動化數(shù)字員工

2014-11-24 09:23:22

華為數(shù)據(jù)中心

2016-09-26 15:40:52

2013-07-01 10:06:56

iPhone體感游戲

2015-09-28 17:22:44

浪潮

2011-06-27 08:57:23

JavaScript

2015-01-30 17:18:26

捕魚3樊少強Testin崩潰大師

2018-04-10 11:34:30

華為云生態(tài)大會

2013-03-21 19:58:10

ASC13亞洲大學(xué)生超

2014-12-30 17:13:51

HTML5

2011-09-13 14:09:08

點贊
收藏

51CTO技術(shù)棧公眾號