Giter VIP home page Giter VIP logo

anilipsync's Introduction

AniLipSync: AniCast LipSync Library

OVRLipSyncをベースに、リミテッドアニメっぽいリップシンクを実現するためのライブラリです。

動作検証済みの環境

  • Windows 10 Version 1709 Build 16299.371
  • OVRLipSync Version 1.28.0
  • Unity 2018.1.0f2

サンプル

Assets/Examples/Scenes/AniLipSync.unity にサンプルシーンがあります。マイクでしゃべると唇のモデルがリップシンクで動きます。

実行前にOVRLipSyncのインポートが必要です。

使い方

  1. OVRLipSyncをインポート
  2. AniLipSync.unitypackage をインポート
  3. Assets/Oculus/LipSync/Prefabs/LipSyncInterface プレハブをシーンに配置
  4. Assets/AniLipSync/Prefabs/AniLipSync プレハブをシーンに配置
  5. AniLipSync GameObjectの AnimMorphTarget の各プロパティをインスペクタで編集(とくにSkinned Mesh RendererViseme To Blend Shapeは変更が必要です)

AnimMorphTargetの各プロパティの説明

Transition Curves

aa, E, ih, oh, ou のそれぞれの音素へ遷移する際に、BlendShapeの重みを時間をかけて変化させるためのカーブです。

例えば、黙っている状態から aa の音素を検知した場合、Element 0 のカーブに従って時々刻々とBlendShapeの重みを変化させます。aa の状態で ih の音素を検知した場合、Element 2 のカーブに従います。

徐々に重みを増やすことで、ゆるやかに口の形が変化するような表現が可能です。

Curve Amplifier

Transition Curveの縦軸の値に倍率をかけます。

Transition Curveの縦軸を 0.0 ~ 1.0 の範囲にしておいて 100 の倍率をかけることで、カーブ編集時の煩雑な操作を省略できます。

Weight Threashold

この値より小さな音素の重みを無視します。

小さなノイズ等で口が開いてしまう現象を回避できます。

Frame Rate

1秒間にBlendShapeの重みを更新する頻度の設定です。

リミテッドアニメ風の効果を得ることができます。

Skinned Mesh Renderer

唇のBlendShapeを持ったSkinnedMeshRendererを指定してください。

Viseme To Blend Shape

aa, E, ih, oh, ouの順でBlendShapeのIndexを指定してください。

Smooth Amount

OVRLipSyncのSmooth amountの値を設定できます。

制限事項

  • 声を入力してから口が動くまでに遅延があります。配信ソフトや動画編集ソフトを使用して音声を250msほど遅延させるとタイミングが合うでしょう。
  • LowLatencyLipSyncContextはOVRLipSyncより後に実行する必要があります。AniLipSync.unitypackageのインポートで自動的に設定されますが、スクリプトのみをコピーする際はScript Execution Orderによる設定が必要です。

ライセンス

本リポジトリに上がっている部分はMIT Licenseです。LICENSEファイルを参照してください。クレジットを記載することで、営利・非営利を問わず利用いただけます。

OVRLipSyncのライセンスについては、Oculus社のサイトを参照してください。

anilipsync's People

Contributors

nkjzm avatar tyounanmoti avatar yoshitaka-xvi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.