狠狠撸
Submit Search
griffon plugin を 実際に作ってみよう #jggug
?
0 likes
?
1,003 views
kimukou_26 Kimukou
Follow
1 of 25
Download now
Download to read offline
More Related Content
griffon plugin を 実際に作ってみよう #jggug
1.
griffon plugin を 実際に作ってみよう
2012/01/20 @kimukou_26
2.
今日のアジェンダ 1. Griffon Pluginを書いてみよう
a. 視覚的なのが面白いよね b. 今流行のって何だろう? c. Kinect動かせると面白いかも 業務用だとASUSからでてる Xtion Pro Live だよね ? ● Open NI Pluginを作ってみよう?
3.
今日のソースコード ● プラグイン側
○ https://github.com/kimukou/griffon-openni-plugin ● 使用サンプル側 ○ https://github.com/kimukou/griffontest ■ processtestOpenNI ? ● 備考) ○ 試したい方は processtestOpenNI 内で griffon install-plugin ../griffon-openni-plugin/griffon-openni-0.1.zip を事前に行ってください
4.
?<辫濒耻驳颈苍作成编>?
5.
Griffon Pluginの作り方の流れ ● griffon
create-plugin openni ● mv openni griffon-openni ○ 公式が名前を変えているみたいなので合わせる ● cd griffon-openni ● griffon create-addon openni ○ 今回はDSL記述しないけど(汗 ● 手動で編集 ● griffon package-plugin nodoc
6.
使うライブラリは ● simple-openni
○ http://code.google.com/p/simple-openni/ ○ processingのopenniラッパー(processing1.2でも動作
7.
依存ライブラリは下記の認識なので ● griffon install-plugin
jogl-compat ● griffon install-plugin processing ? うーん。でも依存情報書きかわらないよ =>手動で直しましょう ● plugin.xml <dependencies> ● ? <plugin name='jogl-compat' version='0.1' /> <plugin name='processing' version='0.4' /> ● ? </dependencies> ● OpenniGriffonPlugin.groovy def dependsOn = [ 'jogl-compat':0.1, 'processing':0.4 ] ?
8.
次にOSごとのライブラリをコピーする設定 ● 次に対応OSの記述をば
○ OpenniGriffonPlugin.groovy ? def platforms = ['linux','windows','windows64', 'macosx'] ● こんな感じで配置して、jogl-compatあたりの scripts/_Event.groovyの記述をコピー編集 ?
9.
● あとは
○ griffon package-plugin nodoc あたりでパッケージングして終了 ? ● 多分G*的にはOpenniGriffonAddon. groovyに DSL書くのが醍醐味 なのだろうけど(汗 ?
10.
?<デモ>?
11.
?<はまった処>?
12.
はまった処(実装サンプル側 ● simple-openni というかopenniのインスタンスを一つ以上作
るとアクセス例外エラー ○ インスタンス共用みたいなことをしてみようと したけどうまくいかず>< ● pdeファイル=>Javaにする時、processing.coreの関数に厳 密な型チェックがかかる ● simple-openniのコールバックはnoLoop()/loop()を記述して しまうと動かないっぽい ○ ProcesstestController.groovy 側でstop()/start() は可能
13.
はまった処(実装サンプル側 ● processing側のjavaコードからgroovyコード参照
できないw(jointcompileが無理) ? ○ たぶんこれはgriffonの現状の動作仕様かな? ○ processingコード自体をgroovyで書く事自体は可能 ? ● ジェスチャー登録の反応がかなり怪しい (一応手の認識コードです) kinect.addGesture("Wave"); kinect.addGesture("Click"); kinect.addGesture("RaiseHand");//腕あげる ?
14.
はまった処(実装サンプル側 ● tabbedPaneのリスナーが見当たらず ○
modelやcontrollerが直参照できず一度変数に入れる必 要があった(ProcesstestView.groovy def model_ = model //☆ ? tab.addChangeListener( new ChangeListener() { public void stateChanged(ChangeEvent changeEvent) { JTabbedPane sourceTabbedPane = (JTabbedPane) changeEvent.getSource(); int index = sourceTabbedPane.getSelectedIndex(); println "Tab changed to: " + sourceTabbedPane.getTitleAt(index) model_.title = sourceTabbedPane.getTitleAt(index) } } } ?
15.
はまった処(実装サンプル側 ● @PropertyListener がサンプル記述で動かなかった><
○ 正確には使い方に凄く悩んだ。 ○ bindされている変数が変更された時にトリガーで Controller関数を呼ぶ機能だけど ? ? def controller //☆ @Bindable ? @PropertyListener({controller.changeActive(it)}) String title ? ? def changeActive = {title -> println "changeActive ${title.dump()}" switch(title.newValue){ //新しい値
16.
時間切れで出来なかったこと ● Pluginの参照インストール
○ install-plugin時に動く依存pluginのインストールの仕組みを調べきれなかっ た??。 ● tabの切替で表示をうまく切り替える ○ 処理が途中で止まってしまう ■ 現在はController側でnewしない形で動かすしかない>< ○ OpenNIで複数のKinectから1つを選択して起動する方法 あたりの対応必要? ■ http://tclip.blog38.fc2.com/blog-entry-113.html ? ● 参考にした資料 @kiy0taka さん Griffon不定期便?G*ワークショップ編? ■ http://www.slideshare.net/kiy0taka/griffong ○ http://groovy.codehaus.org/SwingBuilder.tabbedPane ?
17.
?<环境设定编>?
18.
事前環境設 (Windows:Kinect) 1. Kinect
の購入 a. amazonで12000円ぐらい b. 電源が別途必要、だいぶ大きめ c. 商用ライセンスはまだなので、無料シーンのみ利用可能 d. Kinect SDKを使えば音源の方向、距離情報等も取れるらしい ?
19.
事前環境設 (Windows:Kinect) 1. OpenNIのダウンロード
a. http://75.98.78.94/Downloads/OpenNIModules.aspx からDL i. Download OpenNI binaries ii. Download OpenNI compliant middleware それぞれ Statable/Developer Editionを 2. Driverをインストール a. https://github.com/avin2/SensorKinect/tree/unstable/Bin のバイナリを入れる 参考:OpenNIセットアップ for MMDのKinect連携 ○ http://d.hatena.ne.jp/moccos_info/20101220/p1
20.
事前環境設 (Windows:Xtion ProLive) 1.
Xtion Pro Live の購入 a. amazonで24000円ぐらい b. USB2.0接続、小さい、電源いらず c. 商用利用は可能(ただKinect SDKは使えない) ?
21.
事前環境設 (Windows:Xtion ProLive) 1.
OpenNIのダウンロード a. http://75.98.78.94/Downloads/OpenNIModules.aspx からDL i. Download OpenNI Pakages ? ? ? ? ? 2. 備考 i. kinectのドライバと共用がうまくいかない ii. 一度アンインストールしてから入れ直し 3. 参考サイト:Windows で Xtion LIVE + OpenNI の環境を作成する i. http://d.hatena.ne.jp/kaorun55/20111201/1322667126
22.
?<参考サイト>?
23.
環境構築編 ● Window
○ http://kgxpx834.blog58.fc2.com/blog-entry-22.html ○ http://d.hatena.ne.jp/moccos_info/20101220/p1 ● Mac:時間内に構築できなかったので下記情報から探してください ● @kaorun55 さん OpenNI / Kinect SDK Advent Calendar 2011 まとめ ○ http://d.hatena.ne. jp/kaorun55/20111228/1325151153
24.
プログラム編 ● @reona396 さん
ProcessingとKinectで魔法使いになろう! ~コード編~ ○ http://blog.livedoor. jp/reona396/archives/53573407.html ● メディア技術基礎(3Dプログラミング)最終課題 ○ http://www.syuheiuda.com/?p=62 ● 日経ソフトウエア ○ http://itpro.nikkeibp.co. jp/article/MAG/20101122/354400/ ? ● https://gist.github.com/gists/search? q=SimpleOpenNI&page=1 ○ https://gist.github.com/1478237 ?
25.
書籍(サンプルDLは有 ● Making Things
See: 3d Vision With Kinect, Processing, Arduino, and Makerbot <O'Reilly Media> ○ http://www.amazon.co.jp/Making-Things-See- Processing-Makerbot/dp/1449307078
Download