Unity
はじめに 今年はじめに Unity の WebGL ビルドでマイク入力を使えるようにするライブラリを作りました。 tips.hecomi.com ただ、次の記事にも記載したのですが、どうやら録音時に音声が遅くなってしまう(ピッチが低くなってしまう)という問題があるようで…
はじめに 先日、Unity 6 が公開されました。 unity.com unity.com 最近はあまり時間が取れず新機能は追えてないないですが、ひとまず手持ちのライブラリを Unity 6 でテストしてみようと思い、uLipSync で試してみることにしました。作業メモとなります。 パ…
はじめに 前回に引き続き、まだ諸々の事情により開発の時間が取れておりませんので GitHub の現状についての雑談記事です。 現在の状況 uRaymarching に続いて今月は uLipSync と UnityFurURP のお気に入り数が 1000 を超えました!皆さんありがとうございま…
はじめに 別記事でも述べましたが、最近はちょっと時間が取れず…、更新のネタも実作業も出来ておりません。そこで現状溜めてしまっているタスクを洗い出しておこうと思います(完全に私の備忘録です)。中には素晴らしいプルリクも頂いてますので、そのあた…
はじめに 前回の記事で、Timeline で長い uLipSync クリップを表示した際のパフォーマンス問題を解決するために、Timeline でのテクスチャを非表示にする Preference の追加を紹介しました。 tips.hecomi.com ただこれだと現在どのデータを表示しているか分…
はじめに Twitter で利用者の声を見ていたところ、Timeline に uLipSync の BakedData を配置した際に Unity が重くなったりフリーズしたりする、というものをちらほら見かけました。こちらはおそらく内部的にテクスチャ生成処理を走らせたりしている波形描…
はじめに このたび、株式会社エーアイ様の提供する A.I.VOICE for GAMES に uLipSync 連携の機能を追加いただきました! 【A.I.VOICE for GAMES バージョンアップ情報】uLipSync連携による口パク情報の出力機能を追加しました。その他バージョンアップ情報に…
はじめに uLipSync 周りの不具合修正を行いましたので報告となります。1 つ目の issue では WebGL ビルド時に次の 2 点が問題として報告されていました。 WebGL ビルドでリップシンクが遅れる WebGL ビルドで AudioClip 再生後に口が開いたままになる github…
はじめに 先日、uLipSync の WebGL ビルドでランタイム生成した際、音声は再生されるもののリップシンクしない、という報告を受けて調査をしてみました。 tips.hecomi.com 原因解説 原因としては AudioSource.PlayOneShot() の利用でした。こちらを詳しく解…
はじめに Unity には Microphone というクラスがあり、これを通じてマイクの情報や入力を取得できます。しかしながら Microphone は WebGL では利用することが出来ません。 docs.unity3d.com Unity では FMOD をオーディオ周りとして利用しているようで、基…
はじめに 前回調査記事を書きました。 tips.hecomi.com 今回は続きで、調査を元に実際に WebGL のサポートを行いました(マイクサポートのみまた後日)。実装しながら気づいたことや、問題に対してどのように対応したかなどについてまとめましたのでご紹介し…
はじめに 過去に何度かリクエストを頂いているのですが、まだ uLipSync で対応していないことの一つに WebGL 対応があります。WebGL ではいくつかの機能が制限されており、そのまま使えない機能が多々あります。例えば現在解析に用いている OnAudioFilterRea…
はじめに id:bibinbaleo さんのブログで uLipSync を試してみていただいており、その中で VRM モデルのアニメーション書き出しについての記述がありましたので補足解説させていただきます。 bibinbaleo.hatenablog.com uLipSync についてはこちら。 github.c…
はじめに uLipSync では AudioClip やマイクから得た音声を解析するモジュールと、その解析結果を受け取りリップシンクを動作させるためのコンポーネントが分かれています。 github.com この解析結果を受け取る部分を自作することで色々と遊ぶことができるの…
はじめに これまでいくつかボリュームレンダリングの記事を書いてきました。以下は前回の記事です。 tips.hecomi.com これまではキューブポリゴンを描画範囲として 3D テクスチャのボリュームレンダリングを行っていましたが、これだとポリゴンの内部にカメ…
はじめに 先日、uLipSync v3.0.2 をリリースし、asmdef の Version Defines を利用した VRM 0.X / 1.0 のパッケージのインポート状況に応じた VRM 向けコンポーネントのエラー抑制を行いました。 tips.hecomi.com ただこちら、.unitypackage 経由でインポー…
はじめに 大分ニッチな話だと思うのですが、現在メンテしているプロジェクトで音声の解析結果を示すために画像生成を行い、それをエディタ拡張で表示して見せています。 これは Burst と Job を使って生成しているのですが、エディタ拡張の UI の体系は同期…
はじめに 先日 v3.0.0 をリリースした uLipSync ですが、いくつか不具合修正が来ていたため修正しました。 tips.hecomi.com VRM パッケージを読み込んでいない際にエラーが出る VRM パッケージを両方(VRM 0.X / VRM 1.0)読み込まないとならない Unity 2019…
はじめに Unity でキャラクタのリップシンクを行うことのできる uLipSync v3.0.0 をリリースしました。 github.com 本エントリではアップデートの内容について解説していきます。 MFCC の計算方法修正 一番大きなアップデートは MFCC の計算方法の改善です。…
はじめに ずっとやろうと思っていた Unity でリップシンクを実現するアセットである uLipSync のアルゴリズムの改善を行いました。 github.com uLipSyncでは、MFCC(Mel Frequency Cepstral Coefficients)と呼ばれる特徴量を計算しています。MFCC を利用す…
はじめに HLSL Tools / HLSL Tools for Visual Studio を使うと、VS Code または Visual Studio でシェーダを書く際に補完が効くようになります。 marketplace.visualstudio.com marketplace.visualstudio.com これらを Unity のプロジェクトで使用する際は …
はじめに リリース 実行時のセットアップ SkinnedMeshRenderer 経由で指定 VRM の場合 所感 タイムライン上への自動クリップ追加 uLipSync おわりに はじめに uLipSync は Unity 上で音声データ / 音声入力をもとにリップシンクを実現するアセットです。 tip…
はじめに uLipSync v2.5.1 をリリースしました。 github.com 以下の 2 点のアップデートが含まれています。 Animator の BlendTree を使ったリップシンクのサポート これまでは BlendShape 指定でしたが Animator のステートでリップシンクさせることが可能…
はじめに 私事で恐縮ですが、先日、コロナ禍で 2 年半ほど延期していた結婚式をしました。そこでのプロフィールムービー制作を Unity でやってみましたので、本記事ではそのお話をしようと思います。 過去に友人の結婚式のムービー制作を任された時は After …
はじめに 今回は小ネタです。uLipSync のキャリブレーション用にオーディオデータの選択した範囲のループ再生機能を作ったのですが、その内容をまとめておきます。元記事はこちら: tips.hecomi.com 機能について こんな感じでドラッグして再生したい箇所を…
はじめに 通常、Unity で動的にサウンドを生成したいときは、AudioClip の Create で PCMReaderCallback を渡すか、MonoBehaviour の OnAudioFilterRead 中でバッファをセットすることで可能です。 docs.unity3d.com docs.unity3d.com かなり古い記事ですが…
はじめに Unity でリアルタイム / 事前解析対応のリップシンクを行うためのプラグインである uLipSync ですが、これまでは付属スクリプトとしては BlendShape を操作するものしかありませんでした。テクスチャを使った立ち絵などをリップシンクさせたい場合…
はじめに 以前の記事で uRaymarching の URP における Depth Prepass 問題を挙げました。 tips.hecomi.com Depth Prepass が有効になっている際は、Depth は事前に DepthOnly パス(または DepthNormals パス)で出力され、実際に色を決定する ForwardLit パ…
はじめに 先日、uLipSync のタイムラインの機能で長いデータを割り当てるとパフォーマンスが低下する、とのコメントを頂きました。実際に 3 分程のクリップを割り当ててみると顕著にパフォーマンスが落ちています。 原因を調べてみると、どうやら波形描画に…
はじめに 前回の記事で、Deferred を始めとする URP の新機能の調査を行いました。 tips.hecomi.com 本記事ではこの調査をもとに更新した uRaymarching の各機能やどういう処理が内部的にされているか、また注意事項などを紹介します。いくつか前回の記事と…