VRM4U
VRM4U copied to clipboard
まばたきと表情モーフを同時に使用すると目の周りがちらつく。
概要
このプラグインの話なのかUEの仕様なのかわかりませんが相談させてください。
以下のようなまばたきの機能を作成しました。
これは普通に機能しているのですが
例えばレベルシーケンスにて以下のように表情モーフを加えた状態でゲームプレイあるいはシミュレートを行うと
目の周りの表示が安定しないというかちらついた状態になります。
通常
ちらつき状態(少しまつげの輪郭がぼやけているかと思われます。)
こうしてみるとごく僅かの差ではあるのですが、フレーム単位で再生したところ通常とちらつきを交互に繰り返しており、ゲームプレイや動画にすると問題が顕著に表れてしまいます。
レベルシーケンス上で表情モーフの数値を変更した時に時折このちらつきが発生する場合があるかと思います。 該当ブループリントのコンパイルやレベルシーケンスの保存を行う事でくっきりと表示されるようになるわけですが、このちらつきがゲームプレイ中に発生してしまっているという状態だと認識しております。 例えば、このコンパイルや保存時に行われているであろう表示のリフレッシュをまばたき後の処理に加えるなどすればこのちらつきが気にならなくなるのかもしれないと思いながら色々試してみたのですがどうにも上手くいきませんでした。
どなたか解決策やよりよいまばたき機能の実装方法等をご存じでしたら教えていただけますと幸いです。 よろしくお願いいたします。
UnrealEngine Version: UE5.1
なんとなく関係しそうな要素を書いておきます。
確認のため コンソールコマンド「r.AntiAliasingMethod 1」でAAをFXAAに切り替えて 症状が改善するか試してみてください。 もし上記で改善するようであれば、TAAやTSRに戻し、それらのパラメータを変更(コンソールコマンドで)して対処を探ってみてください。
また、1フレーム内で複数箇所からMorphをセットしている場合は、実行順によってMorphがちらつくことがあります。 なんらか 競合しないように処理する必要があります。実装によりますが、TickGroupでも対応できるかもしれません。
まずはこのあたりを探ってみると 何かわかるかもしれません。。
回答ありがとうございます。
確認のため コンソールコマンド「r.AntiAliasingMethod 1」でAAをFXAAに切り替えて 症状が改善するか試してみてください。
こちらは試してみたところ症状改善しました。 TSRでのパラメータ変更はまだ試していない(あまり詳しくないのでどういったパラメータがあるかというところから調べています)ので試すことが出来ましたらご報告いたします。
また、1フレーム内で複数箇所からMorphをセットしている場合は、実行順によってMorphがちらつくことがあります。 なんらか 競合しないように処理する必要があります。実装によりますが、TickGroupでも対応できるかもしれません。
とりあえずTickGroup全種類試してみましたがダメそうでした。Morphの操作箇所は現状レベルシーケンスとブループリントの2箇所になってしまっているのでブループリントにまとめたいところですね。こちらの方法を優先的に試してみようと思います。
色々試したのですがUE5.1とUE5.3の2バージョンにて新規プロジェクトで全く同じ環境を作成し モーフのセットの方法等全て同じ形にしてみたところ。 UE5.1でのみ上記の現象が発生することが確認できました。
当然両方とも最新版のVRM4Uを使っているのでこれはUE側の差になりそうです。 何かTSRの改善があったのでしょうね。UE5.2からTSRコマンドが追加されたりとTSR周りに色々入っているようなので。かなり辛くはありますが何とかして現プロジェクトのUE5.3へのアップデートを試みたいと思います。
いただいた回答のおかげでチェック項目が絞れてこの結論にたどり着けたのでとても助かりました。ありがとうございます!
既存(問題のあった)プロジェクトをUE5.3にアップデートしたところ上記問題は解決しました。
UE5.1で問題を特定して修正したわけでは無いので根本的な解決ではないかもしれませんが同様の問題がある方は検討されると良いかと思います。