はじめに
別記事でも述べましたが、最近はちょっと時間が取れず…、更新のネタも実作業も出来ておりません。そこで現状溜めてしまっているタスクを洗い出しておこうと思います(完全に私の備忘録です)。中には素晴らしいプルリクも頂いてますので、そのあたりも今年度中には見ていきたいです。
uLipSync
Baked Data バッチ生成のディレクトリ構造コピー
こちらのプルリクでは、BakedData 生成時にディレクトリ構造もコピーすることを提案として頂いています。現状、uLipSync の BakedData のバッチ生成機構では、ディレクトリ入力の場合はその中に含まれている AudioClip 自体は再帰的に調べますが、出力先のディレクトリ直下に全ての BakedData を生成してしまいます(こちらの記事参照)。こちらは、このディレクトリ構造を保つための新しい Wizard のプリルクです(未検証です)。
GameObject 切り替えベースのリップシンク機構
こちらも上記プルリクの一部です。現状は、2D 向け(または 3D で表情だけテクスチャの場合)としては uLipSyncTexture という複数のテクスチャまたはテクスチャの UV 区切りによる切り替え機構のみサンプルとして用意していますが、データのインポート時に複数の GameObject として分かれるユースケースにおいて、その切替を行うためのサンプルスクリプトのご提案を頂いています。私自身があまりこのワークフローに触れたことがないので、このあたり精査してサンプルとして含めるべきかを判断したいと思います。サンプルは大いに越したことはないと思うのですが、ありすぎるとメンテが大変になってきてしまうと思いまして。。
複数インスタンス配置時のキャリブの不具合
報告いただいた内容では、uLipSync インスタンスが何故かどんどん作られてしまう、とのことでしたが手元ではこの現象は確認できませんでした。誤って uLipSyncMicrophone を複数置いてしまった場合は NaN が発生してキャリブができていないように見えてしまう現象は確認しています。Unity 6 との組み合わせで起きているのか、uLipSyncMicrophone を誤って複数置いてしまっているのかなどを切り分けする必要がありそうです。
WebGL 周りの不具合
BakedData の容量削減
マイク周りの問題
その他まだ追えていない問題もありますが…、ひとまず手を付けられそうなところとして上記のものを今後見ていきたいと思います。
uMicrophoneWebGL
以前 uLipSync を WebGL 上で動くようにしましたが、WebGL での Microphone クラスが使えない制約により、マイクに関しての機能はサポートできていませんでした。これを実現するために作ったのがこのライブラリとなります。
(おそらく)マルチチャンネルマイクの不具合
録音したものを再生するとピッチが変になってしまうという問題です。おそらくマルチチャンネルマイクだろう、と踏んでいるのですが、手元にそういったマイクが無いのでまずは買うところから…の予定です。
uLipSync との接続
上記の問題を放置している上に、まだつなぎこみが出来ていないことを思い出しました。。問題が解決したらこちらも実際に繋いでみるのと、うまく行ったらサンプル作成をしようと思います。
おわりに
ちょっと仕事が忙しく全然進んでいないのですが…、時間が出来たらこのあたりのサポートも見つつ、別のプロジェクトも始めていきたい所存です。