Live2Dに関するユーザーのみなさま同士の交流・ご質問・不具合の報告・提案・要望などについて是非お寄せください。
※Live2D公式スタッフからの発言や回答については確約できないことを予めご了承ください。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

待機モーションをさせながらaddToParamFloatすることは可能ですか?with Unity

4月 2016 編集されました Cubism SDK 2.1
いつもお世話になっております。SDKサンプルのDemoのスクリプトをベースに待機モーションを再生するようにしました。その後、Update内の処理を見やすくしたいと思い、幾つかの処理をメソッドとして一纏めにして呼び出す形にしたところ、マウスの方向を向いてくれなくなりました。お手数ですが、原因が分かる方おりましたらご教示のほどお願いします。

https://gist.github.com/tetya/9160a726e51b7e01b2cf25daf7804be4

なお、SDKサンプルのDemoはクリックした時にその方向を向くのに対し、モーションを加えた時はクリックしなくても常時カーソルの方向を向いていました。よく考えるとモーション再生とaddToParamFloatの両方が使われているサンプルがないので、この組み合わせ自体が可能なのか気になっています。

また、マウス先を向かなくなる前にiPhone実機で動作を確認したところ、何故か左下を向いた状態からゲームがスタートしたので、load時にsetParamFloatで正面を向かせるようにしています(これも明後日の方向を向いている状態から正面に向き直るので、あまり上手くいっていないです…)。

あとこの問題と関連があると思うのですが、待機モーションの切れ目に明後日の方向を一瞬だけ向く現象にも悩まされています。最後にクリックのあった位置を覚えており、そこを向いているような感じです。

漠然とした内容の列挙で申し訳ありません。質問の中核はタイトルの通りです。

コメント

  • @tetya_ さん

    その場合は、マウスを向かせる処理をモーションのupdate後にすれば大丈夫かと思います。
    void Update()
    {
    	//モデルの状態を監視
    	CheckModel();
    	//瞬きの更新(live2DModel.updateより先に呼び出す必要あり)
    	eyeBlink.setParam(live2DModel);
    	// 再生中のモーションからモデルパラメータを更新
    	mainMotManager.updateParam(live2DModel);
    	//マウスの方向を向かせる処理
    	LookAtMouse();
    	//モデルの描画更新
    	live2DModel.update();
    }
    
  • 4月 2016 編集されました
    教えていただいた方法で解決できました!素早い返信ありがとうございます。尚、live2DModel.update前に呼び出す必要もあるみたいでした。また、他の挙動に関してはaddToParamFloatにdragMgrの値を使っていないためでした(汗)。添付画像のようにしたところ意図した挙動になりました。

    いつも素早く丁寧な回答ありがとうございます。
コメントするにはサインインまたは登録して下さい。