★お知らせ(2023/12/27)
いつもLive2D公式コミュニティをご利用いただき誠にありがとうございます。
本コミュニティは2023年12月27日 11:00をもって閉鎖いたしました。
今後の運営はすべて<b class="Bold"><u><a href="https://creatorsforum.live2d.com/" target="_blank">新Live2D公式クリエイターズフォーラム</a></u></b>に移行します。
閉鎖に伴い、以下機能は利用不可となります。
・アカウントの新規作成
・トピック投稿、返信
たくさんのご利用誠にありがとうございました。

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
<a href="https://creatorsforum.live2d.com/" target="_blank"><img src="https://global.discourse-cdn.com/business4/uploads/live2dtest/original/2X/1/1eb8f7d15371141dd0d79e2bbc57d5d8c92cf3a1.png" width="400" height="200" alt="Live2D公式クリエイターズフォーラム"></a>

なお、本コミュニティに投稿されたトピックはすべて残りますが、今後削除する可能性がございますので予めご了承ください。
閉鎖に関するお問い合わせにつきましてはLive2D公式クリエイターズフォーラムへご連絡ください。

マウス座標の入力が始まった時と終ったときについて(Flash)

ActionScript3.0内にてLive2Dのキャラクターにマウスカーソルを追尾させているのですが、入力が始まった時(画面内にマウスカーソルが入った時)と終わった時(画面外にカーソルが出た時)に不自然な動きをしてしまうのですが、数値を0に戻す(?)のでしょうか?又その場合Flashの変更点などありますでしょうか。現在のプログラムは写真のような状態です。

コメント

  • 編集済: September 2015
    不自然な動きとはどういう風な動きしてます?(スムーズに元に戻らないとか?)
  • そうですね、スムーズに元に戻らないという感じです。
  • Live2D.getParamFloat("PARAM_ANGLE_X")とmouse_xの値をデバッグするとどんな値が取れますか?

    ソースを見る限り、数値を0に戻す処理はなくLive2Dのライブラリの中で0に戻す処理はなかったと思います。
    (Flash以外のSDKの場合ですが、おそらくFlashもほぼ同じ実装のはずと思います)

    または、その他のモーション再生などしてますか?
  • PARAM_ANGLE_Xは値を所得出来なかったのですが、mouse_x,yはundefinedと表示されました。
    モーションは一定の間隔で再生するようにしています。
  • 編集済: September 2015
    すいません、間違えました。

    誤:Live2D.getParamFloat("PARAM_ANGLE_X")
    正:live2DModel.getParamFloat("PARAM_ANGLE_X")

    mouse_xの値がundefinedになるのはデバッグする箇所が悪いような気がします...。

    モーションが再生されているのであれば、そちらで数値を0に戻していると思います。
    mtnファイルの中をエディタで開くと「PARAM_ANGLE_X=0,-0...」という部分が確認できると思いますが、そこで値を0にしてるという訳ですね。

    PARAM_ANGLE_X=0にしたくないのであれば、mtnファイルを編集してその部分を削除するといいと思います。
  • 自分がちょっと回答違いしていたかもしれないので、追記します。
    live2DModel.setParamFloat()でなく、live2DModel.addToParamFloat()に変えたらスムーズに動作するかもです。

    setParamFloat()は値を上書きしますが、addToParamFloat()は現在の値に対して重みをつけるメソッドになります。

    ◆Live2D APIリファレンス - addToParamFloat
  • addTOParamFloatにしたところ、かなり理想のものに近づきました、ありがとうございます。
    ひとまずこれで制作を進めてみます。
コメントするにはサインインまたは登録して下さい。