世界を動かす技術を、日本語で。

私の「デウス・エクス」リップシンク修正モッド

概要

  • Deus Ex 1 のリップシンクとまばたき問題の修正Modの技術解説
  • 問題の根本は Unrealscript 内のタイミングとブレンド処理の不具合
  • Valveの Half-Life 2 との比較によるリップシンク技術の考察
  • Unrealscript による具体的な修正内容とその限界点
  • 改善点と今後の課題の整理

Deus Ex 1 リップシンク&まばたき修正Modの技術解説

  • Deus Ex 1 のリップシンクとまばたきは発売当初から不具合が存在
  • 2021年に Unrealscript を用いて修正Modを作成・公開
  • オリジナルのリップシンクは 口の動きが不自然 で、まばたきもほぼ見えないほど高速
  • 開発者Chris Nordenのインタビューから、当初は高度なリップシンク機能が存在したが、 パフォーマンスの都合で簡略化
  • Half-Life 2のような 音声ファイルへの事前情報付与 (phoneme extraction)は未採用で、 リアルタイム解析 のため負荷が高かった可能性

リップシンク技術の仕組みと問題点

  • リップシンクは 音声の中の音素(phoneme) を判定し、 口の形(viseme) にマッピングすることで実現
  • Half-Life 2では オフライン解析 で音素情報を.wavファイルに付与し、効率化
  • Deus Ex 1では リアルタイムで音素解析 していた疑い
  • キャラクターの頭部モデルは 7種類のvisemeとまばたき アニメーションを持つ
  • nextphoneme 変数により口の形を切り替え、 IsSpeaking 時のみ処理

Unrealscriptの不具合と修正内容

  • アニメーションのブレンド時間(tweentime)の計算ロジックに フレームレート判定の逆転ミス
    • 本来は高fps時にブレンド、低fps時はスナップ切り替えのはずが逆になっていた
    • ブレンド時間も 0.1秒では速すぎ0.35秒 に変更し滑らかに
  • IsSpeaking=false 時に口が即座に閉じる仕様→ 常時ブレンド処理 に変更し、自然な口閉じへ
  • tweentime 初期値が0で顎がスナップ閉じ→ 0.3秒 に設定
  • まばたきの頻度が高すぎたため、 間隔を大幅に拡大 し自然な動きへ

残る問題点と限界

  • nextphoneme の更新頻度が低く、一定でないため、ブレンドが正しく機能しない場合あり
  • Unrealscript外(C++側) での処理のため、現状は根本的な解決が不可
  • プレイヤーキャラとNPCで 同様の関数が重複実装 されている構造上の非効率

修正後のUnrealscript概要

  • フレームレート判定ロジックの削除、 tweentime の適正化
  • IsSpeaking チェックの緩和で口閉じの自然化
  • まばたき処理のタイミング見直し
  • これにより 滑らかなリップシンクと自然なまばたき を実現

今後の課題

  • nextphoneme の更新頻度を上げるには C++ソースコードへのアクセスが必要
  • 音素解析を オフラインで事前処理 する仕組みが理想
  • 現状のUnrealscriptの枠内では これ以上の改善は困難

ダウンロードリンクや詳細はTwitter投稿参照

Hackerたちの意見

あの変なリップシンクのおかげで、史上最も面白い動画の一つが生まれたよね。: https://www.youtube.com/watch?v=Js02m-7qHyE

声優の演技も、2番目か3番目に面白いよね。: https://www.youtube.com/watch?v=JHX5-SvRXTs

うわ、懐かしい!これ、めっちゃ覚えてる。私にとって一番面白かったのは、ゲームの変なリップシンクを真似してたところだね。

デウスエクスは、史上最も面白い動画の一つを達成するのにパロディ動画なんて必要ないよ。 https://youtu.be/ekVI_UoEYRc?si=f-txpkn32J3S8YQj

ゲームのファンには朗報!Aspyrが「デウスエクス:リマスタード」を発表したよ。: https://www.youtube.com/watch?v=f1RdKezTYNk でも、ファンたちは「デマスタード」って呼んでるみたい。

うん、見た目がダサいね。なんで人は、すべての面が平らなゲームを作れないんだろう。私の脳はその非現実的な完璧さが好きなんだ。

発表について見た中で、一番的確なコメントは「2000年から2003年に持ってきたみたいだね」だったな。

ゲームのファンはリマスター版をいつも批判するから、あんまり意味ないよね。

6年前に出たデウスエクス: ザ・リカット・リマスタードよりもどうして見た目が悪いの? https://www.youtube.com/watch?v=xmOCsiZgAbg

古いスタイルとアセットが現代のライティングやテクスチャ(特にAIでアップスケールされたもの)と混ざるから、ちょっと光沢があって全体的に少しおかしく見えると思う。GTAのリマスターでも同じことが起こったし、他のローンチ問題はさておき。とはいえ、こういう試みを楽しむ少数派の一人だから、少なくともこれらの現代版は高解像度やワイドスクリーンのサポートがあって、ちょっとだけ動作が良くなることが多いからね。初期2000年代のゲームのジャンクさは好きじゃないけど、情熱的なコミュニティメンバーが作ったモッドが同じことをもっと良くやれる理由はないと思う。企業がそれを外注して、急いで予算内で何かを作ろうとするのが不思議だよね。俺が見た中で古いゲームに新しい視点を与える最高の試みは、マフィア ディフィニティブ エディションとシステムショックだと思う。あれは基本的にリメイクだけど、オリジナルに忠実なんだよね。

まあ、GMDXの方が全然いいよ。

Revisionの方がこれよりずっと良いし、ファンが作ったものなんだよね。 https://store.steampowered.com/app/397550/Deus_Ex_Revision/ Aspyrのこの「リマスター」を考えると、Nightdiveが存在してくれて嬉しいよ。

Hacker Newsで議論の続きを見る