【Cubism SDKのバージョン】Cubism SDK for Web R5 beta4
【スマートフォンの場合などは端末名】macbook pro
【OS名・バージョン】macOS Monterey 12.4
【開発使用ツール】Visual Studio 2019
【不具合の状況】
translateRelativeを使いモデルの位置を変更しても、当たり判定の位置が変わらない。
サンプルモデルやR4のサンプルコードで試してみても同じ動作でした。
宜しくお願い致します。
【Cubism SDKのバージョン】Cubism SDK for Web R5 beta4
【スマートフォンの場合などは端末名】macbook pro
【OS名・バージョン】macOS Monterey 12.4
【開発使用ツール】Visual Studio 2019
【不具合の状況】
translateRelativeを使いモデルの位置を変更しても、当たり判定の位置が変わらない。
サンプルモデルやR4のサンプルコードで試してみても同じ動作でした。
宜しくお願い致します。
@momomo 様
お問い合わせいただきありがとうございます。
Live2Dスタッフです。
モデルの当たり判定処理はモデルが持つMatrixの位置情報を用いて判定しますが、
translateRelativeをモデルの持つMatrixではなく、画面描画用Matrixに対して使っている可能性があります。
画面描画用Matrixはサンプルコードでは
lapplive2dmanager.ts ➝ onUpdate() 内で処理されています。
モデル用Matrixは
lappmodel.ts ➝ setupLayout() 内の setupFromLayout() で取得した this._modelMatrix になります。
_modelMatrix は CubismModelMatrix クラスです。
これに対して translateRelative を使うことで、正常な当たり判定を持つ位置変更が可能になります。
参考 :
・モデルの当たり判定 :
https://docs.live2d.com/cubism-sdk-manual/hitarea/
・CubismModelMatrix :
https://docs.live2d.com/cubism-sdk-manual/layout
ご確認のほど、よろしくお願いいたします。
ご指摘の通り、画面描画のmatrixにtranslateをしていたため、モデルのmatrixに変更したところ、モデルの移動に合わせて当たり判定も移動しました。
迅速にご返答いただき大変助かりました。ありがとうございます。