クリッピングマスク

(2019/04/25 更新)

クリッピングマスクはまばたきの動作などによく用いられます。
ここではクリッピングマスクの手順について解説します。

 

クリッピングマスクの手順

マスクにするアートメッシュのIDを指定することで、クリッピングマスクを使用することができるようになります。
ここでは、白目のアートメッシュで黒目部分のアートメッシュに対してクリッピングマスクを適用するまでの手順を紹介します。

まずはマスクにするアートメッシュ(白目の部分)を選択し、コピーします。

クリッピングするアートメッシュ(黒目の部分)を選択し、[インスペクタ]パレットの[クリッピング]の欄にペーストします。

[クリッピング]にマスクにするアートメッシュのID(ArtMesh36)がペーストされ、黒目の部分がクリッピングされます。

下記の手順でも同様にクリッピングマスクを適用することができます。

  1. マスクにするアートメッシュを選択し、[インスペクタ]パレットで[ID]のテキストをコピーします。
  2. クリッピングするアートメッシュを選択し、[インスペクタ]パレットの[クリッピング]にペーストします。

TIPS
コンマで区切ることで複数のアートメッシュを指定できます(例:ArtMesh1, ArtMesh2...)

POINT
SDK以外の動画作品などで使用される場合、クリッピングマスクは多用しても問題ありません。 

 

SDK使用時のクリッピング注意点

ゲーム開発などを目的とし、SDKへの組み込みを想定している場合は、必ず下記の注意点をご確認ください。

・クリッピング上限

現在のCubism 3 SDKのクリッピング描画方式では、36個がクリッピング上限でそれを超える表示はできなくなります。
また、クリッピング用の一次バッファーをクリッピング個数に応じて分割しながらレンダリングするため、
個数が増えるとクリッピング品質が低下します。(最も品質が下がる個数は20以上)
マスクにするアートメッシュ(白目側)の数が36個までということです。
(9マスのマスク用テクスチャが4枚まで作れるので、9×4で36個)

・環境ごとの対応状況

一部の環境では、1つのアートメッシュに複数のクリッピングの適用は出来ない場合もあります。
必ず開発担当者と調整の上でクリッピングマスクを使用するようお願いいたします。

・負荷・パフォーマンスの低下

環境によってはクリッピングによる負荷が大きくなることがあります。
利用は必要最低限に留めることをお勧めします。

・表現の違い

環境、表示サイズなどによって、表現・見た目に違いが出ることがあります。
厳密な表現が求められる場合は事前に実機でご確認ください。

 

 

マスクに関する警告について

Cubism Editor 3.2.05からはクリッピングマスクに使用されるマスクが不正な状態にあると警告がでるようになりました。

 

警告発生時の注意点

「マスクに関する警告」が発生した状態で組み込み用ファイルを出力し、それをSDKを使ったアプリケーションで読み込んでしまうと
以下のような問題が発生する可能性があります。

発生する問題:

  • 強制終了する
  • 組み込み用ファイルを読み込めない
  • SDKとEditor上の表示が異なる

以上の問題を回避するため、「編集上一時的に許容されるが、出力時には好ましくない」状態に対して警告が出ます。
Animator上では問題ないように見えますが、今後のアップデートの影響で表示内容が変化する可能性があるため、修正をお勧めしています。

 

警告発生時の状況について

「マスクに関する警告」が発生する状況は、大きく分けて2つの種類があります。

キーロスト:

マスクになるアートメッシュが、パラメータのキーフォーム外に存在しているため見えない状態。
アプリケーションの実装状況によっては表示が大きく異なる可能性があります。

非表示・下絵に設定されたアートメッシュ:

非表示や下絵に設定されたアートメッシュは、組み込み用ファイルを出力する際に標準の設定で出力されません。
このため、そのままSDKで読み込みを行うとマスクのアートメッシュは不正な値を指示した状態になり、強制終了などの問題が
発生する可能性があります。

 

ケース別のモデル修正方法

1.透明なアートメッシュを、マスクとして参照したい場合

マスクに設定したアートメッシュの不透明度を0%にして対応してください。
アートメッシュにすでにキーフォームが打たれていて不透明度の操作が難しい場合は、マルチキー編集を使用したり、デフォーマを
アートメッシュの親に設定し不透明度だけを一括で操作する方法もあります。

TIPS
クリッピングマスクの動作は実装状況に依存します。
詳しい注意事項は開発担当者と相談の上、モデルを作成することをお勧めします。

UnitySDKとNativeSDKの比較について(プログラマ向け)

2.非表示パーツの中に存在するアートメッシュを、マスクとして参照したい場合

Cubism Editor 3.2.05以降では、すべてのマスクが非表示状態になった際に、クリッピングマスク自体が解除されるようになりました。
非表示パーツ内のアートメッシュをマスクに設定している場合、クリッピングマスクが解除された見た目になってしまいます。

編集がしにくい場合は、マスクに設定されたアートメッシュを一時的に表示パーツへ移動させて対応してください。

TIPS
非表示状態になるマスクが存在すると、前述した警告や、moc3書き出し時にエラーが表示されます。
組み込み用途として使用する場合、非表示のままmoc3を書き出してしまうと、意図しない表示になる場合があるため、
パーツを表示状態にするのを忘れないよう注意してください。

3.腕の切り替えなどで、補間せず消えるアートメッシュをマスクとして参照したい場合

キーフォームの範囲外にキーが移動した際に、アートメッシュの表示が消える効果をそのままに使用したいケースです。

Cubism Editor 3.2.05以降では、すべてのマスクが非表示状態になったり、マスクに設定しているオブジェクトがキーフォームの範囲外で
非表示状態になる場合、クリッピングマスク自体が解除されてしまいます。

回避策として、空のアートメッシュを作成しておき、常に表示状態のマスクとして使用します。
空のアートメッシュは「当たり判定用アートメッシュ」を利用しましょう。
当たり判定用アートメッシュの設定方法

作成した空のアートメッシュを「表示を消したいマスク」と一緒にマスクとして設定しておくことで、常に表示状態のマスクが存在することになります。
これにより、クリッピングマスク自体は解除されず、キーフォームの範囲外の表示を消す効果を使用できるようになります。

※この場合、空のアートメッシュにはキーを打つ必要はありません。位置やサイズも影響はない為、自由に設定してください。
※非表示状態になるマスクが存在すると、前述した警告や、moc3書き出し時にエラーが表示されます。
組み込み用途として使用する場合、実装状況によって意図しない表示になる場合があるため、開発担当者と相談の上モデルを作成することをお勧めします。

 

警告を非表示にする

警告の表示は「ファイル/設定/マスクの設定を常に表示する」のチェックを外すことで非表示にすることができます。

 

警告を無視して作成する際は、実機での表示具合を確認しながら行ってください。

 

Copyright © 2019 Live2D Inc.