3DCG屋さんの活動記録

PROFILE ★★こんな人です

3DCGを活用した映像や没入体験コンテンツの制作をしています。テクノロジーの社会実装に興味があり。テクニカルディレクター。面白いこと新しいことにワクワクする気持ちに『素直』でいつづける。

ラベル Kinect の投稿を表示しています。 すべての投稿を表示
ラベル Kinect の投稿を表示しています。 すべての投稿を表示

2018年1月11日木曜日

王道Kinect!まさかの生産終了!涙


人物の動きを検知する・・・手っ取り早いのはやはりKinectなのか!


ということでカメラについてまとめサイト!勉強になります
https://qiita.com/fukushima1981/items/77930d3775117d66e5e8


とここで、なんとKinectV2含む製品が製造終了していた!
2017年に。
追悼するまとめサイト、勉強になります
https://wpteq.org/xbox/post-34317/


KinectV2 + Processing + Mac のチュートリアルサイト
https://qiita.com/migizo/items/d0440e36d18f3fdde48c



とりま、今ある Kinect v1 + Processing + Mac で試す。

今後:人のボーンを検出してParticleが寄ってくるエフェクト試す

KinectV2欲しい (在庫あるだけで、販売終了するから早く買わなきゃ)



パソコンで使うときには変換ケーブル必須!
kinectV1とは互換性ないので、新規で買わなきゃ・・・


にしても合計3万か。
この機能にしてはお買い得かな!
会社で5台くらい買ってもらいたい




========================
==  補足 2018.4.8 ============
========================

考えた末、将来性のあるIntel Realsenseを使って制作することに決めました。
KinectメーカーのMicrosoftoがおすすめするのがRealsenseだし
値段も機能も手が届きそう、ってことで!

Xtion2も悩んだけど、やっぱりここはKinectお墨付きのやつにしました。へへへ

にしもて、AppleがPrimeSense買収して、部品を外部に売らなくなったらKinectが製造中止になったってホント?ならひどーいぜよ。
RealSenseもKinet並みに自作ユーザーが増えてもらわないと、あまりにも情報が少なすぎるよ><;

ちなみに、Realsenseを試してみた処女記事はこちら。
https://dekapoppo.blogspot.jp/2018/04/realsense.html

2017年5月11日木曜日

KinectでBVH作成(調査編)


他の記事でやっていた、Blenderを介したKinectのモーションキャプチャ&BVHの取得。
ただやってみたものの、Blenderを介すロスや不確実性があるし、
何よりArmatureの設定とかキーが打たれたロケータから骨にキーをコピーする方法がわからない。

ということで、NI MATE Pro(月二千円)を買うのをまだためらっているので
とりま無料できる方法を探す!
ありました!

ProcessingでKinectハックして、ジョイント情報を取得


BVHの書き出しまでは載っていなかったけど、ジョイント情報の出力はあった。
てことは、それをテキストに保存して、最後に変換かけたりしたらBVHになるのでは?

試してみたらまた報告します!!!


BVH(BioVisionHierarchy)とはなんぞや
・右手系
・骨の階層構造記述 HIERARCHY ➡︎ 動き記述 MOTION の2部構成



2017年5月6日土曜日

Motioncapture with Kinect for BGE 〜モーキャプ保存&BVH出力


Kinectのモーションキャプチャ情報をリアルタイムにBlenderに送るソフト『NI MATE』。
(スタンドアロン&3DCGソフト用のプラグインを使う。Mayaプラグインもある)

Blenderに情報を送って、ボーン制御までできた。
リアルタイム作品にはこのままで良いんだけど
せっかくなので仕事にも生かしたいと思った時にBVHで保存するのは必須!!
ということで、モーションキャプチャの記録とBVH書き出しまでやっちゃいます。

➡︎参考動画
       NI MATEからのデータをBlenderでレコーディング

手順は以下の通り

①NI MATE起動してKinect認識 & BlenderへOSC送信 (前回まででやった)


②BlenderのNI MATEの設定(前回までで。アニメつけたいArmatureと命名リンク)


③ここでシーンのFrameRate設定。高いfpsでは高いパソコン性能が求められます!
 ※Kinectのハードスペックは30fpsまで


③画面下のAutoKeyをONして、再生。同時にNI MATEをStart
   タイムラインが再生&リアルタイムモーションキャプチャ➡︎自動でキーアニメ


④出力するキーアニメのついたArmatureを選択して、Export/BVH書き出し!


⑤BVHの出力設定は、ScaleとFrameRange、あとオイラー角の回転順序を指定。
ちなみにMayaの回転順序はXYZです。
※ローテーションオーダー(回転順序)の重要性についてはこの動画をどうぞ!





以上!


今回のポイントは、NI MATE有償版だけの機能モーションキャプチャの記録 が、無償版だけでもできるということ。
それは、BlenderのAutoKey機能を使って一旦キーアニメにしてからBVH保存する方法でした。
ArmatureとNI MATEの設定さえしていれば、記録&書き出し作業は超簡単!

ただよく考えたら、Blenderでの作業が一手間&データロスもありえる不安定部分なので、
NI MATEからのOSCデータを直接テキストに保存するアプリを作れば良い(python?)。
もしくは、そもそもNI MATE介さずにKinectからのデータを直接テキストに保存すれば?
・・・というのはまた次の話で。


とりあえず、無料でモーションキャプチャからBVH書き出しまでできる!
ってことはスゴイです。


※ Blender小ネタメモ
◆再生・停止のショートカット  Alt + V


2017年4月17日月曜日

Motioncapture with Kinect for BGE 〜キャラモデル編


【Realtime MotionCapture with Kinect for BlendeGameEngine】第3弾 キャラモデル編


前回、Kinectからモーションキャプチャの取得を実現して
自動で各ジョイントにオブジェクトが作成される方法を試しました。

今回は、DLしたヒト型キャラクターに
モーションキャプチャデータを送信します。
某赤い帽子の男性モデルを使用させていただきました

① NI MATE のSkelton名に合わせて、Blender でEmpty(ロケータ)作成。
② Kinect接続、NI MATE起動、OSCの有効化。
③ BlenderのNI MATEのAdd-onsからEmptyでStart。Emptyがついてくるのを確認。
https://youtu.be/8aFbTy5nDeo


④ モデルの取り込み(DL)ジョイント作成。
ここで、ジョイント作成&スキニング。
参考チュートリアル(骨入門)
参考チュートリアル2(骨超入門)⬅︎日本語でオススメ
 ・ Shift+A でArmature/Single Bone 骨作成。
 ・ 骨の位置修正。tab押してBone修正モードにして、先端を移動(長さ調整)
 ・ NUM KEY 1 で正面非パース画面。
 ・ 骨選択して、Wキー、subdivide ➡︎方向一致する子骨追加
 ・ 骨先端選択で、Eキー ➡︎インタラクティブな小骨追加
もしくは、ヒト型ジョイントセットの作成
 ・ UserPreference/ Add-ons/Rigify を有効に。
 ・ Shift+a / Armature / Human(Meta-rig) でジョイントセット作成。

EmplyにBoneをコンストレイン。

ジョイントをEmptyにコンストレイン。Startでジョイントが追随するのを確認
⑤ Mesh作成。スキニンング。StartでMeshが反映するのを確認

以上で、キャラクターがKinectでリアルタイムに動くのを確認。


※ Blender 小ネタメモ
◆Shift+A オブジェクト作成
◆骨の操作でTab押すと編集モード
◆上記状態で E :骨追加、 W:方向の一致する骨追加
◆応用技 E:骨追加したあと続けてX,Y,Z押すとその方向にのみ移動
◆プレビュー画面で N  Mayaのアトリビュートエディタ的画面(アイテム?)
◆3キーで横カメラ、1キーで正面カメラ、5キーでパースの有無
Shift+タッチパッド(ダブル)ドラッグでパン

◆Shift+R 直前の処理繰り返し
◆スキニングは簡単 メッシュ+骨選択 Ctrl+P からAutomaticWeight
◆ArmatureのPreservedはON。体積の維持でスキニングが綺麗になる
◆プレビュー画面でA  全選択
◆Alt + R リセット。ポーズのリセット





2017年4月14日金曜日

Motioncapture with Kinect for BGE ~導入編


【Realtime MotionCapture with Kinect for BlendeGameEngine】第2弾 導入編

まずは、BGEじゃなくて

単純に
BlenderでKinectのモーションキャプチャをリアルタイムに反映させる。

①まず、KinectをMacbookで認識、ジョイント確認まで。

NI MATEインストールして、起動。



そして、Kinect接続。


右上のアイコンから、Kinect認識されているのを確認。



















『Show output』でKinectの起動状況を表示。




簡単にジョイントまで認識してくれます!




ちなみに、表示タイプは7種類用意されています。
View上で右クリックするとプルダウンメニューが表示されます。





②ジョイントデータを外部に送る設定

まず右上から、Controle Interfaceで画面表示。




Skeleton tracking の OSCを有効にする。



この画面でもジョイント認識を確認します。





③そして、BlenderでKinectからのデータを認識させる。

NI MATEプラグイン for Blender をダウンロード
Blenderを起動。
File/UserPreferences(Ctrl+Alt+U)の起動。
Add-ons/InstallFromFile でダウンロードしたAddonファイルを指定。
※animation_delicode_ni_mate_tools.py(2017.4月現在のファイル名)

すると左にNI Mateのタブが出現!
図形タイプを球にして『 Start 』するとモーションキャプチャデータが反映され
リアルタイムにヒトが動く!




以上。
一通りやってみたらすごく簡単。
これは便利。
足を地面から上げたりする動作も、結構な精度で読み取ってくれる!


とりあえず、モーションキャプチャデータの保存や、
オリジナルキャラクターへのジョイント割り当てなど、
引き続き検証していきます。


ちなみに、NI MATE無料版の機能制限は以下の通り。

・Kinect同時起動は1台まで
・モーションキャプチャを記録できない
・OSC inputはできない

まぁ現状は特に問題なし!
モーションキャプチャの記録は、Blender側でやる(?)みたいだし。
大きなシステムにしようとしたら有料版買うかも。高くても年間2万とかみたいだし。

あとそのうちKinect v2欲しいな。




2017年4月7日金曜日

Motioncapture with Kinect for BGE ~下調べ編


【Realtime MotionCapture with Kinect for BlendeGameEngine]】第1弾 下調べ編 

はい!

KinectでBlender




◆BlenderでKinectを認識する設定(NI MATE)
https://youtu.be/pgMBz-IXWkw

◆モーションキャプチャを記録する方法
最新版 https://youtu.be/Hx0q_6immxg

データの流れとしては・・
Kinect からのデータを NI MATEで一旦処理。 ←NI MATE本体
それをBlenderにリアルタイムに流す。 ←NI MATE addon for Blender

つまり、NIMATE本体のインストールと
Blenderのプラグインのインストール必要