当たり判定の設定準備

最終更新: 2020年4月9日

Cubism3 SDK以降では、すべてのアートメッシュが当たり判定として指定することができます。
ただ、負荷軽減のためにはアートメッシュの形状が単純である方が望ましいです。

Cubism3以降では、当たり判定用のアートメッシュを自動で作成するための機能がありますので
実際に設定する方法を紹介していきます。

SDKでの当たり判定の設定方法は「当たり判定の設定」をご覧ください。

当たり判定用アートメッシュの設定

[メニュー]バーの[モデリング]→[アートメッシュ]→[当たり判定用アートメッシュを生成]をクリックします。

そうすると、空のアートメッシュが作成されます。
このアートメッシュは他のアートメッシュと差異はないため、ポリゴンを編集することも、パラメータで変形させることもできます。

作成されたアートメッシュを、設定したい場所に配置します。

空のアートメッシュを作成した時点で、既にそのモデルでテクスチャアトラスを作成している場合、このアートメッシュもそれに追加する必要があります。
詳しくは「テクスチャアトラス編集」をご覧ください。

テクスチャアトラス上に配置された当たり判定用のアートメッシュは、左上に配置されます。

当たり判定用のアートメッシュは「16×16px」と非常に小さい形で表示されますので、他のアートメッシュと重ならないように注意が必要です。

当たり判定のIDについて:
[当たり判定用アートメッシュを生成] からアートメッシュを生成すると、IDが自動で「HitArea」になります。
ただ、当たり判定では必ず「HitArea」というID名を使用してくださいという訳ではなく、ただ分かりやすいように設定しているだけになります。

当たり判定用アートメッシュのIDに、命名規則は特にありませんので、名前は実装する環境によって開発者と相談してみてください。

ただ、Cubism3で作成したモデルに当たり判定がある場合、Cubism2.1でもIDが「HIT_AREA」になります。
Cubism2.1では当たり判定のIDには制約があるため、変更する必要があります。
詳しくは「当たり判定があるモデル」をご覧ください。

SDKで当たり判定を扱う場合の注意点

SDKで当たり判定を扱うには、当たり判定用メッシュのIDに名前をつける必要があります。
名前の設定は Viewer for OW で行います。

Viewer for OWでHitArea名を入力し保存します。

Unity、Native、Web問わずCubism SDKでは「Head」「Body」の2つの名前を使用しています。
当たり判定用のメッシュに「Head」と名前をつけたメッシュは表情の切り替えに使用します。
「Body」と名前をつけたメッシュはタップ用モーションの再生に使用します。
当たり判定の範囲が重なっている場合は「Head」の処理が優先されます。
SDKをカスタマイズすることで、上記以外の名前も使用することができます。

TIPS

Cubism SDKで取得する当たり判定はアートメッシュと同じ形状になるとは限りません。
(キャンバスに対して完全に水平垂直の長方形の場合は同じ形状になります)
Cubismで指定した当たり判定用のアートメッシュを囲う水平垂直の長方形がUnity上での当たり判定の範囲になるため、
Cubismで指定した当たり判定の外でも当たり判定として取得されることがあります。
これはパラメータによる変形でも同様で、長方形の当たり判定用のアートメッシュが変形で傾けられた場合も発生します。

ただし、Unity版のSDKは範囲の精度を変更することができ、設定を変更することでアートメッシュと同じ形状で当たり判定を取得することもできます。

この記事はお役に立ちましたか?
はいいいえ
この記事に関するご意見・
ご要望をお聞かせください。