トマシープが学ぶ

Unity/VR/AR/デザイン好きのミーハー 記事内容は自分用のメモです

リッチな破壊系アセット「RayFire for Unity」で爆発させたり、VRで竹を刀で切る

この記事は「Unity #3 Advent Calendar 2020」13日目の記事です

qiita.com

有料の破壊アセットを使ってみました。

できたもの


Rayfire for Unityで竹を切る動画 with骨喰藤四郎【VR】

環境:Unity2019.4.14+Windows

RayFire for Unity

破壊したり、刀で切ったりできる170ドルのアセットを買ったよ!

元が170ドルで独身セールの70%割引のときに56ドルで買った。

 

破壊系アセットといえば、Exploderというのをずっと買うか迷ってたけど、確かUnity2018でエラーが出るというレビューがあって買わなかった気がする。

(今レビュー見たらUnity2020で動いたって書いてあった)

今回も買うか悩んだけど、PVで塔をスライスしているのを見て、骨喰藤四郎(刀)で切りたいな〜と思って買った。

f:id:bibinbaleo:20201212162834p:plain

RayFire for Unity Promo - YouTube

 3dsMax版は映画でも使われているって!

ここで使用実績見れる

Projects | RayFire Studios

 

VRでも動くみたい!楽しそう

資料

 

Youtubeに各種コンポーネントの使い方があるので、これを見たら良さそう

www.youtube.com

アセットの中にwordのドキュメントはあった

f:id:bibinbaleo:20201206180130p:plain

高額なせいか、実際に触って記事にしている人あんまりいなさそう・・・?

www.asset-sale.net

私はドキュメント見ずに、サンプルシーンをいじる形で触りました。

サンプルシーン

ここにある。

f:id:bibinbaleo:20201206170242p:plain

1.Shatter

オブジェクトについているRayfireShatter.csFragmentボタンを押したら、オブジェクトにひびが入る。

ボロノイはこんな感じ

f:id:bibinbaleo:20201206170239p:plain

Splintersは縦長、横長にひび割れる

f:id:bibinbaleo:20201206170235p:plain

2.Rigid

上から岩が落ちてきて、机が割れるけど、設定によって割れ方が違う

f:id:bibinbaleo:20201206172830p:plain

設定で変えられるみたい

f:id:bibinbaleo:20201206170232p:plain

大体あらかじめ割れている

f:id:bibinbaleo:20201206172826p:plain

3.Debris(残骸)

上から落ちてくる岩が割れる

f:id:bibinbaleo:20201206173230p:plain

破片が消えていったから、そこら辺の処理かな?

4.Dust

落ちてきた後ほこりがでる

f:id:bibinbaleo:20201206170704p:plain

岩にRayfireDustがついている

f:id:bibinbaleo:20201206172833p:plain

5.Slice

スライスでオブジェクトを切れるよ!

f:id:bibinbaleo:20201206174026p:plain

楽しい!!

f:id:bibinbaleo:20201206174022p:plain

刃代わりのQuadにはRayfireBlade.csがついている

f:id:bibinbaleo:20201206174019p:plain

切られるほうはRayfireRifid

f:id:bibinbaleo:20201206174015p:plain

 切られるほうは分割などの事前準備不要。どの角度でも自由に切れる!!

6 Connectivity

柱を壊せた。1本壊しただけじゃ崩れない。

f:id:bibinbaleo:20201206175107p:plain

柱を全部壊すと崩れる!構造を考慮しているのかな??

f:id:bibinbaleo:20201206175110p:plain

別のシーンにはActivatorという謎の物体があった。このシーンはなんだ

f:id:bibinbaleo:20201206175102p:plain

7 Restriction

坂を岩が転がっていった

f:id:bibinbaleo:20201206175616p:plain

よく分からない

f:id:bibinbaleo:20201206175617p:plain

↓自分のモデルで遊んでいく!

自分のモデルを破壊する

Shatterのサンプルシーン上に自分のモデルを入れてヒビを入れてみる

f:id:bibinbaleo:20201211223046p:plain

モデルのMeshがある部分にRayfireShatterを付ける

f:id:bibinbaleo:20201211223416p:plain

設定がよくわからなかったので、他のサンプルオブジェクトに付いているコンポーネントをコピーして貼り付けた。

このままInspectorのFragmentボタンを押したら、Meshが読み込めないといわれた。

f:id:bibinbaleo:20201211223050p:plain

objファイルなどのModel>Read/Write Enabledにチェックを入れる

f:id:bibinbaleo:20201211223520p:plain

その後Fragmentを押すと・・・おおー!!

f:id:bibinbaleo:20201211223526p:plain

サイコロステーキ先輩!!

というかちゃんとテクスチャも分かれるんだ!すごい!!

こんな感じでMeshと同じ階層に分割されたものが生成される

f:id:bibinbaleo:20201211224308p:plain

もとのメッシュは非表示になってる。

f:id:bibinbaleo:20201211224909p:plain

なぜか元のモデルより一回り大きくなった

f:id:bibinbaleo:20201211224305p:plain

Fragmentのタイプを変えたら分割のされ方が変わる。

f:id:bibinbaleo:20201211224416p:plain

右はボロノイ

f:id:bibinbaleo:20201211224915p:plain

Fragmentを押した後はScalePreviewを変更できる。これで分割されたもの同士の開き具合が調整できる。0にしたらぴったりくっつく。

f:id:bibinbaleo:20201211224913p:plain

落として破壊

Debris. Typesのサンプルシーンで動かしてみる

石が落ちてきて、石が粉々になる

f:id:bibinbaleo:20201211232336p:plain

破壊する側も、受ける側もRayfireRigidを付けている。

f:id:bibinbaleo:20201211232608p:plain

SimulationTypeがDynamicが破損側で、Kinematicが受けかな?

f:id:bibinbaleo:20201211232244p:plain

岩にはRayfireDebrisもついていた。

f:id:bibinbaleo:20201212170331p:plain

これは追加の破片をパーティクルで生成するやつ。

f:id:bibinbaleo:20201212170540p:plain

このパーティクルは時間経過で消える。

 

相変わらずそのまま貼り付けても破損しなかったので、サンプルの岩に付いているRayfireRigidのValueをPaseteした。

するとちゃんと破損した!!

f:id:bibinbaleo:20201211233217p:plain

刀で切る

Bladeのサンプルシーンの刀を骨喰藤四郎にする。

昔買ったこちらの刀剣アセットを使う。

bibinbaleo.hatenablog.com

かっこいい・・・

f:id:bibinbaleo:20201212164256p:plain

刀のメッシュにRayfireBladeを付ける・・・が

f:id:bibinbaleo:20201212164252p:plain

これで実行したが、切れなかった;;

しょうがないので既ににシーンにあるQuadを刀の子オブジェクトにして、メッシュを非表示にした

f:id:bibinbaleo:20201212165310p:plain

f:id:bibinbaleo:20201212204754p:plain

これで実行すると・・・

f:id:bibinbaleo:20201212165420g:plain

おおーできた!

 

ちなみに切られる側にはRayfireRigidを付ければいい。(設定はCubeからコピペ)

f:id:bibinbaleo:20201212165619p:plain

ただ、自分のトマシープモデルに付けたら爆発した

f:id:bibinbaleo:20201212170019g:plain

VRで見る

とりあえずVRで見る!

VirtualRealitySupprtedにチェックを入れる

f:id:bibinbaleo:20201212175227p:plain

もしくはUnity2019.4ではXRPluginManagemmentを使うのが王道なのかもしれない。

f:id:bibinbaleo:20201212200952p:plain

ProjectSettingsのXRPluginManagemmentをチェックする

f:id:bibinbaleo:20201212201006p:plain

あとで使うので、XRInteractionToolkitも入れた

f:id:bibinbaleo:20201212200959p:plain

 

これでOculusLinkつないでプレイ!おおー

f:id:bibinbaleo:20201212175334p:plain

普通に動いた!

VRで竹を切る

さっきの刀のシーンをVRで動かすよ!

XRRigを生成して、RightHandControllerの子に刀を付ける。

f:id:bibinbaleo:20201212201311p:plain

---
でもなぜか手が動かない>< 昔やった時とXRControllerの設定も違う・・・

bibinbaleo.hatenablog.com

RightHand Controllerに付いているスクリプトがXRController(Action-based)になってる。

f:id:bibinbaleo:20201212175534p:plain

これをXRController(Device-based)に変更したら動いた!

f:id:bibinbaleo:20201212203202p:plain

---

やったー!

f:id:bibinbaleo:20201212203157g:plain

なぜか切った直後に竹が増えているが気にしない!

f:id:bibinbaleo:20201212203921p:plain

PC用exeを配布しています

github.com

おまけ)竹のテクスチャ付き

ご自由にどうぞ

f:id:bibinbaleo:20201212203322p:plain

昔自分で撮った竹の写真からスクショしただけのもの

f:id:bibinbaleo:20201212203646p:plain

Tilingを増やすといい感じになります。

f:id:bibinbaleo:20201212203333p:plain

f:id:bibinbaleo:20201212203832p:plain

 

最後に

リッチな割に意外と簡単に使えました。

といってもサンプルシーンで動かしただけだし、細かいパラメーターは理解していませんが・・・

いろいろ機能がありそうだし遊び方もいろいろあるので、もっと記事が増えるといいですね~断面の色を変えたり、破壊した状態を書き出したりできるっぽい。

 

そういえば途中でこのプロジェクトを開くとUnityがクラッシュするようになってしまいました;;結局別のPCでやり直しました。

なんだったんだろう~。このアセットしか入れてなかったのに。