【第18回】〜RayFire for Unity〜オブジェクトの破壊やスライスを表現できる
RayFire for Unity
RayFire Studiosからリリースされている、
オブジェクトを破壊したりスライスしたりすることができるアセット
ビルの破壊だったり、オブジェクトを切った通りに断面ができ分離する・・・というような高度な実装ができるアセットになっています。
どんな人にオススメ?
- 建物の破壊を表現したい
- ぶつかった時に崩れる壁などをつくりたい
- 崩れ方も細かく調整したい
- シューティングなどでも破壊の表現をしたい
使ってみた
使いこなせるかわかりませんがやってみます!
まずはインポート。
デモシーンがあるので、Shatterというシーンを開いてみます。
オブジェクトが4つ置いてあったので中身を見てみます。
コンポーネントにRayfire Shatterというのが付いてますね。
Fragmentというボタン押してみます!
なにやらヒエラルキーに生成されました!
クリックしてみると・・・
なんかゴロゴロと、見た目は変わってませんが生成されていますね・・・!
Scale Previewというところがあるので0から動かしてみると、
もう既に砕かれたメッシュに分かれていて、それぞれが小さくなってどの様に分かれているか確認できました!
また、最初にFragmentを押す時、Amountの数値を大きくしておくと割れ方がより細かくなりました。
とりあえず再生してこれがバラバラと崩れるようにしてみたい・・・
それにはRigidbodyがついていないといけない様な気がするのですが、
どれにも今はついていなさそうです。
そこで・・・
生成されていたrootオブジェクトにRayfire Rigidというコンポーネントをつけます!
ちなみに、元となるオブジェクトのメッシュはFragmentを押した段階で非表示になっています。
最初から破壊するだけなら元のオブジェクトは不要になるのかな?
あとはInitializationをAt Start、Object TypeをMesh Rootにして再生してみます!
ちょっとPCの処理でカクつきますが(M1・・・)
綺麗に崩れてくれました!
崩れた後のバランス取れないやつが転がっていくのもリアルでいいですね!
ゲームではいきなり崩れてもなので、
何かをぶつけたら崩れて欲しいのでやってみます!
スフィアオブジェクトを用意して、
ぶつける側にもRayfire Rigidをつけます。
InitializationはAt Start、Simulation TypeをKinematicにします。
壁の方はSimulation TypeをSleepingにして、当たるまでそのままをキープしてもらいます!
球が当たったら崩れました!
これを踏まえてなんかのモデルを壊してみますか・・・
同様にセッティングして岩がぶつかった瞬間!
城が崩れ落ちました!
こんな風に、自分でやるとおそらくかなり手間がかかる実装が比較的簡単に出来ちゃいました!
あとはデモシーンでもスライスする効果とかもありましたね。
こんな感じで切った通りに断面ができて切れるという・・・
メタルギアライジングが出た時のインパクトあります。
まとめ
いかがでしたでしょうか?
気になった方は是非アセットストアでチェックしてみてください!
こちら↓
ややお高めですが、評価が高くこのような破壊を表現するツールでは有名でよく使われているアセットです。
基本的にインスペクターで設定していくので、難しいコードを打ったりとかはなさそうです。
エフェクトだけで表現していた部分とかを、思いっきりオブジェクトにぶっ壊れてもらって
爽快感を出したりしてもいいですね!笑
今回はこんな感じで!
それでは💤