新しいLive2D公式コミュニティ(日本向け)が公開されました!
ぜひご利用ください!
Live2D公式コミュニティ

■このコミュニティの今後について
このコミュニティ(forum.live2d.com)につきましては、しばらくの間新コミュニティと並行して運営しますが、2022年内を目処に閉鎖する予定です。
閉鎖時期や内容については決定次第お知らせいたします。
海外向けコミュニティについては変更ございません。
Live2Dに関するユーザーのみなさま同士の交流・ご質問・不具合の報告・提案・要望などについて是非お寄せください。
※Live2D公式スタッフからの発言や回答については確約できないことを予めご了承ください。

Live2D ヘルプ

Cubism Editorダウンロード / 動作環境
Cubism SDKダウンロード / 対応表
Cubism 製品利用ライセンス(SDK含)

Cubism 製品のライセンスについてのお問い合わせはこちら
nizima 及び nizima 製品についてのお問い合わせはこちら
【各最新OSの対応状況について】
Cubism Editorは 4.1.02 正式版以降でWindows 11 及び macOS Monterey に対応しております。ぜひ最新版をご利用ください。
※macOSをお使いの方でOSアップデートする際は必ずCubism Editorのライセンスを解除してください。
Cubism EditorをインストールしているmacOSをアップグレードしたい
Cubism SDKについては各SDKのREADMEまたはNOTICEをご確認ください。

【Mac各機種への対応状況について】
現在、Cubism EditorはApple M1チップ搭載機種には対応しておりません。
詳細は 動作環境 をご参照ください。
関連するお問い合わせへの対応はこの文章をもって代えさせていただきます。
Cubism 製品のマニュアル・チュートリアルはこちら
 
Cubism Editorマニュアル    Cubism Editorチュートリアル    Cubism SDKマニュアル    Cubism SDKチュートリアル

CubismSDKとARkit(iOS)での問題について

こんにちは
CubismSDK2.1とiOSのARkitを仕様してVtuber向けのアプリを開発しております。
お客様より顔の傾きに応じて、カラダの傾きも追従してほしいとの依頼があったため、パラメータPARAM_ANGLE_ZとともにPARAM_BODY_ANGLE_Zの値も変更したのですが、この動きでは顔の傾きに対して
カラダが傾くスピードが早いと指摘されたので、カラダの傾くスピードをもう少しゆっくりできないかと思っております。
様々なドキュメント類を確認しましたが、解決に至っておりません。
お力添えをいただければ幸いです。
現在のアプリでの動きがわかるよう動画を撮影しましたので、ご覧くださいませ。
https://drive.google.com/open?id=1yau_ofFEhkxCIwFQEOAAudht6ZdvHcmw
以上、よろしくお願いいたします。

コメント

  • @daisuke_hanano

    「カラダが傾くスピード」とは、顔の傾きに対する体の変化量のことでしょうか?
    それとも顔が傾くタイミングから遅延させる時間のことでしょうか?
  • 編集済: 10月 2018
    @y_a_s_(Dev Staff)

    「カラダが傾くスピード」とは、顔の傾きに対する体の変化量のことでしょうか?
    →こちらの方なのですが、iOSのホロライブというアプリをご覧になるとわかりやすいと言われています。
    PARAM_BODY_ANGLE_Zの値を例えば0→10にした時に10に達するまでの時間をゆっくりにしたいということです。
    今の動きだと顔の向きとほぼリアルタイムに体が傾くのでホロライブとは程遠いと指摘された次第です。
    以上、よろしくお願いいたします。
  • @y_a_s_(Dev Staff)
    本件、いかがでしょうか。
    いつぐらいのご回答になりそうでしょうか。
  • @daisuke_hanano

    回答が遅れてしまい申し訳ありません。

    顔の傾きの値を直接パラメータに設定するのではなく、取得した値にイージングをかけてから設定すれば、同様な動作になるかと思われます。

    Cubism2 SDKでは、付属のフレームワークの「L2DTargetPoint」というクラスで簡易的なイージングを行っておりますので、こちらを利用していただくことでも実装することができます。
    L2DTargetPointは、SDK同梱のサンプルプロジェクト「SampleApp1」のLAppModel::update()で扱っておりますので、詳細につきましてはこちらをご参照ください。
  • @y_a_s_(Dev Staff)
    ご回答ありがとうございます。
    今のARkitを使用したプログラムには流用できなかったので、顔が傾くタイミングから体を傾ける時間を遅延させるにはどうすればよろしいでしょうか。

    ご教示のほどよろしくお願いいたします。
  • 編集済: 10月 2018
    @daisuke_hanano
    誠に申し訳ありませんが、サードパーティとの連携や、設定する値の加工方法につきましてはお答えいたしかねます。

    L2DTargetPointの使い方ですが、パラメータへ適用する値は取得できていると思われますので、
    値をL2DTargetPoint::set()の第1引数に渡し、L2DTargetPoint::update()を呼ぶとイージングした値が計算されます。
    L2DTargetPoint::set()の第2引数は0を設定してください。
    イージングされた値は、L2DTargetPoint::getX()で取得できます。
    取得される値は-1~+1となっておりますので、パラメータの最大値に合うよう乗算してください。
    この値を適用する場合、ALivev2DModel::setParamFloat()ではなく、ALivev2DModel::addToParamFloat()を使用すると、より自然な動きになるかと思われます。

    L2DTargetPointを使用しない場合、検索していただければイージングの計算式を解説しているページを見つけられますので、そちらを参照してください。
    https://www.google.co.jp/search?q=イージング+計算式&oq=イージング+計算式&aqs=chrome..69i57j69i61.8180j0j7&sourceid=chrome&ie=UTF-8
コメントするにはサインインまたは登録して下さい。