-
Notifications
You must be signed in to change notification settings - Fork 7
TexAnimator
trzr edited this page Mar 12, 2019
·
1 revision
この機能では、後述の設定を行うことで対象のテクスチャをアニメーションさせることが可能となります。(ループアニメ)
主に以下の2つの方式があります。
- テクスチャ分割アニメ
- テクスチャスクロールアニメ
- iniファイルでEnableTexAnimator=trueの設定が必要
- 対象はメイドに設定されたテクスチャが対象
※ Materialの_MainTexと_ShadowTexのみ
CM3D2/COM3D2では、menuからテクスチャ変更(目ハイライトなど)を指定しても、マテリアルオブジェクト自体は変更されない仕様となっています。
このため、アニメーションのために「マテリアル変更」を行い、他のアイテムで「テクスチャ変更」を行った場合、
テクスチャスケール・オフセットが変更されたままになってしまいます。
この制限を抑制するには、テクスチャスケール・オフセットを初期化する「マテリアル変更」を行うmenuを用意する必要があります。
上記制限の抑制のため、本プラグインでは、iniファイルにTextureScaleRestore=trueを設定することで、
アニメーション対象でないアイテムを選択時にテクスチャスケール・オフセットの初期化を行います。
- テクスチャオフセット:(x,y)=(0,0) ※ テクスチャ分割アニメの場合のみ
- テクスチャスケール :(x,y)=(1,1) ※ テクスチャ分割アニメの場合のみ
- AnimeFPS:既に設定されていた場合のみ-1
テクスチャは縦横に分割した形で、各分割された画像サイズは同一とします(横のみ、縦のみでも可)
アニメーションは、以下の図のように左上から順次切り替わります。
- アニメーション用に分割テクスチャを作成
- テクスチャ名の接尾辞に _anim を付加
- 「マテリアル設定」で、アニメーション対象のテクスチャにスケールを設定
- 分割数に応じて設定
- 例1)横が5分割であれば、0.2
- 例2) 横が10分割であれば、0.1
- 割り切れない場合は有効数字4桁以上を推奨
(※C#のfloatは有効数字7桁)
- 分割数に応じて設定
- テクスチャの切替え間隔 [オプション]
- _MainTexFPS:_MainTexの切替え間隔 [/sec]
- _ShadowTexFPS:_ShadowTexの切替え間隔 [/sec]
- 未指定時は、iniファイルの設定値を使用
- ただし、0以下の場合は無視する
★テクスチャオフセット/スケールは、公式の設定項目をそのまま使用していますが、
テクスチャ切替え間隔のプロパティ(\_MainTexFPS, \_ShadowTexFPS)は、独自のプロパティです。
Unity座標系においてオフセット(0,0)は、テクスチャの左下を指します。
左上を設定する場合は、以下のサンプル画像のように分割数に応じて、Y値を調整する必要があります。
- アニメーション用にループ可能なテクスチャを作成
- テクスチャ名の接尾辞に _anim を付加
- 「マテリアル設定」で、スクロールサイズを指定
- _MainTexの場合は、_MainAnimeScrollX、_MainAnimeScrollY、
_ShadowTexの場合は、_ShadowAnimeScrollX、_ShadowAnimeScrollYを指定する- 各プロパティはfloat型で指定範囲は[-0.5, 0.5]とするが、それを逸脱した値は勝手に補正する
- 符号は、Unity座標系に従う
- 精度はC#のfloatは有効数字7桁に沿う
- _MainTexの場合は、_MainAnimeScrollX、_MainAnimeScrollY、
- テクスチャの切替え間隔 [オプション]
- _MainTexFPS:_MainTexの切り替え間隔 [/sec]
- _ShadowTexFPS:_ShadowTexの切り替え間隔 [/sec]
- 未指定時は、iniファイルの設定値を使用
- ただし、0以下の場合は無視する