RayFireのInitialize, Activate, Demolishについて

Unityの破壊系アセット「Ray Fire」を(実は結構前から)使い始めました。
が、タイトルの3つの状態がいまいち理解できず苦戦しています。
ということで、自分なりの考察をメモしておきます。

かなり高額な部類のAssetですが、セールなどをうまく活用して購入しましょう

検証用シーン

執筆時点で最新のRayFire Ver1.24を使用。
PlaneとCubeを配置し、Cubeには「RayFire Rigid」コンポーネントが設定されている。

Initialize

Initializeはその名の通り初期化処理を行う。Youtubeのチュートリアルは以下の通り
https://www.youtube.com/watch?v=-wW9OfnhIh0&feature=youtu.be

初期化処理を行わないと、破壊表現が行えないので最初に行う必要がある。
スクリプトから任意で呼び出すことができるし、プロパティでInitializationを「At Start」に設定しておけば、自動で初期化することもできる。

Activate

Main > Simulation Type > Inactive に設定されたオブジェクトについて、シミュレーションを有効にする。
なので、Simulation TypeがInactive以外の設定になっている場合、特に気にする必要がない(と思われる)
Youtubeのチュートリアルは以下の通り
https://www.youtube.com/watch?v=KZ8h9F45lkM&feature=youtu.be

例えば、「最初から物理演算を有効にしたくないけど、特定のタイミングで有効にしたい」という場合、SimulationTypeをInactiveにすることで対応できる。
Inactive から Activeに状態を変化させるにはスクリプトからメソッドを呼び出すほか、各種プロパティからも調整ができる。

ちなみに、Activateする前に破壊(Demolish)を行うと、物理演算が効いていないため見た目の変化はないように見える。(が、オブジェクト自体は細かく分割される)

Demolish

実際にオブジェクトの破壊を行う。事前にInitializeが呼び出されている必要あり(と思われる)
Demolish自体はスクリプトから任意でメソッドを呼ぶことで実行できるほか、オブジェクトが衝突したときにも自動的に行われる(と思われる)
ただ、オブジェクト同士が衝突したときのDemolish発動条件がまだよくわかっていないので、この辺りは要検証・・・

Youtubeのチュートリアルは以下の通り
https://www.youtube.com/watch?v=_aO08dcqBOQ

ひとまず以上

購入したのはいいものの、なかなか理想的な破壊が行える苦戦が続いております。
YouTubeのチュートリアルが充実しているのは良いのですが、バージョンが古かったり、ドキュメントのほうはあまりスクリプトに触れられていなかったりと、マニュアル周りの整備が若干追いつていない感じです。
出来ることは多そうですが、現状使いこなすのはかなり難しそうですね・・・
ドキュメント周りが整備されることを願いつつ、しばらくはトライアンドエラーで理想的な破壊を実現したいところです