投稿

9月, 2020の投稿を表示しています

Unity Recorder 更にいじってます

  Unity Recorder は、記録するだけなら結構簡単に設定できました。  だけどやっぱりタイミングはズレるっぽい。遅れるならわかるけど、走るんだよなあ...  補正できるかどうか、やってみないとわかりません。  書き出すのをやめて Unity の中で背景も入れて完結させた方がいいのか?  心が揺れてます。

Unity Recorder いじってます

  Unity Recorder で、ピアノの鍵盤の動きをデータとしてレコーディングしてみました。  一応、上手く行くけど、レコーディングした後で、いちいちファイルをレガシーモードに切り替えるのがだるい!  まあ、録音した後でちょこっとやるだけだから、そんなに面倒ではないですが...  とりあえず、midi の最高音を受けるとレコーディングを開始し、最高音の一つ下を受けるとレコーディング停止になるようなスクリプトを書いてみました。これは結構うまくいきました。  ファイルを見てみると、タイミングが微妙に遅れ気味になる気が...全体に均等に送れるんなら、再生速度を調整してつじつま合わせをすればいいんで、その辺を確認中。  まあ、多少のズレには目をつぶるとして、そのズレがPCの処理能力のせいなのか?とか明日検証してみます。

Unity Recordr 発見!

  Unity の動きをキャプチャーするのに、Unity Recorder なるユーティリティがあるはずなんだけど、アセットストアでは削除されましたって出て、説明がなかったんですよ。  なので問題あって配布中止なのかと思ってたら、そうじゃなくて Package Manager の方に移動してただけだっていう。これ知らなくて3日ほど無駄にしましたがね!  メニューバーの Window > Package Manager からさらに、Advance を選んで探すと出て来るっていう、ほとんど嫌がらせの世界...  でも動かしてみたら、あっさり動きを読み込んでくれてます。自分で書いたスクリプトだと、イマイチだったんで嬉しい!  という事で、明日はこれ使って実験だ!  しかし、こんな不親切な事やってたら、みんな Unreal Engine に行っちゃうぞ〜!Unreal Engine + Ryzen... いいかも...                                        

ピアノモーションのレコーディング部分作成中

  ピアノの鍵盤の動きを fbx フォーマットに書き出すべく、プログラミング続行中。  大体当たりはついたので、明日には何とかしたいです!

モーション書き出しプログラムを作る

   iClone でやるにしろ Unity でやるにしろ、最終的な映像を作るには、演奏モーションとピアノの鍵盤の動きをモーションデータとして書き出して作業した方が楽なはず。  今の状態では演奏させるために、いちいち unity の受信プログラムを立ち上げ、さらに送信側の Mac の Logic を立ち上げて midi データを転送しなきゃいけないわけです。  なので、受信プログラムが midi を受けて、フミカがピアノを演奏したら、その動きの全てを単純なモーションデータに変換して CG のプログラムで使うようにしようというわけ。  という事で、unity でモーションの書き出しプログラム制作に挑戦中。人の形をした humanoid タイプの 3D データは Easy Motion Recorder ってソフトでなんとかなりそうなんだけど、ピアノは無理なんで、自主的にプログラムを作る事にしました。  以前は unity に unity recorder ってのがあったらしいんだけど、なぜか今はダウンできません。方法はあるみたいなんだけど、自分でプログラム書いちゃった方がいいかな?とか思って、挑戦してます。

iClone の素材は暗い件

  ピアノ演奏の背景は、透明感のある森とか水とか、そういうのをメインに持ってきたいと思ってます。  で、iClone とか MMD とか Unity の背景アセットを比べてみると、iClone のマーケットプレイスにある素材は暗いのばっかなんすよね。  abandon ナントカみたいに、廃墟の学校とか、廃墟の図書館みたのが多いです。なんかマイナー SF 同人誌か?みたいな…  一番突き抜けて明るいのが MMD、次が Unity でしょうか?恐らく MMD はアニメっぽい作り方の素材が多いので、現実の背景より色の抜けがいいとか、そんな感じじゃないか?と思ってます。  まあ、Unity の素材とか iClone にインポートするとか、方法は色々考えられると思うんで、あれこれ素材を探してみようと思ってます。MMD の素材は、流用すると問題起こったりしそうだから、使わないですけどね(でも MMD の素材が一番愛がこもってると思うんだが)。

iClone でやるか unity 上でやるか

  演奏モーションの動画は、ほぼ取り込むことができたので、これに演出を加えた最終的な動画を、どうやって作るか検討。  一昨日アップした動画も背景に森の絵は入ってるんですが、もっとちゃんとしたのにしたいわけです。  理想は、フミカがロジャー・ディーンみたいな世界でピアノを弾いてる図。ロジャー・ディーンはイエスとかのアルバムジャケットを描いてる人で、Amiga のゲームパッケージのデザインなんかもやってます。  で、この最終的な動画を作るためのツールとして、unity 上で作るか、iClone で作るか、悩んでます。  いずれにしてもフミカとピアノの動きをデータとして書き出しておいた方が良いので、まずはフミカの動きを Easy Motion Recorder ってソフトでデータ化してみようと思ってます。

LeapMotion の新型が出た!

  ちょうど、テストの動画が完成した所で、タイミング良く、新 LeapMotion が出ました!  まだ、本格的な販売じゃない感じだけど、手に入れる事はできるらしいです。今回のモデルでは、指の取得範囲が85cmと広くなってるので、2台使えば、88鍵のピアノ全域をカバーできそう!  普通の曲なら1台でも十分音域がカバーできそうです。  現在の LeapMotion だと、2オクターブ半くらい、安全に使える範囲として1オクターブ半くらいを想定してて、7台の LeapMotion をプログラムで切り替えながら使う事を考えてたんで、新しいのが出て、かなり便利になりそうです!  とりあえず、誰か人身御供の様子を見てですね!

というわけで動画!

イメージ
  もう SNS の方で告知しちゃいましたけど、動画はこれです!

背景入りビデオの素材完成!

  Unity の地形アセットを使って、背景入りデモ完成。  フミカの演奏モーションのサイズは、fbx からコンバートしたグランドピアノを元に作ったら、このグランドピアノのサイズが、unity の基準と違ってたんで、背景の地形アセットに対して、物凄く小さくなってしまった!  「な〜んか、サイズ違うな」とは薄々気づいてたんだけど、自分をだまして作業してたら、ここに来て一気に問題が…  地形アセットのサイズを変えるだけだと、草や木のサイズが変わらず、小さくした地形に、樹木がギュウギュウ詰めに…  どうも unity は大量の樹木データの物理処理を軽くするために、この辺に制約を入れてるみたい。  散々いじって、解決策を発見!本日は、ここで力尽きたので、公開用ビデオの作成は明日に〜❗️

鍵盤の色変わりプログラム完成

  鍵盤を押すと、その位置と周辺のキーの色が変わるプログラム完成!  最初、指毎に色が変わるようにしたんだけど、ゴチャゴチャしてチープになっちゃう気がするんで、右手と左手の2色だけとか、色の組み合わせをセレクトできるようにしてみました。  やろうと思えば、ベロシティによって色の具合が変わるとかもできるけど、やり過ぎても誰も気が付かないでしょうね!  ただ、テンポの遅い曲なんかでは有効かもしれないんで、今後必要を感じたら修正しましょう。  で、パーティクルも入れようかと思ったんだけど、ますますゴチャゴチャしちゃいそうなので、とりあえず置いといて、背景を入れてみようかと思ってます。  なんか重くなりそうだけど…

鍵盤の色が変わるプログラム作成中

  押した鍵盤の色が変わるギミック作成中。  例によって unity は一度インスタンスがどうのこうの、ってあるので、ついつい鍵盤に対してダイレクトにカラーコマンドを指定したくなっちゃうんだけど、それやるとエラーです。っていうか、そういうコマンド無いし…  ネットの情報を参照しながら、キーのテクスチャーを変更して色を変えるようにしてみました。  簡単な実験動画をば…

鍵盤の色変え検討中

  ギミックとして、弾いた鍵盤の色が変わると綺麗かな?と思いプログラム検討中。  単純に色を変えるだけなら簡単なんだけど、鍵盤が元々使ってたテクスチャとの兼ね合いを、どう考えるのが良いか、良く分からないので 検討中です!

Popcorn 体の動きつき!

 体の動きもついたポップコーンが完成!  VRM で、目の瞬きが認識されなくて、ほとんど半日潰れました!  なぜか MacBookAir に入れてある Windows で走らせると上手く行くという謎の現象…  でも、まあなんとかなったので安心。次は鍵盤のギミックとかを作ります~!  

プログラム、ほぼ OK!

  演奏モーションのプログラムが、大体完成!  体の動きも大体再現できました。ただ、体の動きを取り込んだ時、右肩の座標データを取り損なってて、右肩が位置固定状態。でも、他が動いてると、気になりませんでした。  というわけで、動きのデータを微調整して、明日アップしたいと思います。  その後、鍵盤の色が変わるギミックと、背景の景色を足したら、関係者に見てもらおうと思います!

HDMI のキャプチャーユニットを買った

  画面上で動く動画サンプルはスクリーンレコードってソフトで取り込んでたんですけど、取り込み範囲が広いとコマ落ちがひどくなるので、話題の激安 hdmi 画面キャプチャーユニットを買いました。  hdmi のパススルーが付いてると、いきなり値段が上がるので、パススルーなしの安いのと、hdmi の分岐ボックスを買いました。  両方で2500円くらい、果たして使えるのか?!  昔、mac II の 640x480 の画面信号を普通のテレビやビデオに出力するボードが、150万円もしたのが夢のようです!

ポップコーンがエクソシスト状態に(笑)

  今年の一月に取り込んだポップコーン演奏の体の動きデータを、なんの変換もなしに、現在のプログラムで走らせてみたら、首が後ろに回って、エクソシスト状態になりました。  取り込みデータを正しいリグへの配置と正しい分解能で読み取れるようにプログラムの見直しをします~!  で、エクソシスト状態のフミカ(笑)

ポップコーン、体の動きはないバージョン完成

  修正プログラムを完成させたので、midi シーケンサーからモデルの動きをコントロールしてる演奏動画のテストを作ってみました。  これで、明日からは以前撮った体の動きのデータをくっ付けると、演奏してる風になるはずなんだけど、問題は体のデータのフォーマットを、今のモデルの動きのフォーマットに変換するのがうまく行くかどうかですね。  で、動画…(今、見たら微妙に音と絵がずれてますが、これは blogger 側のシステムの問題)

データさらに修正中

  指の動きのデータをさらに修正中。  あれこれ試しながらやってるので、結構時間がかかってますが、慣れれば早くなるでしょう。  明日には、なんとか両手の演奏を公開できればと思ってます!

動きのデータを修正中

  修正用のプログラムが出来たので、試してたら、コントロールの番号を間違えてて、一部修正!  midi のデータ類は、最低値を1としてるわけで、例えば midi チャンネルの一番下はチャンネル1、コントローラーも一番若い番号は1番なんだけど、プログラムの内部的には、1番は0番として処理してるわけです。  ここを勘違いすると、チャンネルやコントローラーの割り振りが一つずつ、ずれてっちゃうわけで、midi チャンネルの指定は間違えてなかったんだけど、コントローラーの指定を、間違えて0番から指定しちゃってたんで、修正データ作ってたらヘンテコな動きに!  というわけで、正しい値にデバッグして、一段落。再度データを作り出してみると、数値が上がったら音域も上がるとか、統一してないと、修正しにくいと気づいたんで、明日、ちょいと修正してみましょう。  まあ、単にプラスマイナスを入れ替えるだけなんだけど、その部分の修正データは、もう一度作り直さねば…

手のひらの修正用テーブルデータ完成!

 手のひらの位置や角度を midi コントロールで微調整するプログラム完成!  これで明日、ポップコーンの後半部分も作ってみましょう!  だいぶ見えて来た!

さらにテーブルデータ作成中

  指の位置の微調整を midi のコントロールからやる部分は完成。  今度は、手のひらの位置データの微調整部分を書いてます。これが出来たら、今年の頭に作った頭や肩の位置の動きのデータを、はめ込んでみて、体全体で演奏してるようにする予定。  そこまで行ったら、ちょっと鍵盤とかにシカケをしつつ、背景に木とかのデータを入れてカッコ良くしたいなあ、と思ってます。  森のある街のデータは iClone にあるんで、これの unity へのエクスポートライセンスを買って、unity 内で完結できるかどうかテストしたひ。  そこまでやると、動きが重くなるかなあ、とも思ってます。これはプログラム上の解決策は分かってるんだけど、作業がめんどくさくてやってないんですが、根本的に速い PC があれば、そのまま行けたりして…  そこで気になるのが、やっぱ Ryzen 9 とかのプロセッサーですよねえ。私の周りではまだ、いじってる人がいないんだけど、インテルに脅威を与えてる Ryzen… 使ってみたい!

修正用テーブル作成中

  演奏モーションの指や体の位置を微調整するデータのテーブルを作成中。  こないだも書いたように、これが物凄く大変です。でもなんとか…  モーションの微調整ツールが出来たら、演出用プログラムを書いて、それを使って人に見せられるようなデモを作って、関係者に見てもらうつもりです。  ようやくここまで来た!

結構いらない部分があるな

 指や体の位置を修正するテーブル作成中。  基本的な動きは、細かく指定できるように、分解能が高いピッチベンドのデータを使い、修正には、分解能の低いコントロールデータを使ってます。  ピッチベンドは分解能が高い代わりに、1つのポートで16個しか使えず、コントロールは分解能が低い代わりに1つのポートに16x120個使えます。  でも midi 2.0 が普及すれば、こんな事考えずに、もっと高い分解能で沢山のチャンネルが使える事になるわけで、悩ましい問題です。  ところで、テーブルプログラムを作ってたら、なんかいらない条件分岐が所々にあったりして、こういうのも削除してます。たぶん、初期に実験するのに、特定の条件で作動させるようなテストをしてた時の名残りが残っちゃってるんだろうな…

修正用テーブルを作るが頭混乱

  指の位置や、手のひらの角度とかを補正するため、LeapMotion のキャプチャーとは別に、シーケンサーでコントロールできるようにテーブルを作ってるんだけど、これが頭こんがらがって大混乱です。  指や手のひらのパラメーターは、場所によって角度データを使ったりポジションデータを使ったりしてるんで、それをちゃんと整理してテーブル化しないといけないし、使う場所によって変化させる数値の幅が違うんで、これもテーブルに入れるべきか?とか考え出すと、話がどんどん複雑になってしまう。  どうまとめたらいいか、悩んで1日がたってしまいました。  明日はなんとかカタをつけたいです!

Popcorn のテスト

  プログラムは大体出そろったので、Popcorn の前半部分を演奏させてみました。  まあ、色々文句はあるかもしれなけど、結構いい感じかと思ってます!

のだめを見た

  こないだ amazon Fire TV を入れたんだけど、プライムで見られるビデオに「のだめカンタービレ」のアニメ版があったので見てみました。  で、この中のピアノを弾くシーンでも、やはり演奏してない状態の手の指はピアノの鍵盤の上に軽く乗せる状態で待機してるように描かれてました。  という事で、待機中の指は、できるだけ鍵盤の上に乗せておきたいんだけど、LeapMotion や、モーショントラッキングデバイスでは鍵盤上に指がいるかどうか?の決定的なパラメータはないわけなんで、この辺はある程度妥協するしかないです。  ただし、予算をかければ、鍵盤上の指の位置情報を拾い出せる midi インターフェイスがあるんで、まあ将来的には、この辺を完璧にしよう!という事で、現時点では、今の状況で進めたいと思います。

微調整

  相変わらず、指の形を良い感じに持ってくのに微調整をしてます。  演奏データの指の動きを見てて分かったのは、指が演奏待機状態の時、多くのケースで指は鍵盤上に置いている事。  LeapMotion でトラッキングした指のデータだけだと、どうしても鍵盤から指が浮いてしまうので、指がある程度鍵盤に近くなったら、重力をオンにして、指が鍵盤の上に軟着陸するように設定したいんだけど、どうも、重力の設定がうまく行かん…  プログラム的には合ってるんだけど、どうも動きがハッキリしないです。  もう少し頑張ってみよう…

さらに MacBookAir core i7 を投入!

  動きを確認するのに、さらに MacBookAir の core i7 を Boot Camp の Windows で動かしてテストする事に。  速度の速いマシンでないと、指の動きが揺れるのが、プログラム上の問題なのか、PC の処理が遅いために起こっているのかが判断できないためです。  プログラム上では、指の位置を常に監視して、微調整してるんで、指定した座標を通り越した時に、正しい位置に補正したり、また通り越したり、を繰り返すわけです。  だけど、これが物凄く小さな動きで、しかも速度が早ければ、見ため的には止まって見えるはずなんだけど、その辺が遅い PC だと判断しかねるわけです。  という事で4台の PC に囲まれて作業中です!

ポップコーンの曲データで動きを作成中

  Leapmotion で、ポップコーンの演奏データをシーケンサーに取り込んで、それを再生しつつ、指の動きを見てみました。  midi から note on が来て、鍵盤が下がり始めたら、ガッチリ指先が鍵盤にロックしないと、フラフラして不自然に見えるので、その辺のプログラムを精査してみようと思います。