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

新Live2D公式クリエイターズフォーラムは以下バナーよりご利用いただけます。
Live2D公式クリエイターズフォーラム

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

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

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

コメント

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

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

    または、その他のモーション再生などしてますか?
  • PARAM_ANGLE_Xは値を所得出来なかったのですが、mouse_x,yはundefinedと表示されました。
    モーションは一定の間隔で再生するようにしています。
  • 編集済: 9月 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にしたところ、かなり理想のものに近づきました、ありがとうございます。
    ひとまずこれで制作を進めてみます。
コメントするにはサインインまたは登録して下さい。