Unite2014 Live2D x Unity x Kinect 2
- 38. Unity × Live2D
– Live2D LIVEを作ってみた
– UnityでLive2Dを動かしてみる
– Unity × Live2D × いろんなデバイス
- 51. Unity × Live2D
– Live2D LIVEを作ってみた
– UnityでLive2Dを動かしてみる
– Unity × Live2D × いろんなデバイス
- 55. UnityでLive2Dを動かしてみる
• Live2D モデルの初期化
void Start () {
Live2D.init (); // 初期化
live2DModel = Live2DModelUnity.loadModel(mocFile.bytes); // mocの読み込み
for(int i = 0; i<textures.Length; i++)
{
live2DModel.setTexture(i, textures[i]); // テクスチャを設定
}
}
- 56. UnityでLive2Dを動かしてみる
• Live2D モデルの位置やサイズ設定、更新・描画
void OnRenderObject()
{
Matrix4x4 m1=Matrix4x4.Ortho(0, モデルのサイズ, モデルのサイズ, 0, -1, 1);
Matrix4x4 m2 = transform.localToWorldMatrix;
Matrix4x4 m3 = m2*m1;
live2DModel.setMatrix(m3); // 位置の設定
live2DModel.update(); // 頂点の更新
live2DModel.draw(); // 描画
}
- 58. Unity × Live2D
– UnityでLive2Dを動かしてみる
– Live2D LIVEを作ってみた
– Unity × Live2D × いろんなデバイスを組み合わせてみる
- 59. Unity × Live2D × いろんなデバイス
– Unity × Live2D × ???
– キャラを動かす :ゲームパッド
– リップシンク(口パク) :マイク
– キャラになってみる :Kinect
– 指先で触れる :Leap Motion
– 視線で通じ合う :The Eye Tribe
- 60. Unity × Live2D × いろんなデバイス
– Unity × Live2D × ???
– キャラを動かす :ゲームパッド
– リップシンク(口パク) :マイク
– キャラになってみる :Kinect
– 指先で触れる :Leap Motion
– 視線で通じ合う :The Eye Tribe
- 63. Unity × Live2D × ゲームパッド
「ゲームパッドでモーション再生」
– Live2Dでモーションを再生してみる
– ゲームパッドで操作してみる
- 67. Unity × Live2D × いろんなデバイス
– Unity × Live2D × ???
– キャラを動かす :ゲームパッド
– リップシンク(口パク) :マイク
– キャラになってみる :Kinect
– 指先で触れる :Leap Motion
– 視線で通じ合う :The Eye Tribe
- 71. Unity × Live2D × マイク
「Live2Dモデルに口パクを実装する」
– マイクの音量を取得する
– 音量をモデルに最適化してセット
- 75. Unity × Live2D × いろんなデバイス
– Unity × Live2D × ???
– キャラを動かす :ゲームパッド
– リップシンク(口パク) :マイク
– キャラになってみる :Kinect
– 指先で触れる :Leap Motion
– 視線で通じ合う :The Eye Tribe
- 79. Unity × Live2D × Kinect
「Live2Dモデルに体の情報を反映させる」
– Kinectと接続する
– Kinectから取得した値をモデルに最適化してセット
- 80. • Kinectと接続する
– TCP/IPで通信
– Unityをサーバ、Kinectをクライアントとして扱う
– Unityにサーバの機能を追加
– Kinectクライアントとしてアプリを作成
– お互いを接続
サーバ
ネットワー
ク
クライアント
A
クライアント
B
- 82. Unity × Live2D × いろんなデバイス
– Unity × Live2D × ???
– キャラを動かす :ゲームパッド
– リップシンク(口パク) :マイク
– キャラになってみる :Kinect
– 指先で触れる :Leap Motion
– 視線で通じ合う :The Eye Tribe
- 84. Unity × Live2D × いろんなデバイス
– Unity × Live2D × ???
– キャラを動かす :ゲームパッド
– リップシンク(口パク) :マイク
– キャラになってみる :Kinect
– 指先で触れる :Leap Motion
– 視線で通じ合う :The Eye Tribe
- 85. Live2D と The Eye Tribeを組み合わせてみた
• 仕組み
– SDKのサンプルを改造
– Unityを使ったら簡単に表示できました
– The Eye Tribeで取れる値を利用してモデルを操作している
– 顔のあたりに視線が行くとモーションを再生
• 2時間ぐらいでできた
- 86. • センサデバイスと組み合わせる
– センサデバイスから値を取得
– Live2Dモデルに最適な値に変換
– setParamFloat()で値を設定
• センサデバイスの面白い、良いところ
– サーバとクライアントっていう考え方
– もともとの数値情報を意味あるものとして利用しやすい
– ジェスチャが使えれば、イベントが発生とかできる
(例 Kinectでは手を振るとモデルの手を振るモーションを再生などができた
– SDKでUnityのサンプルがあることが多く、Unityですぐに試すことができる