破壊系のAssetを試す (Exploder)

<a href="https://www.assetstore.unity3d.com/jp/#!/content/9771" target="_blank"><img width="500" src="https://qiita-image-store.s3.amazonaws.com/0/46444/af067a90-1af3-83f7-88eb-d4354df03265.png"></a>
<a href="https://www.assetstore.unity3d.com/jp/#!/content/1017" target="_blank">
<img width="500" src="https://qiita-image-store.s3.amazonaws.com/0/46444/193b1b56-c097-835c-4803-5fe9ae40c2a8.png"></a>
<a href="https://www.assetstore.unity3d.com/jp/#!/content/9411" target="_blank">
<img width="500" src="https://qiita-image-store.s3.amazonaws.com/0/46444/e69b244c-79d6-572d-f4e4-518e8d17881d.png"></a>

メッシュ破壊系のアセットがたまってきたのでそれぞれ違いを理解すべく上記３つのアセットをそれぞれ試してみる
とりあえずExploderから

##インポートしたところ
<img width="182" src="https://qiita-image-store.s3.amazonaws.com/0/46444/474c28a1-0380-9453-9a30-8a1428f4f5f4.png">

##とりあえず簡単に爆発させるものを作ってみる
タグにExploderを追加
Cubeかなにかを作成し、タグをExploderにする
CubeにExploderObject.csをアタッチ
空のGameObjectかなにかにDemoSimple.csをアタッチし、そのインスペクタの
Exploderに作成したCubeをアタッチする

実行
![explode1.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/2a5ed0f6-8a8e-74f7-5b33-ea81366bc477.gif)

DemoSimple.csが爆発ボタンやリセットボタンを作成してくれるのでとりあえずためすにはこれでOK

##ExploderObjectのインスペクタを見てみる
<img width="324" src="https://qiita-image-store.s3.amazonaws.com/0/46444/fb02e280-854c-ab89-0fda-d50589506a3d.png">
結構あるな・・・。

とりあえず他のCubeを作成し、タグをExploderにしただけのものを近くにいくつか配置。
わかりやすいようにmaterialで色を青にしてみました。
Sceneでみえる赤い球場のギズモが爆発の影響範囲。
インスペクタで
Radius:影響範囲
Force:影響力
TargetFragments:壊れたときの割れる数など手軽にかえられる
<img width="354" src="https://qiita-image-store.s3.amazonaws.com/0/46444/c9ea14d1-7104-3c26-c5cb-85387fbf55f1.png">

壊れたときのマテリアルも設定できるので壊れたら赤色のマテリアルに、
また、Freeze Position Y もしてみた。
<img width="324" src="https://qiita-image-store.s3.amazonaws.com/0/46444/1f25b160-4f3c-9253-6cf9-f2e36576a7ea.gif">

赤いギズモの範囲内だけこわれた。

##Scriptから爆発させる
ExploderObject.csの.Explodeメソッドを呼ぶだけ

##2Dで爆発
このアセット2Dにも対応している。
ExploderObjectのインスペクタのUse 2D physicsにチェックを入れればOK
<img width="347" src="https://qiita-image-store.s3.amazonaws.com/0/46444/9a64ddb4-4f0a-f34d-986a-3177933f247a.png">
![explode3.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/bc836966-1a19-e912-fd5a-83d85bdf6724.gif)

またその下のUseCubeRadiusで影響範囲を四角に
することもできる
<img width="202" src="https://qiita-image-store.s3.amazonaws.com/0/46444/f1713650-9a72-16e2-752f-cbe277f1e1a6.png">

![explode4.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/11b5c969-932e-85fa-b03e-d59423d8f2a9.gif)


##便利なScript
ExploderSlowMotion.cs: 爆発するときにTimeScaleを好きな値に修正してくれる


##割れたところのUVの指定
割れた部分のUVを指定することも可能。その場合モデリングツールなどでUVの設定などが必要。
まずmaya上でシンプルなSphereを作成し、UV展開
<img width="426" src="https://qiita-image-store.s3.amazonaws.com/0/46444/acff2038-2b41-fd78-4d8c-8196ed550ae4.png">
<img width="379" src="https://qiita-image-store.s3.amazonaws.com/0/46444/35015f32-964c-5c4e-386b-5a13497adb0f.png">

描き終わったらUnity上にmodelを持ってきてExploder Option.csをアタッチ。
Cross SectionUVのところに割れた位置のUVの座標を指定する
今回の場合だいたいこんなかんじ
<img width="344" src="https://qiita-image-store.s3.amazonaws.com/0/46444/2e7b4cd4-aa62-2c73-5367-cdd5480ab8af.png">

では爆破！
![explode5.gif](https://qiita-image-store.s3.amazonaws.com/0/46444/fc66da6e-1167-4241-d94e-b2571f3e01bb.gif)

##まとめ
ざっと触ってみたところ

###できること：
中心からの爆発。周りを巻き込む爆発
自動でメッシュを分割して破壊できる
SkinnedMeshだろうが壊せる

###できないこと：
事前に好きな形で割れ方の分割をする
必ず中心から割れる

こんなかんじ