プログラムとLive2Dモーションのお話
8月末にLive2Dのモデル・モーション制作に参加
プログラムの方にタッチできない状態での制作
モーション部分の切り替え仕様が わかりづらい
今回は指示を受ける側でしたが
指示を出す側に回った時や次の時に
どのように仕様を伝えるとよいのか?
どのような情報を要求すればよいのか?
考えてみました
Unity+Live2Dにある機能
・前提としてプログラムで扱える機能と
モデルの状態切替についてCHECK!
・対象はSDKのSampleApp1を基準
・規約に触れる可能性があるので
ソースコードには触れません
・網羅性は保証されません
自分が知っていることだけ書いてあり
その他の方法があるかもしれません
・代わりにSampleApp1が基礎になってる
GadgetXLive2Dで概要を掴めるサンプルを用意
https://www.dropbox.com/s/9sdll8gq4ib6e6q/motiontest.zip?dl=0
パラメーターの直打ち
APIで直接パラメーターを変更する方法
・プログラム側で値を用意する必要がある
・自由度は大きい
-複数の表情を混ぜあわせたり
-顔と体で別々にモーション制御可能
・Mecanimもこの系統
・マバタキや呼吸なども厳密にみるとこの系統
メリット
・自由度
デメリット
・モデル制作側がタッチしづらい
モーション
mtnやmtnbを読み込んで使用する方法
優先度付き・グループ名で呼び出す
(SampleApp1では)
2つの切り替え方法
1.残り値で切り替える
再生されたあとの終了値が残る現象を利用
・複雑な入モーションが可能
・一度に使えるモーションは一つ(未改造時)
・アイドリングはモーションかパラメーター操作
メリット
・複雑な入モーション
・Live2D側で設計可能
デメリット
・残す値戻す値の整合性維持が難しい
2.待機モーション自体を変更
アイドリングの呼び出しを入れ替えていく方式
切替時は優先度2か3
アイドル時は1でかけ続ける
メリット
・残り値は気にしなくてよい
・こちらもLive2D側で設計可能
・待機状態の変化も設計可能
デメリット
・ファイル数はかなり増える
Exp.json表情ファイル
Viewerで追加できるファイル
パラメーター状況を記録し、切り替えられる
モーションと併用可
メリット
・モーションと併用可
・切り替えはとても単純に
デメリット
・複雑な入が不可
ここまでのまとめ
今回当たった ケースの仕様
・全てのパラメーターの頭にデフォルト値を打つ
・標準がアイドリングモーションとして使用
・呼吸と目パチは標準だけ
・残りは全てスタート向けモーション
以上のことから考えられるプログラム仕様
MTNファイルを処理してから読み込む方式
・それ故全パラメーターに値が必要
・話を詰めた感じたぶんこれであると思われる
・もしかしたら値AddでMecanimかも?
実はアイドリングはパラメーター直打ち方式
・標準以外を基準で考えるとコレ?
・標準モーションは標準に戻すため使用
・標準だけがしょぼくなるかも?
全てのモーションがアイドリング
・頭に値を入ってることを考えるとコレ
・入モーションとして作成したので
落ち着きなくなる
すぐに表情が戻るがそれが仕様
・こちらの誤解
・一度見た動作確認アプリの動作はコレ
・なんかもったいない感
どんな情報を共有すべきか?
モーションの流され方
・使用タイミング
・モーション間の連結について
・アイドリングの方法
パラメーターの権限
・さわっちゃイケナイ値
・設計する値
・入力しても無視される値
・指定のある値
・値が被ったときの優先順位や計算方法
最後に
組み込みモデルを作るとき、やはり最後のプログラムでの動きというのはとても気になる
ファイルが切り替え可能なサンプルプログラムを配布したらどうだというのもあるけどこれはSDKの規約的にNG
それ故プログラム作成側とモデル作成側の情報交換は大事
Author And Source
この問題について(プログラムとLive2Dモーションのお話), 我々は、より多くの情報をここで見つけました https://qiita.com/Ganeesya/items/71a538996f4d157b8e54著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .