前からAIバースについて色々作っていく事を宣言しているが、そのAIバースの最初のマイルストーンとして、とりまAIで駆動するキャラとチャットで会話できるヤツをUE5で作った。↓

https://twitter.com/umiyuki_ai/status/1663140088837193728

ぶっちゃけ去年に同じようなものをすでにUnityで作っていた。Unityは使い慣れてるのでこういうのサクッと作れるが、UE5だと勝手がわからなかったりして、正直かなり苦労こいた。

https://twitter.com/umiyuki_ai/status/1606503342787948544

なんでわざわざUnityからUE5で作り直す必要なんかあったんですか?というと、私はAIバースはUnityよりもUE5で作るべきだと思ってるからだ。

これまたどうして?というと、そもそも私は使用するゲームエンジンをUnityからUEに乗り換えようとしている。時代の流れがそういう感じだと思っている。

詳しく説明しだすとキリが無いが、例えばマルチプレイヤーゲームの仕組みなんかは、UE5はフォトナ開発で培った技術がそのままゲームエンジンに反映されていて、カチカチに硬いシステムでスケーラブルなマルチプレイヤーゲームが作れるのに対して、Unityのマルチプレイヤーはボロボロである。

まあUEはUEでUnityに比べてイライラさせられるところは多いわけだが。例えばプラグインに互換性が無さすぎる点。エンジンのバージョンがちょっと変わるとただちにプラグインが動作しなくなる。Unityなんて大昔に作ってアセットストアで公開したボイスチェンジャーのプラグインがいまだにそのまま動いているというのに。

まあ能書きはさておいて、表題のとおり、UE5.0でVRoidキャラを表示してVoiceVoxで生成した音声をOVRLipSyncで口パクさせて喋らせるという、まあ誰でもとりあえずやってみる感じの仕組みを作ったのでそれについてメモ書きする。

作ったというか、既存の有志のプラグインとかを繋いでっただけで、自分では何一つ作ったわけではないんだが、たったそれだけの事でも、UnityならサクサクできちゃうのにUEだとなんかダルい。

そしてなぜUE5.2が出てる今なのに5.0を使うのか?というと、5.0でアプデが止まってるプラグインを使ってる都合、5.0を使うハメになっている。自力で5.2に上げようと試したが、意味不明エラーが大量発生したので一旦諦めた。

VoiceVox

まずはどうやってUE5でVoiceVoxを再生するかだ。

VoiceVoxを再生するエンジンのVoiceVox_Coreと言うものをヒホさんが開発してくださっており、Mitライセンスで自作ゲームなどでも使用する事が可能である。↓

https://github.com/VOICEVOX/voicevox_core