こんにちは。
湯江なおです。
現在おさわりゲームを開発しています。
FANBOXではおさわりゲームの開発日記をつけていきます。(できるだけ更新頻度を上げたい)
Unity+Live2dの開発者向けの記事が多めになるとおもいますが
よろしくおねがいします。
僕と一緒におさわりゲーム開発しましょう!
そうじゃない人はURLだけ遊んでくだし
とりあえず寝ている魔理沙のお口を開けることに成功しました。
プレイできるURLはこちら。
http://yuenao.group/osawari/free/20200211/index.html
えっちな要素は支援者限定にしようと思っていますが
まだそこまで開発できていません。
~~~以降おさわりゲー作りたい方 or Unity+Live2d開発者向け~~~
以降の文書は間違っている箇所あるかと思うので指摘等あると嬉しいです。
とりあえず魔理沙が呼吸するまでは以下のような流れでした。
1. クリスタでlive2d用psd作成
2. live2dにインポート、パラメータ設定、moc3ファイル書き出し
3. Unityにインポート、各種コンポーネント設定(呼吸と髪揺れにパラメータを周期的に動作させる方法を使用)
上記の流れはLive2dのドキュメント読めば出来ると思うので省略します。。。
さて、おさわりゲームを開発するにあたり、
”マウスドラッグに対応してCubism Parameter(Live2dのパラメータ値を持っているコンポーネント)を動かす”
をやりたいのですが、
SDK fot Uniryの公式ドキュメントを読んでも、
Cubism Parameterをどう触ったら良いのかの説明がないっぽいです。。。。
しょうがないので中のソースコードを読んで何しているか見てみましょう。。。。
呼吸と髪揺れで使ったCubismHarmonicMotionControllerを見てみます
(以降2020/02/11現在の情報で記載してます)
48行目でCubismParameter[] Destinationsを定義して
115行目でDestinations[i].BlendToValue(BlendMode, Sources[i].Evaluate());という謎の処理を行っていますね
BlendToValueメソッドはCubismParameterExtensionMethodsの49行目でしょうか。。。
(C#があまりわかっていないのでどういう仕組でこのメソッドが呼ばれるかよくわからない)
内部で同クラスのAddToValueとかMultiplyValueByメソッドを呼び出していますね
AddToValueとか見ると、
結局の所CubismParameterのValueプロパティをいじれば良さそうです!!?
簡単そうですね
一旦最初の記事はここまで
次回以降の記事で、CubismParameterのValueプロパティをドラッグでいじるコンポーネントの作成について書く予定です
以上です。