MagicaSettings

概要


システムの変更を行うコンポーネントです。
変更は通常APIを利用してスクリプトから制御しますが、このコンポーネントを使うことでコーディング無しに変更が可能です。

追加はGameObjectにMagicaSettingsスクリプトをアタッチするか、ヒエラルキーウインドウで右クリックメニューを開きCreateOther/MagicaCloth2/MagicaSettingsを選択します。

プロパティ


Refresh Mode

コンポーネントの内容をシステムに送信するタイミングを指示します。

OnAwake
プロパティはコンポーネントの生成時に1回だけシステムに送信されます。

EveryFrame
プロパティは毎フレームシステムに送信されます。

OnStart
プロパティはコンポーネントのStart()時に1回だけシステムに送信されます。

Manual
プロパティは自動では送信されません。
送信するにはスクリプトからRefresh()を手動で呼び出す必要があります。

Simulation Frequency

シミュレーション周波数。
シミュレーションを1秒間に何回実行するかを指定します。
周波数はシミュレーションの精度に直結しており高ければ精度が良くなり、低ければ精度が下がります。
ただし周波数を上げるとそれだけ負荷が高くなります。

詳細についてはパフォーマンスの記事を参照してください。

Max Simulation Count Per Frame

1フレームの最大更新回数。
シミュレーションはフレームレートとは異なるタイムスケジュールにより実行されるため、場合によっては1フレームに数回シミュレーションが実行される場合があります。
1フレームに実行されるシミュレーション回数が多くなるほど負荷も増えます。
そのため最大で実行できるシミュレーション回数を制限することが可能です。
制限によりシミュレーションが省略された場合は補間機能により位置が補われます。

詳細についてはパフォーマンスの記事を参照してください。

Initialization Location

初期化場所。

Start
シミュレーションはMagicaClothコンポーネントのStart()で初期化されます。

Awake
シミュレーションはMagicaClothコンポーネントのAwake()で初期化されます。

Update Location

シミュレーションの実行場所。

After Late Update
シミュレーションはLateUpdateの後に実行されます

Before Late Update
シミュレーションはLateUpdateの前に実行されます。
これは2DAnimationを利用する場合に必要です。

Unityのイベント実行順序についてはライフサイクルを参照してください。

Monitor Player Loop

MagicaClothはUnityのPlayerLoopにイベントを登録することで動作します。
しかし、このPlayerLoopが外部のアセットにより上書きされてしまう可能性があります。
このチェックを有効にすることで、PlayerLoopを監視し、登録が上書きされていた場合は再設定するようになります。