top of page

パラメータ設定にトライしよう その1

  • 執筆者の写真: snackvirtual
    snackvirtual
  • 2022年7月14日
  • 読了時間: 2分

まずはすでに定義されているパラメータをマウスクリックで変更するようにしてみよう

パラメータは「頬」

クリックしたら頬が赤くなるようにしてみよう

まずはCubismのパラメータ名をSDKに合わせて「ParamCheek」に修正


さて、そもそもどこに何を書いたらいいのか、わからない

SDKのマニュアルに情報はあるが、それでもまったくわからない


で、以下は予想


動作としてはイベントドリブンだろうから、なんらかのイベントが発生しない限り動作は変わらない

なのでマウスクリックをイベントとしよう


マウスを画面上でクリックすると、

lapplive2dmanager.tsの

public onTap(x: number, y: number): void {.... 

に飛んでいくことはわかった

ここでHeadとBodyでのタップ検出をしているのがわかる

なのでCubismでの当たり検出を設定して、ここに飛んでいくことを確認しよう



その前にParamAngleX,ParamAngleYの名前をCubismに合わせこむことにした

そうすればマウスに追従してFEEが動くかもしれない

やってみると、こんな感じ

うまくいったが…ゆっくりと左右を向くのは、たぶんIdlemotionがそうなっているからだろう

しかしViewerで見てもこういう動作はしない

だとすればSDKが自分で設定しているのだろう

ParamAngleXで検索して、lappmodel.ts内の以下をコメントアウトした

breathParameters.pushBack(                                                  
        new BreathParameterData(this._idParamAngleX, 0.0, 15.0, 6.5345, 0.5)
      );
breathParameters.pushBack(
        new BreathParameterData(this._idParamAngleY, 0.0, 8.0, 3.5345, 0.5)
      );
breathParameters.pushBack(
        new BreathParameterData(this._idParamAngleZ, 0.0, 10.0, 5.5345, 0.5)
      );

その結果、変な動きは止まった


徐々に慣れてきたぞ


ではコマンドを見てみよう

_model.setParameterValueById(CubismFramework.getIdManager().getId("ParamAngleX"),30.0,1.0);

キモは「setparameterValueById」なのは一目瞭然

なので、これで検索するといくつかひっかかる

Break Pointを張ってもひっかからない

例えばcubismeyeblink.tsとかにも含まれているが、これは最終的にBundle.jsに書き出すためのソースコードらしいので、VS CodeでここにBreakを張ってもひっかからない

代わりにBundle.jsだと止まる

試しにcubismeyeblink.tsに2つ並べて命令を書いた(下記)


ree

とすると、ビルドするとBundle.jsにも同様に2つの命令が出ている(下記)


ree

つまりcubismeyeblink.tsのこの部分に書き込めば、出力してくれるということだ

ここを見る限り、ループしてパラメータを送っているように見えるので、デバッグプリントをここに仕込んで、何が出力されているのか、見てみよう


デバッグプリントは、

console.log("[Hideo] model ",model, " i ",i,"setParameterValueById ",this._parameterIds.at(i), parameterValue)

のようにしてみたが、iが0,1、パラメータ値がたまに変化する以外は、リンクが表示されれているみたいで、なんだかわからん

しかしこのsetParameterValueByIdの行をコメントアウトするとまばたきをしなくなるので、これによって動かしているのは確か


う~ん、ちょっとネタがなくなってきたので、当たり判定でもちゃんとやってみるか

そのほうが「身体に触れた」「頭に触れた」ときの反応と「会話時の口パク」を同列で扱える気がするので

 
 
 

Comments


bottom of page