FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

最新情報

情報更新【2018/07/29】

■【2017/12/06】MikuMikuDance Ver9.31 / MikuMikuDance Ver9.31x64(64bit版)

 入手はVPVPからどうぞ。 

■【2014/03/26】MikuMikuEffect Ver0.37 / MikuMikuEffect x64 Ver0.37

 http://ch.nicovideo.jp/beta183/blomaga/ar163614

■【2018/06/03】MikuMikuMoving Ver1.2.9.2 / MikuMikuMoving2 βVer.0.1.0.1
 入手はMikuMikuMoving - MoggProjectからどうぞ。
■【2018/03/23】PMDEditor 0139 / PmxEditor 0254f
■【2018/07/29】Hitogata beta 2.19

スポンサーサイト

【Hitogata Tips】OBSでの取り込み設定における注意

 時折、TwitterのエゴサでHitogataの画面がOBSで取り込めない等の声が聞こえたので、要点だけ簡単に説明します。

■ゲームキャプチャとウィンドウキャプチャの違い

 ・Hitogata側で別窓表示、枠内表示に関わりなく同一設定でいける
 ・OBSのウィンドウキャプチャは『デスクトップ上で実行されているアプリのウィンドウを丸ごとキャプチャする機能』なので、こちらは使用しない
 ・アバター表示部分だけキャプチャしたい場合は『ゲームキャプチャ』を使用する
OBS設定1  ・この設定にする事で、別窓だろうが枠内表示だろうが常にHitogataのアバターウィンドウをキャプチャする設定になる

■背景色の選択の重要性

 ・カスタムアバターを使用する場合、配色には注意。三原色全て使うようなキャラは避けた方が無

 ・青系や緑系が多いキャラに、グリーンバック(緑色)は使用せず、赤系の背景色を使用する
 (青系でも緑成分が混ざっていると半透明化する事がある)
 ・フィルタ設定でカラーキーの設定を行う
OBS設定2
 やり方は……
 『ソース』枠にあるHitogata用のソース設定を右クリックすると出てくるプルダウンメニューから『フィルタ』を選択。

OBS設定3 
 フィルタ設定ウィンドウの左下にある『』ボタンを押して『クロマキー』を選択。
(カラーキーでも良いが、クロマキーの方が綺麗に抜ける為の細かい設定ができる……っぽい)

 その後、色キーの選択をするのだが、赤系にした場合は『Custom』を選択。
 キーの色を『#ff000000』(赤)にするか、横にある『色を選択』ボタンを押してカラーパレットを開き、『赤:255』に設定する。

OBS設定4 OBS設定5

 それでも綺麗に抜けない場合は、『類似性』や『滑かさ』のスライダーを動かして調整する。

■その他
 エントリー題名とやや異なる内容になりますが、顔のブレ対策についてです。
 以前のエントリでも説明しましたが、
 ・顔をアップにしすぎると、(細かい動きも検知するので)逆にノイズの原因になる。
 ・ヘッドセットのマイクを顔に被らせない
 ・顔の左右で陰影差が出るような光源は避ける
 (できるだけ、正面から当てるライトなどがあれば良い。右と左の顎のラインがくっきりと見える状態を作る)
 この辺りを行うだけで、かなり改善されます。
 ちょっと眩しいかもしれませんが、千円~数千円のLEDランタンなどをWebカメラの向こう側に置くだけでも大分違いますし、災害時にも役立ちますのでホームセンターなどで購入すると良いでしょう。

tag : Vtuber Hitogata Tips

VTuber技術備忘録1

 今年に入ってからVTuber沼にハマって、いったいいくつの沼に足を踏み入れているのかわからなくなってきたかんなです。

 さて、需要はほとんど無いと思いつつも自分の備忘録を兼ねて、自身がやっているVTuber系での技術面においての話をつらつらと連ねてみようと思い立ちました。
 本来のブログっぽい事を久々にやってみます。

※この一連のエントリでは、他VTuberの方を記す場合、敬称を省かせて頂きます。ご了承を。


Hitogataと二人三脚

 VTuberを運用するに当たり、省力化・少コストを図るのであれば断然Unityベースで環境構築した方が良いのは言うまでもありません。
 私の企画でUnityを採用しなかったのはHitogataありきだからです。なので、Moggさんの存在とHitogataは土台そのもです。
 そうなると自分の数少ないスキルと合わせると、自然とHitogata + MikuMikuMovingの組み合わせになる訳です。

 モーションキャプチャデバイスは、Perception Neuron V2を採用。
 HTC ViveベースのOrionも視野には入っていたのですが、ランコストとの兼ね合いで断念。また、指のキャプチャを重要視していた為、Neuron一択となりました。
 幸いにも、Moggさん自身がNeuronに興味を示してくれたので、MikuMikuMoving及びHitogataに導入してもらう事もできたのです。
 この辺りは、個人ユーザーを対象とした導入ではないと思いますが、将来的に役立つのではないかと考えています。
 Perception NeuronはPRO版となると60万、v2でも20万と個人ではやや高額と感じられる値段ではありますが、中古バイク一台分、もしくは第七(八)世代CPU搭載PC一台分と考えれば、決して個人で導入できないものではないでしょう。
 もっとも、個人で買って頻繁に使用するものかどうか、というコスパ的な問題が大きくありますが……。

 フェイストラッキングも、既にFaceRigやiPhone Xを使ったシステムなどが発表・発売されている時ではありましたが、Moggさんは独自でライブラリ等を探し当てて導入。
 既に長年培ってきた、MMD/MMM周りの開発技術を活用し、わずか1~2週間でアルファ版が完成。
 非公開版ではPMXもそのまま読み込めるようにしてあり、私の方でも様々なモデルを読み込んで遊んではフィードバックを繰り返しました。
 また、モデルデータを運用するに辺り、過去の様々な問題を鑑みて基本的には独自フォーマット(とはいえ、中身はまぁ……いろいろありますが難読化した)hgmフォーマットを構築して、一般リリース開始の流れです。

 途中、最初に採用していたフェイストラッキングライブラリが商用利用するのに問題アリな規約があるのが分かり、急遽、商用利用可能なライブラリに差し替えなければならないという事案もありましたが、無事クリア。
 Hitogataを採用した先駆者である『日雇礼子』も安心して使える環境を整える事ができました。
 これらをMoggさんは自力で熟していたので、驚く他ありません。
 さらには商用利用可なオリジナルモデルを付属させ、キャラメイク機能を早々に実装し、モデル用パーツを週間刊行ペースでリリースしていくとか……傍から見てて心配になるレベルです。

 かなりハイペースな開発ではありますが、初期のMMDの時を思い出させてくれるような楽しさがあります。


■Neuronは万能ではない

 フルボディトラッキングは、まだまだ発展途上にあると感じます。それでもここまで安価にそして運用しやすいシステムになったのは驚くべき所ではありますが、ここに至るまでに2~30年掛かってはいます。
 比較対象としやすいのは今の所、OptiTrackとOrionでしょうが、OptiTrackは規模が大きすぎるので省きます。また、Orionまで同時導入は予算的にも厳しいので試せませんでした。
 なので、以下は経験上Neuronを使っての所感となります。

 品薄状態がかなり長く続き、入手するまでかなり時間を要しました。で、届いた荷物が思っていたのよりも小さく、宅急便で荷物受け取った時には詐欺られたのかとさえ思ってしまいました。
 入手時には既にHitogataもMMMもNeuronが組み込まれており、早速テストする事ができましたが……使えば使う程、いろいろな問題が出始めます。

 当然、最初に出てくるのはモデルのセットアップ問題。特にMMD系ベースのモデルはAスタンスであり、Neuron等はTスタンスベース。
 これはモデルの再セットアップをすれば解決しますが、何とHitogataの内部でスタンス変更を盛り込み、T→A変換が自動で行われているという実装がなされています。
 それらは結局、後からの実装になったVRM対応でも活用できるようになりました。

 次に目に見えてわかるのは、これもモデルセットアップ時の問題ではありますが、親指問題。
 初期の頃の『キズナアイ』や『電脳少女シロ』、『輝夜月』などを見るとわかると思いますが、Neuronのリファレンスモデルと実際に使用するモデルの親指の角度設定が異なる事です。
 この辺りはモデルセットアップでフォローする事はある程度可能ですが、自動化は無理です。
 何せ、装着者でも変わりますし、付け外しする度にも変わりますし、キャリブレーション時の状況(装着状況だけでなく周囲の磁気状況)にもかなり左右されてしまいます。
 この辺り、上記3名では長くやっている中で地道に補正を掛けていっているのが動画でもわかりますし、スタッフの血肉を注いだ努力がかなり伺えます。
 実際にどう補正をかけているのかは分かりませんが、後手である私の方では問題が先に見えていたので、解決にもそう時間はかかりませんでした。
 要はその都度、補正用ボーンレイヤーでカウンターを掛ければ良いだけです。
 例の異世界少女の場合、モデル側でもカウンターをかけて、更に仕上げまでの間にモーション補正を掛けてあります。
 これは多段ボーンとMMMのモーションレイヤー機能を活用しています。

 また、いろいろ言われているように、Neuronではダンスキャプチャは不向きです。
 一定以上の早い動きではドロップが発生しますし、足の接地ズレ、体の中心となる基準ボーン(MMDで言う所の全親、もしくはセンターボーン)のジャンプ現象は防げません。
 これらも、モーション修正編集でフォローする事は可能ですが、労力的コストは掛かってしまいます。
 また、Neuronの駆動ソフトであるAxis Proですが、ここから吐き出されるデータの一部に挙動不明な部分、つまりはバグ的なものもあり(仕様なのかバグなのかわからない)、足の接地フラグなどがまともに動きません。
 これが正常に取得できるのであれば、MMD/MMMベースに直しても足ズレがほとんど起きない状態にまで持っていけるのですが、残念ながら現状では叶わずです。

 ただ、やはり他では難しい指の動きのキャプチャは、かなり強力です。
 センサーの装着状態とキャリブレーションをしっかりやれば、かなり繊細な指の動きまで再現してくれますし、それがモデルに反映されるとやはり感動します。
 手付モーションでは気が狂いそうになる程の動きが一瞬にして取得できるのと、やはり女性(男性)特有の指の動きで、人の表現における『表情』がかなり変わります。
 Neuronシステムを採用している他VTuberの動画・生放送等を見てても、やはり個性が出るところだなと感じます。
 何気に、”中の人”の素の部分が見えるところではないでしょうか。

 余談ですが、Neuronを導入するに当たり、既に運用実績のあるcortさん、そして個人で買われた6666AAPにそれぞれ所感を尋ねた事がありました。
 詳細は省きますが丁寧にいろいろと教えていただきました。
 この場を借りて感謝致します。
 また、6666AAPとは、チャットにて指の動きについてそれぞれ熱く語った夜もありました。
 AAP、マジ半端ねぇって。


■優秀なBullet Physics Engine

 MMDとMMM、そしてBlenderにも搭載されている物理エンジンですね。ゲームでの採用実績もかなりある物理演算エンジンです。
 MMDでの採用時もいろいろありましたが、よくもまぁあの当時でBulletを採用したものだと、樋口氏の(野性的な)先見の明には驚くしかありません。
 MMMでは若干ではありますが、MMDよりも比較的新し目なバージョンのエンジンが搭載されていますし、何よりMMMでは物理演算結果のベイク(焼き込み)機能があるので重宝しています。
 これと最近搭載された『モーション平滑化』機能、もしくはVMD Reduction Toolを併用する事で、かなり滑らかな物理挙動を表現する事ができます。
 プルプルや衝突暴れなどを完全に防ぐ事はできませんが、そこはモーション補正でカバーできますし、大掛かりな物理挙動補正を必要としません。

 UnityのRigidbodyなんかもかなり強力な物理演算ではあるものの、やはり理想的な動きに近づけるためには多くの知識と経験が必要になります。
 スカートや髪などが多い女性モデルとなるとセットアップも大変ですし、調整にはかなりの時間を必要とします。
 MMD系のPMD/PMXでも比較的簡単に組み込み自体はできますが、これまたやはり理想的な動きに持っていくには、ノウハウと時間が必要となります。
 が、簡易3DCGツールとは思えない程、管理や設定が楽ではありますし補正もしやすいです。
 もちろん、長年使っていて慣れてるから、ではありますが……。
(恐らく、これから始めるとするならば、将来性や堅実性があるUnityベースの方が良いかもしれません)

 それでもなお、感覚的な話ではありますが、なんだかんだMMD系のシンプルさとBulletエンジンの優秀さは、使えば使うほど酢昆布のように味わいが出てくるので好みではあります。


■Moggさんについて

 今となっては存じない人も増えてきたので、知ってる範囲内ですが簡単に紹介を。
 本人はアイコンに雰囲気が似ていますw
 実際に会う事があれば、おそらくこの意味がわかるでしょう。

 MoggさんはMMD関係に絡む前から3DCG系に興味を持っており、Bullet Physics Engineに対して日本向けドキュメントの整備なども行っていた時期があります。
 もう古くなっているのでここではリンクを貼りませんが、恐らくググれば今でも出てきます。
 一部のプログラマには知られている存在でした。

 MMD系に絡むようになったのは、2010年12月19日にMMD Ver7.24にてKinect対応版がリリースされた直後です。
 樋口氏自身は、2010年の秋口よりKinectについて興味を示していましたが、実装するかどうか見送るような態度を醸し出しつつも、しれっと12月半ば(MMD杯前)にリリースするという、相変わらず鬼の所業をしておりました。
 その頃からMoggさん自身が興味を示していたのかは分かりませんが、MMDのバグフィックスや機能改善が行われると同時期に、OpenNIライブラリのMMD向け改良版ドライバなどをリリース(MoggDxOpenNI.dll)したのが、本格的な絡み始めです。
 その後、(結果として一時的な)MMDの開発終了宣言が樋口氏からなされ、MoggさんがMikuMikuMovingの開発に着手したという流れです。
 MikuMikuMoving発表後も結局、MikuMikuDanceはその後も地道に開発が続けられ、MikuMikuMovingは後継ソフトではなく姉妹ソフトとして存在し、今に至ります。
 また、MikuMikuMovingだけでなく、モーフ系一括編集ツール『Face and Lips』や『VMD Redction Tool』を始め、便利なMMD系ツール開発をしています。
 また近年ではアニメ『けものフレンズ』の二次創作ユーザーモデルも驚くべきスピードで大量リリースした実績もあります。
 プログラマ兼モデラーというスーパーマンです。
 ですが会う時はいつも仕事終わりの後とかなので、やはりスーツ姿の印象が強く、アイコン通りの人です。
 それは兎も角……なので、Moggさんも初期組とまではいかずとも、古参ユーザーの一人ではあります。


■最後に
 先にも記しましたが、MMDのKinect対応は個人的にも衝撃的でしたし、速攻で品薄なKinectをポチった思い出があります。
 当時のKinectはそんなに精度も良くなく、今のようにツール側での対応も便利なものではありませんでした。
 いろいろ工夫を重ねて何とかうまくできんものかとやってみましたが、やはり手付モーションの美しさには叶わず……といった流れから、はや7~8年。ようやくここまでできるようになったという喜びと、その当時から地道に、そして情報少ない中自分なりにやってきたノウハウが活かせる場面が出てきたという訳です。
 無論、ここに至るまでに犠牲にしてきた(もしかしたら得られたかもしれない)リア充生活と金銭と時間は結構なものになっています。
 また、MMDというコミュニティーが無ければなし得なかったものであり、数多くのMMDユーザーの方々のおかげでもあります。

 感謝を。

tag : Vtuber Hitogata MikuMikuMoving

【Hitogata Tips】フェイストラッキングテクニック

 このエントリでは、お手軽バーチャルYouTuberソフト『Hitogata』においてのフェイストラッキングのちょっとしたテクニックなどを記します。
 地味な内容ではありますが、徐々に増えているHitogata使用のVTuberの方々や、これから始める方々の手助けになればと思います。

Hitogataにおいてフェイストラッキングの概要】

 Hitogataではディープラーニングによる画像認識・顔認識を利用しています。ラーニング結果は開発者でも予想が難しく、入力したサンプルデータによって偏りが出る事もあります。
 開発者のMoggさんが自身の顔だけを入力した場合には、当然Moggさんの顔や表情は細かく認識しますが、他の人の顔は認識しません。が、より多くのサンプルデータを学習させる事で、プログラム側で近似値を探して人の顔を認識するものです。
 Hitogataでは『VGGFace2 Dataset』を利用・学習させてますので、多くの人の顔を認識する事が可能となっていますし、Moggさん自身も自前PCをフル活用して結果向上を地道に繰り返しています。
(学習・解析には膨大な時間を必要とするそうです)

 なので、やはりプログラム側で認識しやすい顔と、トラッキングが外れやすい顔と得意不得意が出てきてしまっています。
 こればかりは、顔を変える訳にも行かず、また学習データで任意の方向性を付けるのも難しい問題になっています。

 beta v2世代になってから、かなり精度は向上しています。
 そこで、私自身が使用した中での話になりますが、いくつかTips的なものを記しておきます。


■明るすぎず暗すぎず、な撮影環境

 顔出し生放送をする訳ではありませんが、それでも照明など部屋環境を整える事は重要となります。
 とはいえ、特殊な照明や顔にバッチリ照明を照らす必要はありません。以前のエントリに記したように、部屋のシーリングライト(天井の照明)だけでも問題はありません。Webカメラの設定でフォローする事は可能です。

 Hitogataでは基本的に輝度(画素の明るさ)のみで顔認識をしています。が、厳密にいうと色情報がまったく関係無いといえばそうでもなく、色温度や色相の影響なども少々あったりします。
(大きく差異が出る訳ではありませんが、青より赤の方が輝度が出やすい傾向があったりします)

 基本は輝度で見ているので、人物の背景、服、照明を工夫すれば認識精度は上げやすくなります。

・高すぎる輝度は誤認識しやすい
原因:太陽光などのエネルギーが強い光が当たっていると顔自体を認識し辛くなる。
対策:カーテンなどを閉めて、直射日光が顔や人物に当たらないようにする

・元々部屋が暗い場合
原因:古いアパートなどで備え付けのライト等が元々暗い
対策:液晶モニタの調整で輝度などを上げ、照明代わりに使う

・デスクライトなどを当ててみたが…
原因:蛍光灯やLEDライト直接当てると明るすぎる(目にもよろしくない)
対策:要らないコピー用紙(なにか印刷してあっても良い)やトレーシングペーパー等をライトに被せて光を拡散させる(強すぎる光をフィルタする)

 要は、ポートレート撮る時のように程よい明かりを点けておけば良いという事になります。
 認識するのは、顎(とその影)、眉、目、鼻、口となっており、それぞれ陰影や特徴を得られやすい部分です。
 『カメラ画像』をONにし、『Webカメラコントロール』を使用して丁度良い感じになるよう、調整してみて下さい。
 Webカメラコントロールの内容は、Hitogata側では記録されず、Webカメラのドライバ側での記憶となるので、Windowsを再起動などさせると消えてしまいます。なので、Hitogataの初回起動時には必ず調整を行うようにすると良いでしょう。

 余談となりますが、レフ板等を使って顔を奇麗に撮るような事はしなくて大丈夫です。むしろレフ板などで首周りの陰影が薄くなってしまうと、顎のラインが認識し辛くなるので、トラッキング外れの原因になり得やすいです。
 あくまでも画面に出るのはアバターなので、自身の顔を美しく魅せる必要はありません。


■必ずしもアップで写す必要はない。画素数も多ければ良いというものではない。

 まず顔を撮るサイズですが、アップにする必要はありません。
 確かにアップで取れば細かい動きまでトラッキングできるようになりますが、細かい動きまで認識してしまうので、結果としてノイズ的な動きも多くトラッキングしてしまいます。
 歌う時のリップの動きが欲しい場合などはアップの方が良いですが、普段使いや生放送でやる場合には、アップでの撮影を避けた方が良いです。

 Hitogata beta2では動き平滑化の機能も備わっているので、感度スライダの調整を併用する事で、口の動きと体の動きを程よくトラッキングしてくれます。
Hitigata_Tips_A01 

 お勧めはバストサイズ(胸から上が写ったサイズ)です。また、構図的には少々アンバランスでも、頭の空間(マックスヘッドルーム)はやや空けて、顔が取得画像の中心に来るようにした方が良いです。

 また、顎の認識の問題で、Webカメラを下側に設置して、アオリ状態で撮る事も避けた方が良いでしょう。ベストは目線の高さと同じ位置にWebカメラを設置する事です。
 難しい場合は、モニタの上等に引っ掛けて、目の高さに近い位置から撮りましょう。
(俯瞰だと、眉のトラッキングでノイズ的動きが増えてしまう可能性もありますが、顔全体のトラッキングが外れるよりは良いかと)

 また、最近のWebカメラはフルHDサイズまで奇麗に取れるものも増えていますが、取得画素数が増えれば当然CPUの負荷も高まりFPSが落ちます。
 私の環境では、横幅が720pxを超えると途端にFPSが半減以下となり、CPUが唸り始めます。
 なので、標準である横640pxが程よい処理能力となるので、高品質Webカメラの必要性は薄いです。数千円程度で売られているカメラで十分です。
(当然、Webカメラ自身にあるセンサー画素数は高い方が綺麗には撮れます。またレンズが大きい方が明るく撮れます)

 同様な理由で、Webカメラではなく動画からフェイストラッキングを行う際も、大きな画素数は必要ありません。
 Webカメラでのリアルタイム処理に比べれば、動画からの処理の方が軽い状態ですので、ハーフHDサイズ(1280px × 720px)くらいの大きさでも綺麗に撮れます。
(第7世代のCPU以降であれば、フルHDでもスムーズにトラッキングしてくれますが、精度に大きく差が出てる様子はありませんでした)


■服や髪型も気にしてみよう

 お洒落をする必要はありませんが、トラッキング精度を高める為には着替えの検討も必要です。
 服は白系などの高反射(輝度が高くなりやすい)の色のものは避けましょう。黒や紺などのTシャツなど首周りまで見えて、かつ暗めの服の方が誤認識が少なくなります。
 勿論、アーティストや何かのキャラの顔がプリントされてあるシャツ等は避けましょう。

 髪も、前髪等はアップにしておでこを出しておきましょういわゆる姫カット(前ぱっつん)状態だと眉が認識できずに、ノイズが増える可能性があります。

 髭も剃りましょう。
 冗談抜きで、顎髭、口髭は誤認識の原因になりやすいです。
 試しに数日伸ばしっぱなしの状態と、奇麗に剃った時とで比べてみたら、特に顎認識のノイズに差が出ました。
 数値的な検証を行った訳ではありませんが、特に顎髭と鼻下の髭は影響が大きいです。恐らく影なのか(唇の動きでできる影)、輪郭なのか判断が付きにくくなっているのでしょう。

■ヘッドセットマイクの位置

 壁の薄さなどで大きな声を出せない環境だと難儀な問題です。
 マイクブースト機能で音量を上げるとノイジーになり、マイクを話すと声が拾えないなどで、仕方なく口元までマイクを寄せる事が多いでしょう。
 が、当然ながら、唇前にマイクがあると、これもまたトラッキング精度を下げる原因になります。

 そういう場合は、マイクアームを含め、顎下に下げてしまいましょう。もしくは顎のラインに添うように曲げてみても良いです
 卓上マイクなら問題ありませんが、これはこれで環境音を拾いやすくなるので、一長一短ですね。
 また、ハンズフリーマイクのようなものでも良いですが、多くは音質が低質になります。
 ベストなのはピンマイクですが、個人で買うようなものではありませんね……。


■最後に

 HitogataはVR環境を整える必要が無く、Webカメラがあれば使えるソフトです。
 また、VTuber以外の用途でも使えます。
 MikuMikuDanceやMikuMikuMovingで使うためのモーション作成にも利用できますし、SkypeやDiscordでのカメラチャット(別途、デスクトップキャプチャツール等が必要)で、アバター表示させながらの会話などにも使えます。
 あとは単純に、自分の動きを真似るCGアバターが動く様を見るだけでも、なかなか楽しいものです。

 勇気ある方は、仕事のプレゼンテーションに使ってみるのも面白いかもしれません。
 私も何件か仕事の関係でHitogataを目前で見せた所、大抵の方は驚き、そして興味を惹かれていました。7年前のノートPC(Core i7 2720QM)でも余裕で動かせるので、なおさらです。

 また、既にHitogataを運用している方は、是非ともMoggさんにお声掛けして下さい。
 メールでも良いですし、Twitterをフォローするのも良いでしょう。

MoggさんのTwitter:@mogg_dev

 プログラマにとって、意図しない動作や不具合は許しがたい存在なので、遠慮せずに報告する事をお勧めします。
 また、Moggさんのブログにもある通り、『VTuberになりました』やソフトを使って楽しんでる事を伝えるだけでも、氏のモチベーションに繋がります。
 MMD関連ツールでもそうですが、ソフトやツールは使用者の結果が見れる訳ではありませんので、反応が少なくモチベーション維持に苦労しています(動画等の目に見える状態になる事が稀なので)。

 また、アバター作成用のパーツですが、Moggさん以外でHitogata用に作られたものは、まだありません(私が知らないだけかもですが)。
 苦労して作ったCGモデル(単体パーツであれ)を「自由に使っていいよ」という状態で配布する事自体がリスキーではありますが、指輪やリボン、ウェストポーチ等の小物でもアバターの個性に成りえますので、モデリングの練習がてらに作ったものをMMDアクセサリ・Hitogata用パーツとして配布してみる事もご検討下さい。

 以上です。
 それでは、良いアバターライフを。

tag : Hitogata Tips Vtuber

Hitogata使用時のWebカメラ調整について

 Hitogataがβ1.3にバージョンアップし、Webカメラ調整などが出来るようになっています。一部のWebカメラではエラーが出る場合もありますが、回避方法もありますので使い方と共に記しておきます。


■『Webカメラコントロールボタン』を押した時にエラーが出る場合

 LogicoolのC922等のWebカメラではドライバの影響もあるのか、カメラコントロールしようとするとエラーが出る事があります。
 エラー表示ダイアログで『Proceed』を選んで継続する事もできるのですが、その後の挙動に影響する場合もあるので、『Exit Aplication』で一度落としておきましょう。
 エラーは、Webカメラへ初回のアクセスを試みる時に起こりやすく、ドライバとの相性などもあるので原因特定は難しいです。
 が、一度アクセス出来るようになればエラーは回避できます。
 なので次のような対処で回避していきます。

1:Hitogataを起動する
2:『FaceTracking』を開始する前に『Webカメラコントロール』を開く

 これだけでエラーが回避できる場合があります。
 その後は、トラッキング状態のままカメラコントロールも可能になりますし、Hitogataを落として再度起動させてもエラーが出なくなります。


■Webカメラコントロールによる画質調整

※調整をする時は『カメラ画像』を一時的にオンにすると調整しやすいですが、生放送中などに行うのは避けましょう。
Hitogata_b1_7 
 メーカーによってコントロールできる箇所が変わりますが、基本的にはこのダイアログで表示されている項目で調整していきます。
(コントロール不可の部分には、スライダを掴む場所が表示されません)
 必要な項目だけ、以下に説明していきます。


▼ズーム
 Webカメラは比較的広角な状態で撮っている事が多いです。携帯カメラと同じで、かなりレンズに近づかないとアップになりません。
 Hitogataは顔認識を行いますが、やはり顔の彫が浅めな日本人だと眉やリップの認識がやや弱めになりがちです。
 カメラに付いているズームはデジタルズームで画素が荒くなりますが、元々取得画素が多いカメラ(HD対応カメラ等)であれば、認識誤差が起こるほど荒くはなりません。
(特に設定をいじらない限り、640x480のサイズに縮小されて処理します)

 ある程度、頭を左右に振ってもフレームから外れない範囲でズームしておく事をお薦めします。


▼パン・ティルト
 これもレンズ自体が動く訳ではなく、元々取得している画素の中での動きとなります(いわゆる切り抜き状態)。初期状態が丁度真ん中にくるように調整すると良いでしょう。


▼露出
 日本語表記では『露出』とありますが、シャッタースピードと絞りが連動している場合が多いです。なので、明るさを絞りで稼ごうとするとシャッタースピードが遅くなり、処理FPSが落ちる原因となり得ます。
 最近のカメラであれば、シーリングの蛍光灯(天井ライト)だけでも十分な光量が得られるようになっていますが、自動設定のままだとこの部分が変動して、トラッキングにも影響が出ます。
 なので、この項目はマニュアル操作にし、固定させましょう。

 見た目の明るさ(暗さ)は一旦捨て置き、トラッキングウィンドウに表示されているFPS表示と見比べながら、30fpsを下回らないように調整します。
 これを調整する事で、カクツキや認識外れの頻度が下がるでしょう。


▼逆光補正・ゲイン
 カメラが逆行になる位置にあるなしに関わらず、これをオンにする事で若干光量を得られるケースもあります。
 オンにするには、スライダを右側に寄せましょう。

 ゲインは文字通り、取得した画像を底上げ(暗い部分から全体を持ち上げる)する機能です。
 ついつい明るさやコントラストを先に調整しがちですが、露出で暗くなった分は、まずゲインで上げてしまいましょう。
 この機能も大抵はオートになっている場合が多いですが、マニュアルにして調整します。
 上げていくと若干ノイズが出てきますが、自撮りではないので気にしないでおきましょう。あまり上げすぎて白くなったりノイズが目立ち過ぎると認識にも影響が出ますので、丁度よい明るさになるようにします。
 認識状態を見ていると分かると思いますが、ある程度暗くても顔認識はされます。表情や口などを動かして動作チェックをしながら調整してみてください。


▼明るさ・コントラスト
 ゲイン調整が終わった後、ようやくこの2つの項目を弄ります。
 これも認識が上手くいきそうな状態に調整します。コントラストは若干濃い目に調整した方が、口の動きや眉の動きが取得しやすくなります。
 肌荒れなどは気にしないようにしましょう。
 これからCGキャラになるのですから。


 さらに細かいWebカメラの調整を行うには、一番下にある『プロパティダイアログ』を押すことで、Webカメラドライバ専用の調整ウィンドウが出てきます。
Hitogata_b1_8 
 自動と手動の切り替えなどを行う場合は、このダイアログでやりましょう。この調整ウィンドウはカメラのメーカーたドライバによって変わる場合があります。

 『PowerLineの頻度』項目ですが、これは元々の電気の周波数(コンセントの電源周波数)の設定になります。
 中部以西では60Hzのままでいいですが、関東などの中部以東では50Hzとなりますので、設定し直しましょう。
 蛍光灯ではなくLEDライトなどであれば触らずとも問題ありません。
(いわゆるチラつき防止機能です)

Hitogata_b1_9 
 こちらのタグの方では『低光量補正』のオン・オフが切り替えられる機種もあります。
 顔に当てるライトなどが別途あれば良いですが、大抵はシーリングライトのみの環境だと思うので、このチェックはオンにしておくと楽です。


▼その他
 少々強引なやり方となりますが、大抵はPCモニタなどを見ながらのトラッキングとなるので、モニタのバックライトを強めにしておくという手もあります。
 目に優しくありませんし、色の具合なども違って見えるのでお薦めはしませんが、モニタのバックライトの光量はかなり強いです。
 省エネモードなどを一旦切ってみるなどでも対応できるでしょう。


 全ての調整が終わったら、必ず『カメラ画像』をオフにしましょう。また、実際の撮影画像が出てないか、しっかりトラッキングウィンドウで確認しましょう。



■トラッキングウィンドウが行方不明になった場合の対処

 環境によっては、トラッキングウィンドウを最小化(タスクバーに仕舞う)した状態のまま、Hitogataを終了してしまい、ウィンドウが行方不明になる場合もあります。
 この時は、Hitogataの実行ファイルと同じフォルダにある『Settings.ini』ファイルを編集する事でウィンドウを元に戻せます。
 このファイルを右クリックし、メニューから『編集』を選べばメモ帳(テキストエディタ等)が開いて編集可能となります。編集する前に、一旦Hitogataは終了させておきましょう。
 上から5行目辺りにある
TrackingFormPosioton
 が、トラッキングウィンドウの左上位置です。恐らくこの設定数値が、デスクトップの位置より外側になっているのが行方不明となった原因です。
 これを適当な数値(1以上の数値)に変えてしまいます。
10,10
 などに一旦変更してみて下さい。
 変更して保存した後、Hitogataを立ち上げればデスクトップ左上側にトラッキングウィンドウが表示されます。


 今回は以上です。
 それでは良い美少女(イケメン)ライフを。

tag : Hitogata Tips Vtuber

Hitogata Beta1~1.1


■導入時の注意

 サイトからダウンロードしZipを解凍した後、Readme.txtは一読しましょう
 導入した後に実行ファイルを立ち上げた所、上手く動かないケースで、よくあるのがランタイム等の必須ライブラリが足りない場合が多いです。
 Windowsの『コントロールパネル』→『プログラムと機能』などで、必要ライブラリが入っているかどうかチェックしてみて下さい。
 MikuMikuDance / MikuMikuMoving / PMDeditor /Pmxeditor 等を使っている人には馴染みあるものですが、これらをまったく導入した事が無い人は特に注意しましょう。
 また、Hitogataは起動できるものの、モデル等がまったく表示されないなどの場合は、グラフィックドライバ関係を疑いましょう。
 グラフィックカードなどがDirectX11に対応しているか、ドライバもきちんと導入されているかどうかをチェックし、再導入してみる事で動作する場合もあります。

■アルファ版からベータ版に。新機能『キャラメイキング機能』

 Hitogataは他のソフトで作られたモデルデータ等をキャラとして読み込む事は出来ません。
 アルファ版では動作チェック用にMoggさんが作られたモデルが入っていましたが、ベータ版からは同梱されていません。
 代わりに簡易的にオリジナルキャラを作れるよう『キャラメイキング機能』が実装されました。
Hitogata_b1_01  ひとつひとつを全て説明すると長いので割愛します。操作画面を見ただけでも使えるような作りになっていると思いますので、まずは触って見て下さい。
Hitogata_b1_02  色の設定はやや特殊なので説明します。
 現バージョンでは、髪・瞳・肌・メガネ(装着時のみ)の色設定を行う事が出来ます。
 色の指定は、彩度・明度・色相・ガンマの4項目で調整するのですが、数値の後ろに『』が表示されているのが見えます。
 つまり、元々ある色から、どの程度変化させるかという項目になっており、ペイントソフトなどにある数値直接指定とは意味合いが変わっています。
 デフォルトモデルだと髪の色は赤になっているので、赤を基準とした変化量をスライダまたは数値で設定する形になっています。

 キャラメイクが終わったら、必ず保存しましょう。保存しないとHitogataで読み込まず、ファイルも登録されません。
 また、現バージョンでは既に作られたモデルを再度編集する事はできません。
Hitogata_b1_03  保存が完了させウィンドウを閉じると、メイン画面のキャラ選択枠の中に新たなキャラが追加されている筈です。
 それをクリックして読み込めば、オリジナルキャラが動き出します。

■フェイストラッキング機能の変更点

Hitogata_b1_04 
 HitogataからもWebカメラの調整ができるようになりました。『Webカメラコントロール』ボタンを押すと、コントロール用ウィンドウが表示されます。
 明度やコントラスト、対応しているカメラであればズームやパンなどの調整も可能です。より明確な画質にする事で、細やかな動きをトラッキングできるようになります。
 調整する場合は、カメラ画像をオンにしてから行うと良いでしょう。
 特に『露出(シャッタースピード)』の設定は、そのまま処理FPSにも影響が出るので、やや暗めの部屋などで撮る場合には調整が必要です。

■音声関係の変更点

Hitogata_b1_05 
 音声枠の中に入力されている音声の大きさを表示するレベルメーターが追加されました。
 範囲スライダの参考にもなりますし、マイク入力や音声ファイル再生時のリップの開き方の調整も、視覚的に行えるようになりました。

■設定関係の変更点

Hitogata_b1_06 
 高解像度Webカメラにも対応するため、Webカメラの映像取得解像度を選択できるようになりました。標準では640x480が選ばれていますが、プルダウンメニューで高解像度・低解像度共に選べます。
 ただし、トラッキング処理に大きく影響するので、解像度が高ければ良いというものではありません。フルHDサイズ(1920x1080)等にすると極端に処理FPSが落ち込んでしまいます。
 解像度と処理スピードを考えると、800x600辺りが妥当な線かと思われます。
(Kinectカメラでは640x480までの解像度しか持っていませんので、それ以上のものを選択しても640x480以上にはなりません)

 また、トラッキング画素を上げる事が出来るようになったので、視線トラッキングの処理も選択できるようになりました。
 『視線トラッキング』では文字通り、ユーザーの視線をトラッキングしモデルに反映させます。が、実際の目の大きさに左右されるものなので、上手く取得できるかどうかは撮影環境や顔の造形次第となります。また、眼鏡等を掛けている場合には取得精度が落ちます。
 『カメラ自動追従』は、今まで通りカメラ目線になるようモデルの視線が自動的に調整されます。
 『無し』にすると、モデルの目は固定、もしくはモーション依存となります。

■その他

 部屋プリセットから、机部屋が無くなりました。標準モデルの体型変更の為、今までの机が使えなくなった為です。

 ウィンドウの位置情報や各種設定項目の状態が『Setting.ini』ファイルとして登録されるようになっています。
 FaceTrackingのウィンドウを最小化して、再度元に戻そうとして行方不明になった場合などは、この『Setting.ini』をゴミ箱に捨ててみて下さい。ウィンドウの大きさや位置が初期状態に戻されます。


 以上です。

tag : Hitogata Vtuber Tips

Hitogata alpha5~6 更新点

 このエントリでは、Hitogata alpha5~6版で追加された機能や変更点などを記します。
 説明用の画面はalpha6(0.1.6.0)を使用しています。
 詳しくは、Moggさんのブログ、Downloadした後のReadme.txtをご一読下さい。
 Hitogataの入手はこちら



■保存系の強化とファイルの活用

 alpha6からは保存系の機能が強化されています。
 従来のVMD保存だけでなく、キャプチャ時のWebカメラからの入力を動画として保存できるようになっています。
 動画圧縮形式は『DivX(.avi保存)』『mp4(.mp4保存)』『wmv1(.wmv ウィンドウズメディアビデオ保存)』と3タイプから選べます。
 この保存は、輪郭などをトラッキングしたデータ(ドット表示されているもの)を保存するのではなく、カメラの入力生データを保存するものです。なので、部屋や自分の顔が写ったものが保存されるので、生放送時などには使用しない方が良いでしょう。
 保存は、動画と同時にwav(音声データ)も別ファイルとして保存できます。MMD/MMMに持っていく時に便利な機能となっています。
(動画と音声を合体させる時は、AVIUtl等の編集ソフトを使用してとなります)

 保存された動画を使ってフェイストラッキングも出来ます。
Hitogata_a6_01 
『動画からFace Tracking』のボタンを押すと、ファイル選択ダイアログが出ますので、動画ファイルを選びます。すると動画再生ウィンドウが開かれ、再生すればトラッキングが開始されます。
 予め動画編集ソフトなどで必要部分だけ抜き取っておけば、無駄なトラッキングをせずに済みます。動画撮影を長回ししておき、必要なテイクだけをやる時にも便利です。
 動画の読み込みは、Windowsで認識されているコーデックのものであれば読み込める筈です。携帯やハンディカム等で撮影したものにも使えるので、別撮りしておくのも可能です。
 動画再生時に『カメラ画像』をオフにしておけば、元の動画自体は表示されません。

 動画撮影時に注意すべき点は、PCのパワー不足やカメラの性能が悪くfpsが落ちてしまっている場合、動画保存時にはコマ落ち状態ではなく時間が短縮されて保存されます。
(恐らく、内部でコーデック設定が29.97fps固定になっている?)

 音声ファイルも、Windows Media Player等で開けるものであれば、大抵対応していますが、wavやmp3を使うのが無難でしょう。
 音声ファイル保存は、wavファイルでの保存となります。


■音声入力系でのリップモーション作成

 Hitogata_a6_02
 音声系もマイク入力と音声ファイルからの生成の二種類が選べるようになっています。
 『音量』で入力のレベルを調整し、『範囲』の二つのスライダで最小値と最大値(口の開き方)が調整できるようになっています。
 『マイク音量のみ』でやれば、音圧レベルに合わせて『あ』のモーフに反映されます。
 『マイク音量とトラッキング』でやると、口が大きく動いてなくても音の入力があれば『あ』のモーフで口を動かす等の事ができます。
 これは音声ファイルを使用した時にも出来ますので、音を再生しながら自身も動いたりすれば、合成されたものを作るなど、遊びの幅が広がっています。
 音声はVOICEROID等の合成音声だけど動きは自分といった感じで、自分がロボ化(もしくは合成音声が人化)する事も可能です。


■画面内スクリーン機能

Hitogata_a6_03 
 いわゆる、MMD等でのscreen.bmpでの画面表示機能です。基本的にはデスクトップキャプチャになります。
 スクリーン枠にあるアイコンをドラッグすると、アイコンの表示がターゲットマーク表示となり、ウィンドウ毎に選択できるようになります。
 アイコンを一度クリックしてから、任意の部分をクリック+ドラッグする事で、デスクトップ範囲選択ができます。
 デスクトップウィンドウ表示のレイヤーに影響されるので、裏に回ってしまったものは取得できません(ウィンドウが重なった状態でキャプチャされる。デスクトップそのままの状態)
 動画を流したい時などは、空いているエリアにWindows Media Playerなどを開き、ウィンドウ選択で表示させると良いかもしれません。
 作業生をする時など、MMD/MMMをキャプチャしながら、このような画面で遊ぶ事もできます。
 スクリーンだけでなく背景にする事もできます。

 また、カメラの位置はカメラアイコンを右クリックする事で、現在の状態を保存するようになりました。
Hitogata_a6_04 
 使う部屋によって、カメラ位置を変えたりする事もできるので便利になりました。


■ユーザーカスタム(部屋)

 alpha5からは部屋をユーザー側で追加する事ができます。
 対応ファイルは.xと.mqoなので、メタセコで作った背景セットがそのまま読み込めます。
 ですが、単純にフォルダを作って放り込めば良い訳ではなく、Hitogata用の設定ファイルを用意する必要があります。
 設定はファイルは簡単なテキストファイルで、拡張子を『.room』にすれば良いだけです。

▽机部屋の設定ファイル『WoodDesk.room』
Name=木の机
ModelFile=WoodDesk.hgm
PoseFile=Pose.vpd
ArmIK=true

『Name』:選択ボタンにオンマウスした時に出る説明用のもの
『ModelFile』:『.hgm』『.x』『.mqo』のモデルファイル名を記述
『PoseFile』:モデルに部屋専用の基本ポージングをさせる事ができます。ポーズファイルを同じフォルダに入れておき、指定できます
『ArmIK』:turu / falseのどちらかを記述します。trueで腕IKを使用する事ができ、falseで腕IKを切ります

▽オートルミナス部屋の設定ファイル『LuminousStage.room』
Name=ルミナス部屋
ModelFile=LuminousStage.hgm
EffectFile=AutoLuminous.fx11
PoseFile=
ArmIK=false

『EffectFile』:DirectX11用のエフェクトファイルを指定する事ができます。
DirectX11用エフェクトファイルは、殆どありませんが、MikuMikuMoving v2で動くものならHitogataでも動くのではないかと推測します。

プログラマ向けの情報として、Moggさんのサイトにセマンティクス一覧があります。
MikuMikuMoving2で使えるセマンティクスと特殊変数

 また、エフェクトファイルもテキスト形式なので、同梱されているAutoLuminousとWorkingFloorを参考にすると良いでしょう。


■ユーザーカスタム(モーション)

 モーションも部屋と同様で、ユーザー側で追加する事ができます。『.mo』というのがモーション設定用ファイルとなります。

▽キラッ!モーション設定ファイル『Kira.mo』
Name=キラッ
MotionFile=003_Kira.vmd
MarginFrame=2
MotionSpeed=50
Repeat=false
EffectFile=Kira.fx11

『Name』:選択ボタンにオンマウスした時に出る説明用のもの
『MotionFile』:vmdモーションファイルを設定します
『MarginFrame』:通常状態からこのモーションへ移行するフレーム数を指定します
『MotionSpeed』:モーション再生速度を指定します。単位はfpsですので、標準スピードなら30を指定します(60で倍速再生)
『Repeat』:繰り返し設定をします。turu / falseのどちらかを指定します
『EffectFile』:パーティクルエフェクトなどを指定する事ができます。これもDirectX11での記述ファイルが必要となります。

 部屋も同様ですが、元々セットで組まれているファイル群やフォルダ構成などを真似して、自分用のものを作ると良いでしょう。
 alpha5版からは、ボタンを一度押せば再生しっぱなしになるので、リピート系のモーションも待機中モーションなどで使えますし、複数のモーションを組み合わせて使う事もできるようになりました。
 表情系のみのモーションファイル、体の動きだけのモーションファイルと分けておけば、組み合わせで多彩な表現が可能となります。
 リピートをfalseにしている場合、最後のフレームの状態が維持されます。

 alpha6版からは、部屋とモーション枠に『更新』ボタン(時計回りの円形矢印ボタン)が追加され、Hitogata本体を再起動せずともファイルの追加や変更が可能になっています。


■設定ウィンドウやウィンドウ配置

 上部メニューにある『ツール』→『設定』で、Hitogata本体の設定ができるようになっています。
Hitogata_a6_05 Hitogata_a6_06
システム枠:カメラ画像表示時に警告を表示するかどうかを選べる危険なチェックです
スクリーン更新頻度:スクリーン表示は処理が重いので初期設定では速度が落とされています。もう少しfpsが欲しい場合などは数値を下げましょう。その代わり、処理が重くなるとトラッキング速度にも影響が出ますので注意してください
トラッキング最大人数:モデル反映は1人のみですが、複数人トラッキングも可能なようです。筆者はぼっちなのでこの機能は試せていません
録画・モーション取り猶予時間:記録開始時のカウントダウンの設定です

 Hitogataの開発環境はMMMと同じなので、ウィンドウのカスタムが可能となります。
 枠タイトルをドラッグすれば単体ウィンドウ化もできますし、配置も自由に設定できます。
 モーション枠が足りないとかになった場合でも、別枠化すればオペレーションも楽になるでしょう。ウィンドウの配置も終了時に記録されます。
 元に戻したい場合は、実行ファイルと同じフォルダにある『DockLayout.xml』を削除すれば初期状態に戻す事ができます。


■バージョンアップ時の注意

 Hitogataに限らずですが、カスタムしてしまうとついつい上書きバージョンアップを行いがちです。が、Hitogataはまだα版でもありますし、ライブラリ関係もどの段階でアップされているのかは判り辛いです。
 なので、部屋やモーションは別途フォルダにもコピーしておき、バージョンアップ時には別フォルダか、もしくは一度ファイルを全捨てしてから解凍する事をお薦めします。
(PMXe等でも、古いファイルが残ってしまったりするので)


 以上です。

tag : Hitogata Vtuber Tips

Hitogataでのフェイストラッキングの応用について

実作業よりも、編集作業の方に時間をかなり取られた件。
動画作ってる最中に、2つもバージョンが上がっちゃったよ……。

 

 実際、やってる事は8年前にKinectを使ってのモーションキャプチャ後の加工方法と同じで、今のMMD/MMM用に焼き直したものです。
 今のMMMは便利なプラグインや機能が豊富なので、8年前よりもかなり楽に加工できます。
 さて、以下に動画に盛り込めなかった補足的な内容を記します。

■目線
 Hitogataでは右目・左目も一応キャプチャしていますが、私の環境では精度が悪いせいかほとんど動いてない状態でした。なので最終的には目のキーフレームは全削除しています。
 頭ボーンのキーフレームを両目ボーンにコピーして逆相化しています。こうする事で、カメラ目線というか正面の方に向くような目線になります。
 目をIK化するのも手ですが、標準形ボーンでやる時にはこの方法が楽ではあります。

■リップモーションについて
 ブレスポイントの口の動き、『あ』から『う』もしくは『い』への移行モーションや微妙な合成具合、これらを手付けしようとするとかなり手間が掛かってしまいます。
 これが一発撮りと簡単な補正だけでいけてしまうのは、かなり大きな事です。モデルに合わせた加工は必要ではありますし、手付けには手付けの味の良さがあります。
 キャプチャと手付けの組み合わせでより良く見えるのであれば、この手法はかなりアリなのではないかと思っています。

■キーフレームの削減
 動画中では説明しませんでしたが、不要フレーム削除機能も併用しています。特にモーフ系は不要フレーム削除でかなり削れるので、VMD軽量化に役立ちます。
 眉の『上』『下』の動くポイントが分かりやすくなるので、使用する事をお薦めします。
 ただし、ボーン系については、リダクション作業後にやるようにしましょう。
 リダクション系ツールでは、モーションキャプチャデータを扱う事を前提としているので、連続したキーフレームになっている必要があります。
(VMD Reduction Toolは、隙間のあるキーフレームも、読み取り時に警告が出て自動的に補間はしてくれます)
 なので作業段階としては、

1:Hitogata出力のVMDを読み込み
2:曲とのタイミング合わせをした後、モーフとモーションで分けてVMDを保存。モーフも、眉と口は分けておくと後で楽になる
3:口(リップ)は1/2簡易リダクション、眉は1/4リダクションで更に別名保存
4:リダクションツールでボーン系を整理
5:それぞれ処理が終わったVMDを順次読み込んでセットしたものをVMD別名保存
6:不要フレーム削除機能で、動きのないキーフレムを削除

 というような段取りになります。
 ごっそりキーフレームが削れるので、後加工もしやすくなります。

■セーラー服さんの動き
 こちらは補正作業無しのベタ打ち状態です(平均化はしてます)
 編集作業中にalpha5がリリースされ、音声入力に対応し、かつバグも治っていたので使ってみました。VOICEROIDに喋らせた音声ファイルを読み込ませたものです。
 入力とゲイン範囲スライダの調整次第で、それなりな動きのリップが作れます。
 VOICEROIDの音声ファイルを一本化し、それを聞きながらHitogamiで上半身をモーションキャプチャしたものです。

■リダクションツールについて
 かなり古いバージョンでの説明となりますので参考になるか分かりませんが、過去に実験動画をあげてますので張っておきます。
 
 恐らくKinect for Windowsであれば、もう少し手間が掛からないとは思いますが、リダクション作業はどちらにせよ必要にはなります。


 以上です。
 Hitogataの最新版や追加機能については、別エントリにて記します。

tag : Vtuber MikuMikuMoving Hitogata

お手軽バーチャルキャラ表示ソフト『Hitogata』紹介

 MikuMikuMovingや関連ツールを開発されているMoggさんが、手軽にバーチャル
Youtuberになれるような簡単なソフトを新たに開発しました。
 『Hitogata』(人形の意)というソフトです。
Hitogata画面 
 まだ開発が開始されたばかりで、Alpha3版となっていますが、現段階でもかなり遊べる機能が盛り込まれているので、お薦めです。


■このソフトについて

『Hitogata』は簡単に言うと、モーションキャプチャソフトではありますが、キャプチャー専用の機器などは必要ありません。
 Webカメラが一台あれば稼働し、プログラム側で勝手に人の顔を認識して、その動きに追従してくれるソフトです。
 これを使う事で、お手軽にバーチャルYoutuberごっこが出来るというものになっています。


■必要環境

 Windows 7以降で、DirectX11が使えるグラフィックボードとドライバ、そしてWebカメラ、もしくはKinectがあれば動きます。
 動作が軽いかどうかはCPU/GPU次第となりますが、少し古めのノートでも稼働する事は確認できました。
 Kinectは通常、Webカメラとして使用できませんが(専用のソフトなどが必要)、MMDのdllやMMM制作者でもあるMoggさんならではで、KinectもWebカメラの代用として使用する事ができるようになっています。
 ただし、最近のWebカメラは高性能・高精度なので、それと比べるとかなり精度が落ちる形にはなります。深度センサは使用していません。


■フェイスキャプチャリングについて

 このソフトではOpenCV系のOpenFaceというライブラリを使用しています。Webカメラから送られた画像ソースを分析し、人間の顔を認識するというものです。
 認識精度はディープラーニング技術を使用して、荒い画像からでもより精度の高いものとなっています。
 また、Hitogata側で動き平均化も計算されており、なめらかな動きがキャプチャできるようになっています。
 認識範囲は、眉・目・鼻・口・顎(顔輪郭)、そして頭全体の位置情報(カメラを起点としたもの)となっています。


■入手先

 Moggさんのブロマガ(ニコニコ)から辿る事が出来ます。
 不具合報告等も、このアドレスから辿り連絡が取れる筈です。


■使い方

 Webカメラ(もしくはKinect)を予めPCに接続しておきます。
 次に、『Hitogata.exe』を実行します。
Hitogata_A02.png 
 起動直後はこのような画面になります。
 この後は、『FaceTracking』のボタンを押せばキャプチャが開始されます。
 Kinectをカメラとして使う場合は、『FaceTracking』を押す前に、『Kinectカメラを使用』にチェックを入れてから、ボタンを押して下さい。
(一度、FaceTrackingを止めてからチェックを入れても有効になります)
 暫く時間が掛かりますが、認識が開始されると別画面が立ち上がります。
Hitogata_A03.png 
『tracking_result』ウィンドウが開かない場合は、Webカメラのドライバに問題がある可能性があります。
 ウインドウは開くが、上図のように顔認識がされない場合は、カメラの前で軽く顔を動かすなどをしてみてください。認識まで時間が掛かる場合もあります。

 認識されたら、モデル欄から好きなモデルを選んでクリックすれば、メインウインドウにキャラクターが出現して、リアルタイムに動き始める筈です。
 モデル選択を先にしてから、Tracking開始でも問題ありません。

 現在モデルはプリセットの中からしか選べず、ユーザーが独自に追加する事は出来ません。
 今の所、Moggさん自身が作られた『けものフレンズ』の3Dキャラだけが選べるようになっています。
 もちろんキャラクターの版権の問題もあるので、収益が得られるYoutuberとして使う事は出来ません。個人レベルで生放送などで楽しむ範囲に限られます。

 トラッキングの精度やスピード(FPS)などはカメラの性能に依存します。
 古いノートパソコンなどの低性能なカメラだと、それ自体が10fps~15fpsしか取れないタイプもありますので、別途Webカメラの導入を検討してみてください。
 最近のは、HD(1280x720以上)で取れて30fpsのスピードが出るものでも、数千円で買えるものが出ています。


■Hitogataの各設定項目と使い方の説明

 Hitogata_A04.png
▼FaceTracking項目
 『FaceTracking』ボタンで、トラッキングの開始・停止を行います。押す前に、カメラの角度や調整、カメラレンズの前に顔が来るようにしてから押すと正しく認識してくれます。
 部屋が暗かったり距離が遠かったりすると認識できない場合もありますので、環境の確認はしておいた方が良いでしょう。
 とはいえ、一般的な蛍光灯の下でも十分に認識するので、顔に対してライトを当てる必要はありません。逆に明るすぎると顎輪郭の認識が外れる場合もあります。

 『リセット』ボタンで、再認識を行います。カメラの正面に顔を向け、口を閉じた状態でこのボタンを押すことで、口や眉、目などが正しく認識されやすくなります。時折押すと良いでしょう。

 『モーションRec』ボタンで、記録の開始、停止が行えます。
 停止すると同時に、ファイルダイアログが出て、MMD/MMMで使用できるVMDファイルが保存できます。
 保存されるボーンとモーフは以下の通りです。

記録ボーン:上半身・上半身2・首・頭・右目・左目
記録モーフ:あ・い・う・まばたき・眉(上)・眉(下)

 あ:口を縦に開いた時に、このモーフが適用される
 い:口を横に開いた時に、このモーフが適用される
 う:口をすぼめた時に、このモーフが適用される

 基本的には30fpsのベタ打ちで記録されますが、処理落ちや認識が外れた場合は、記録フレームが抜けた状態になる事もあります。
 標準モデル系のボーンとモーフなので、ほとんどのモデルに適用できますが、特にモーフはモデルによって影響度の差が出やすくなったり、小さくなったりします。
 色々試してみてください。

 『まばたき認識』ボタンは、その名の通り瞬きを認識するかどうかのチェックボタンです。デフォルトではオフになっており、キャラは瞬きや目を閉じたりしません。
 顔認識の中でも瞼の認識は難易度が高く、カメラの精度が良くないと顎を引いただけで目を閉じてしまったりします。
 これも環境の明度やカメラの精度による影響があるので、色々工夫が必要な部分でもあります。

 『Kinectカメラ使用』もチェック名と同じで、KinectをWebカメラ代わりに使う場合に使用します。『FaceTracking』を押す前にチェックのオン・オフを行って下さい。

 『カメラ画像』のオン・オフスイッチは、『tracking_result』ウインドウに、Webカメラで撮れている画像を表示するかどうかの機能です。デフォルトではオフになっています。
 顔バレや部屋バレにならないよう、このスイッチの扱いには気をつけましょう。
 部屋環境やカメラの位置調整、認識のチェックなどをする時には便利ではあります。


▼『画面』項目
Hitogata_A05.png 
 『描写』枠内:『別』ボタンは、描写ウィンドウを別ウィンドウ化させます。生放送用ツールなどで使う場合に便利です。
(生放送用ツールによっては、ウインドウ単位でキャプチャを選べるものも多いので)
 大・中・小はそれぞれ、描写の大きさを選べます。デフォルトでは『中』になっていますが、特にウインドウサイズなどを弄っていない場合は、『小』と同じ大きさになっていると思われます。
 正しく測っていませんが、小で640x480、中で1280x720、大で1920x1080相当ではないかなと推測しています。

 『アスペクト』枠は、画面の比率を選べます。16:9と4:3の二種類から選びます。ゲーム実況などで、画面の端に配置するなどの場合では、4:3の方が楽で、若干ではありますが負荷が下がる可能性もあります。
 
 『背景色』枠は、背景の色が選べます。カラーキーなどで抜く場合に利用すると良いでしょう。プリセットモデルの特性上、緑をカラーキーにする事をお薦めします。
(青だと、若干モデルの一部分がカラーキーで抜けてしまう場合があります)

 生放送だけではなく、動画記録として使う場合にも、『別』ウインドウ化と『背景色』を使うと便利です。


▼『部屋』項目
Hitogata_A06.png 

 単色の背景と組み合わせて使う事もできる背景モデル選択のタブとなります。
 Alpha3バージョンでは、背景モデルなし、広い床、MC机セットの3種から選ぶ事が出来ます。

 
▼『カメラ』項目
Hitogata_A07.png 
 3台分のカメラ位置の記憶と呼び出しが出来ます。
 ボタンの上で右クリックする事で、初期状態のカメラに戻す事が出来ます。

 メインの描写画面の方でカメラの操作を行います。基本的にはMMD/MMMと同じように、マウスの右ドラッグでアングルを変える事ができます。ズームはマウスホイール、位置はセンターボタンドラッグです。
 モデルの目線はカメラ目線になるよう、自動追従しています。


▼『モデル』項目
Hitogata_A08.png 
 このウィンドウ枠の中からキャラクターを選びます。
 現時点ではプリセットキャラのみの使用となり、独自で追加する事はできません。
 31体の中から選べますので、好きな子を選んで下さい。
 MMD/MMMと同じく、髪や服の物理挙動もするようになっています。


▼『モーション』項目
Hitogata_A09.png 
 『Hitogata』では基本的に顔周りのトラッキングしかしていませんので、腕などの動きはこのボタンを使用してエモーションを表現する事となります。
 ボタンを押しっぱなしにする事で、モーションが再生されます。ボタンを離すと、初期状態の動きに戻ります。
 初期では12種類の動きが登録されています。
 『笑み』スライダは、口の端を釣り上げてニコリとさせる程度調整スライダとなっています。
 モーション再生ボタンとなる『モーション』枠ボタンは、ユーザー側が独自に追加する事も出来ます。追加方法は、別のエントリにて説明します。



以上が『Hitogata』の使い方の説明となります。
MMD/MMM同様、かなりお手軽に楽しめるソフトなので、是非使ってみて下さい。


tag : Vtuber MikuMikuMoving

捩りボーンのススメ

 MMDユーザーの知り合いとの雑談にて気になった事があったので記事にしてみます。

 準標準ボーンというよりは、実の所、MMD標準付属の初音ミクver2から搭載されているので標準ボーンと言えなくもない捩りボーン。
 2009年以前はともかく、それ以降のモデルには搭載されている率が高い捩りボーンですが、実のところ現時点でも有効利用されているかどうかは、判断が付き辛い所です。
 逆に、比較的新しいモデルで準標準化されているものでも捩りだけが無い場合もあります。

 捩りボーンは、モーション作り手側にとっても動画制作側にとっても重要なボーンであり、かつ今となっては必須とも言えるボーンの一つです。
 実の所、言うほど捩りボーンの効能を把握している人はそう多くはないのかな?(特にモーション作成側)と思う節もあったので、説明記事を記しておきます。


■捩りボーンとは

基礎的な部分は、VPVP wikiにて説明があります。
さらにここでは、より詳しく実用的な記述をしていきます。

▼捩りボーンの中心位置とウェイト
捩りボーンは [] [ひじ] ボーンの中心位置とは違う部分に存在し、ウェイト(ボーンと連動する頂点、とその連動の割合)が異なります。

捩り_01
 ↑左腕ボーンのウェイト(初音ミク_ver2モデル)

捩り_02 
 ↑左腕捩りボーンのウェイト(初音ミク_ver2モデル)

手首ないし指先の最終位置がほぼ同じようになるよう、腕ボーンと捩りボーンそれぞれを単独で使ってみると……

捩り_03 

ウェイト設定状態と合わせてみると分かりやすいでしょう。
腕ボーンでは肩まで影響が出てしまうのと、二の腕が大きく回転してしまっています。また、腕全体の軸が微妙にズレてしまいます。
単純な回転の場合での差異は大きく見られない場合もありますが、捩りではなく腕ボーンの回転で行うと、想定とは異なった軌道を描いてしまう事もあります。
一方、捩りボーンでの回転を行えば、回転軸の中心が腕の中心となっており、肩に影響を出さずに綺麗に捩り回転を行えます。
腕だけでなく、ひじの方も同じような構造です。

モデルによって、肩から指先までのボーン位置・ウェイトはまばらです。肩ボーンの角度や腕や肘の長さは当然ながらモデルの体系によって変わります。
ですが捩り方向に限ってではありますが(捩りのウェイト設定こそ異なれど)、効果としては共通化しやすいので、モーション配布・流し込み等を行う場合には非常に便利なボーン構造となります。

▼捩りボーンの回転について
捩りボーンは軸制限が掛かったボーンです。基本的には腕が伸びている方向に対し、X軸(捩り)のみ動くよう設定されています。
また、ボーン操作時において、Global/Local設定に関わらず同じ動作をします。

▼捩りボーンの名称について
MMD付属の標準モデルに合わせる場合、
[左腕捩] [右腕捩]
[左手捩] [右手捩]
となっています。
ですがモデルによっては
[左腕捩り]
など送り仮名があったり、
[左ひじ捩]
など、「手」ではなく「ひじ」表示になっているケースもあります。
MMDではボーンの名称が異なると、ポーズ・モーション流用時に読み込まなくなります。
名称が異なるボーン構造を持つモデルへ読み込みを行う場合、同じプロジェクト内で配布元と同じモデルを用意し、そこから『別フレームへペースト』機能を使うなどしてモーションを移植させる必要があります。

▼捩りボーンのウェイト設定
捩り_04捩り_05捩り_06捩り_07
(左上から [左腕] [左腕捩] [左ひじ] [左手捩] それぞれのウェイト状態)
モデルはかこみきさんの『アリアBモデル』

基本的なウェイト設定は標準モデルなどを参考にすると良いでしょう。
モデルの腕が素腕ではなく長袖タイプのモデルや、腕にテクスチャが貼ってあるモデル等では、より細かくウェイト設定を行う事で綺麗な変形が望めます。
上図のアリアBモデルではその様子が見れます。

捩り_08 捩り_09

▼捩りボーンを含めた腕周りの親子関係
これについても同様に、標準モデルなどを参考にしてみて下さい。
構造は単純で、肩から順に

肩 → 腕 → 腕捩り → ひじ → 手捩り → 手 → 指

となっています。

■モーション作成時における捩りボーンの活用

モーションを作成する場合において、捩りボーンの有無は大きく作用します。作業効率も段違いになります。
旧標準ボーン構造(捩りのないモデル)にて腕周りの動き(特に指先ないし手首の軌道)が思ったように動いてくれず、キーフレームを多く打ってしまうケースもあるのではないでしょうか。
また、モデルに搭載されていても捩りボーンを使用しない場合も同様です。
軸もウェイトも違えば、最終的な仕上がりにも影響を出します。
最近配布されたモデルでも捩りボーンの有無は確実ではないですし、配布を前提としたモーションを作成する場合には悩む事もあるでしょう。
どちらにしろ、腕周りの構造はモデルによって変わってしまうので、ある程度切り捨ても考えて割り切ってしまった方が楽な場合も多いです。

さて、捩りボーンを使用する場合はどのようにしていくと良いか説明していきます。

▼腕周りは必ず Local 設定で行え!
腕周りも含めて(IK以外)、Global設定でボーン操作する事は稀かもしれませんが、一応注意喚起しておきます。
基本的には回転操作のみのボーンは Local 設定で行うと良いでしょう。

▼腕・ひじのX軸は絶対に弄るな!
上記を前提とし、特殊な場合でない限り、腕・ひじボーンのX軸は弄らずY/Z軸のみとしましょう。
さらにひじについて弄るのは、Y軸のみです。
肘のZ軸回転方向は、腕の捩りボーンに分散させる事で軌道調整がかなり楽になります。

▼腕全体を捩る場合は段階を踏め!
腕から手先にかけて大きく捩る場合は、[腕捩] [手捩] [手首] の順に、徐々に回転させる事により、自然な回転をさせる事ができます。
一気に腕だけ、もしくはひじだけで回転させると軌道に影響が出ますし、何より不自然な回転に見えてしまう事もあります。
手首については、本来の人間の構造としてはX軸には周りませんが、若干の補正や雰囲気作りとして手首も含めた回転はアリです。
(モデルのウェイト設定によりけりですが、捩りとの兼ね合いで綺麗に曲がる場合もあります)

▼捩りボーンは、腕・ひじの多段ボーンである事を徹底しろ!
構造上は親子関係にあり、また中心軸も異なるボーンではありますが、モーション作成時においては単なる親子ではなく、腕・ひじそれぞれの多段ボーンとして利用・活用する事を強く勧めます。
X軸回転を分離する事により、より少ないキーフレームで多用な軌道を描く事ができます。
補間曲線設定と共に使う事で、トレース時の省力化、細かいブレの表現などが楽になります。

多段として分離することにより、必ず腕ボーンと同じキーフレームに捩りボーンを配置する必要はありません。
それにより連続したなめらかな動きで、より複雑な軌道を少ないキーフレームで表現できます。

■捩りボーンの活用例

動画で見た方が早いと思うので、動画にまとめてみました。
説明が被る部分もありますがご覧頂ければと思います。


今回は以上です。


プロフィール

かんな

Author:かんな
ニコニコ動画などでMMD動画をうpしてるしがないユーザーの一人。
ブロマガ版みくだん

カレンダー
08 | 2018/09 | 10
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -
Twitter
MMD関連物
カテゴリー
最近の記事
ブログ内検索
リンク
RSSフィード
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。