インポートしたところ
Unity5対応と書いていないので不安があるかもしれないですがUnity5でも普通に動きます。
デモの感じ
好きな位置でスライスできます 割れたところのUVも指定できます
こちらは同じマテリアルでUV位置を指定するタイプ
また事前に割るタイプではないので意図した形に分割できる。
ぶつかったら壊れる系をつくってみる
ボールのインスペクタ
RIgidBodyとmeshColliderを追加。
MeshColliderのConvexにチェックをいれること!
ShatterTool.csを追加
ShatterOnCollision.csを追加。これがぶつかったときに割れるScript
TargetUvMapper.csを追加。これが割れた部分のUV。
今回のUVの場合はこんな感じに指定。開始位置終了位置をしていするのではなく
開始位置とそこからのサイズを指定する形。
手っ取り早くボールを投げる
Helpers/Mouse/MouseInstantiate.csを空のオブジェクトなどにアタッチすればクリックした位置からオブジェクトを飛ばすことができます。
便利なScript
便利なScriptがそろっているので簡単に操作周りが作成できます。
HierarcheHandler.cs:modelに親子階層があるときなどに使用する
SHatterOnCollision.cs:何かかぶつかったら割れる
MouseForce.cs :クリックドラッグでつんで移動できる
MouseInstantiate.cs: オブジェクトを投げる
MouseShatter.cs:クリックした位置でオブジェクトを割る
MouseSprite:ドラッグした線でオブジェクトを切る
触った感想
できること
ユーザーの操作によるカット
クリック位置、ぶつかった位置での破壊。
割れた部分のUV指定(同じマテリアル)
できないこと:
複雑な形状なものでは動作しない。
そもそもMeshColliderのConverxをチェック入れる時点で、
Convex オンの MeshCollider は三角形面数の上限 255 に制限されています。という制約がつくためポリゴン数が多いものは対応できない
SkinnedMeshにはつかえない。