凹みTips

C++、JavaScript、Unity、ガジェット等の Tips について雑多に書いています。

uLipSync 周りの今後の作業メモ

はじめに

別記事でも述べましたが、最近はちょっと時間が取れず…、更新のネタも実作業も出来ておりません。そこで現状溜めてしまっているタスクを洗い出しておこうと思います(完全に私の備忘録です)。中には素晴らしいプルリクも頂いてますので、そのあたりも今年度中には見ていきたいです。

uLipSync

github.com

Baked Data バッチ生成のディレクトリ構造コピー

github.com

こちらのプルリクでは、BakedData 生成時にディレクトリ構造もコピーすることを提案として頂いています。現状、uLipSync の BakedData のバッチ生成機構では、ディレクトリ入力の場合はその中に含まれている AudioClip 自体は再帰的に調べますが、出力先のディレクトリ直下に全ての BakedData を生成してしまいます(こちらの記事参照)。こちらは、このディレクトリ構造を保つための新しい Wizard のプリルクです(未検証です)。

GameObject 切り替えベースのリップシンク機構

こちらも上記プルリクの一部です。現状は、2D 向け(または 3D で表情だけテクスチャの場合)としては uLipSyncTexture という複数のテクスチャまたはテクスチャの UV 区切りによる切り替え機構のみサンプルとして用意していますが、データのインポート時に複数の GameObject として分かれるユースケースにおいて、その切替を行うためのサンプルスクリプトのご提案を頂いています。私自身があまりこのワークフローに触れたことがないので、このあたり精査してサンプルとして含めるべきかを判断したいと思います。サンプルは大いに越したことはないと思うのですが、ありすぎるとメンテが大変になってきてしまうと思いまして。。

複数インスタンス配置時のキャリブの不具合

github.com

報告いただいた内容では、uLipSync インスタンスが何故かどんどん作られてしまう、とのことでしたが手元ではこの現象は確認できませんでした。誤って uLipSyncMicrophone を複数置いてしまった場合は NaN が発生してキャリブができていないように見えてしまう現象は確認しています。Unity 6 との組み合わせで起きているのか、uLipSyncMicrophone を誤って複数置いてしまっているのかなどを切り分けする必要がありそうです。

WebGL 周りの不具合

github.com

github.com

BakedData の容量削減

github.com

マイク周りの問題

github.com

その他まだ追えていない問題もありますが…、ひとまず手を付けられそうなところとして上記のものを今後見ていきたいと思います。

uMicrophoneWebGL

github.com

以前 uLipSync を WebGL 上で動くようにしましたが、WebGL での Microphone クラスが使えない制約により、マイクに関しての機能はサポートできていませんでした。これを実現するために作ったのがこのライブラリとなります。

(おそらく)マルチチャンネルマイクの不具合

github.com

録音したものを再生するとピッチが変になってしまうという問題です。おそらくマルチチャンネルマイクだろう、と踏んでいるのですが、手元にそういったマイクが無いのでまずは買うところから…の予定です。

uLipSync との接続

上記の問題を放置している上に、まだつなぎこみが出来ていないことを思い出しました。。問題が解決したらこちらも実際に繋いでみるのと、うまく行ったらサンプル作成をしようと思います。

おわりに

ちょっと仕事が忙しく全然進んでいないのですが…、時間が出来たらこのあたりのサポートも見つつ、別のプロジェクトも始めていきたい所存です。