マスク用テクスチャの仕様 (UE)

最終更新: 2024年9月5日

このページにはアルファ版に関する記述が含まれます。

概要

Cubism SDK for Unreal Engine のデフォルト動作では、各レベルで表示されるすべてのモデルがレベルごとにひとつのマスク用テクスチャを共有します。

ここでは Cubism SDK for Unreal Engine におけるマスク用テクスチャの仕様に関して説明します。

マスク用テクスチャの作成

レベルにモデルをスポーンさせたときに、マスク用のテクスチャが存在しない場合は、自動で CubismMaskTexture アクタが作成され、モデルに割り当てられます。
また、既にレベル内にデフォルトの CubismMaskTexture アクタが存在する場合は、モデルをスポーンするごとにそのマスク用テクスチャがモデルに割り当てられます。
モデルごとに個別のマスク用テクスチャを適用したい場合は、自身で CubismMaskTexture アクタを作成し、参照をCubismRendererComponent のプロパティにある MaskTexture に割り当てます。

マスク用テクスチャの設定

Unreal Engineにおいて、テクスチャはレンダーターゲットとして管理されています。
各マスクテクスチャには、レンダーターゲットのサイズ、枚数、マスクの詳細度を個別に設定することが可能です。

これらを設定するには、CubismMaskTexture アクタの CubismMaskTextureComponent にある以下のプロパティを変更してください。

プロパティ説明
Sizeレンダーターゲットの縦横サイズを設定します。
デフォルトでは4096pxに設定されています。
モデルのテクスチャサイズに合わせて調節してください。
UseMultiRenderTargets複数のレンダーターゲットを使用するかどうかを指定します。
デフォルトでは false に設定されています。

false になっている場合、マスクテクスチャに登録されたマスクは、その枚数に応じて、全てのマスクが1枚のレンダーターゲットに収まるように縮小されます。
true になっている場合、登録されたマスクが1枚のレンダーターゲットに収まりきらないときは、後述する MaxRenderTargetCount に達するまでは、マスクを収めるのに必要な分のレンダーターゲットを作成します。
レンダーターゲットの数が MaxRenderTargetCount に達した後は、 false になっている場合と同様、登録されたマスクの枚数に応じて、全てのマスクがレンダーターゲットの上限に収まるように縮小して登録されます。
MaxRenderTargetCountCubismMaskTexture アクタが保持できるレンダーターゲットの最大枚数を設定します。
UseMultiRenderTargets が false になっているときは無視されます。
LOD登録されているマスクの詳細度を設定します。
LOD が1増加するごとにレンダーテクスチャが4分割されます。
それにより、登録されているマスクひとつに割り当てられる領域が小さくなるため解像度が半分になります。


この値は、 UseMultiRenderTargets が true になっているときのみ操作することができ、レンダーターゲットの数が MaxRenderTargetCount に達するまでは小さく設定できます。
また、登録された全てのマスクを1枚のレンダーターゲットに収めることができる最小の LOD の値が存在し、その値より大きな LOD を設定することはできません。
登録されているマスクの解像度を上げたい場合は、LOD の値を小さくしてください。

このようにパフォーマンス上許容できるレンダーターゲットの最大枚数を MaxRenderTargetCount として設定し、その中で許される LOD を登録されているマスクの枚数に応じて適宜設定することで、CubismMaskTexture アクタで管理されているマスクの解像度を柔軟に調整することが可能です。

なお、1つのモデル内で異なる解像度のマスクを適用することはできません。モデルごとにマスクの解像度を設定したい場合は異なる CubismMaskTexture アクタを各モデルに割り当ててください。

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