Tumblrメッシュを爆発させるアセットで有名なExploderを買ってしまいました。Bundle祭りで、お財布のヒモが緩んだ隙の出来事でした。VRイライラ棒の記事を次回から・・・と言っておきながらまさかのアセットネタです。書きたかったんだもん。紹介するのが、Bundleの中身じゃないという。結論Exploderとはassetstore.unity.comexplodeとは爆発させるという意味でして。その名の通り、メッシュを爆発させてくれるアセット(35ドル)になります。いろんなものを爆発させたくなります。使い方まず、Exploderを購入&ダウンロード&インポートします。消費税はキッチリ10%取られました。9月のうちに買っておくんだった・・・。次に、ヒエラルキー上にExploderのPrefabを配置します。Assets>Exploder>Prefabsに入っています。破壊したいオブジェクト(青)と破壊したくないオブジェクト(赤)を並べます。スフィアと衝突したら破壊する仕組みです。破壊したオブジェクトには「Exploder」タグをセットします。これはアセットをインポートすると自動で追加されます。こんなコードを書いて、スフィアにアタッチします。Vector3.zero;}これで動かした結果がこちら。1回目の爆発は余韻が、破片の飛び散りがあっという間に終わってしまい2回目の爆発はぶつかってからのタイムラグがありすぎる。ナニコレ珍百景、アゲイン。原因を探ってみるOnCollisionEnterで出力しているデバッグログを見てみると、こんな感じになっていました。なにこのfragment_xxってヤツら。配置してないんだけど!?ナニコレ珍百景、リターンズ。Exploderが破壊したメッシュたちの破片にぶつかっていてそいつらをも破壊しようとしているんだと思われます。設定値を確認してみるそれって、まず最初にやることなんじゃないの・・・?まずは爆発関連から。Radius・・・爆発判定の半径。後ほど記述しますが、オブジェクトを爆発させることの他に、自身を爆破して周囲を巻き込むことができます。その巻き込む半径になります。Fragments・・・爆発させた後の破片の数。Tag・・・爆破したいオブジェクトの判定に、タグを使いたくないときにONにします。その場合、爆破したいオブジェクトにはExplodableスクリプトをアタッチする必要があります。Self・・・爆破させた後、自身を非アクティブにします。Self・・・爆破させた後、自身を非表示にします。Object・・・爆破したオブジェクトをdeleteします。オフの場合は、非アクティブになります。Distribution・・・デフォルトでは、Exploderの中心から近い位置にあるオブジェクトは、多くの破片になります。遠いオブジェクトは、少ない破片になります。このオプションをオンにすると、オブジェクトの中心からの距離に関係なく、オブジェクトごとに均等にフラグメントの数が作成されます。Islands・・・同じメッシュの非接続部分を分離して破片にします。Physics・・・2Dに適応する際、ONにします。Radius・・・爆破範囲をスフィアではなく、キューブに設定します。Angle・・・破片の形状を選択します。Size・・・破片オブジェクトはプールされているのですが、その上限数を設定します。TargetFragmentより大きくしないと、例外が発生します。Fragment・・・破片を爆破対象とするかどうか、です。これをオフっておけば、爆破した破片にあたって爆破して、さらにその破片を爆破して・・・っていう永久ループを免れます!!Layer・・・破片オブジェクトのレイヤーを設定します。Colliders・・・破片のコライダをメッシュコライダにします。重たいので、非推奨とのこと。Colliders・・・オンにすると、破片にコライダが適応されません。Velocity・・・破片の最大速度を設定します。Velocity・・・破片の最大角速度を設定します。Physics・・・親オブジェクトの物理プロパティを継承します。Mass・・・破片の重量を設定します。Gravity・・・オンにすると、重力がかかります。Velocity・・・破片オブジェクトの角速度を設定します。MaxAngularVecocityで設定した以上にはならないっぽい。Velocity・・・角速度をランダムにします。オフの場合、自身でセットした値にすべてのオブジェクトが回転します。Rotation・・・回転しない軸を設定します。Material・・・破片のマテリアルを設定します。設定しない場合は、爆破されたオブジェクトのマテリアルが適応されます。Deactivation・・・破片の無効化を設定します。Camera/Timeoutから選択します。Particles・・・破片にパーティクルを付けることができます。以上を踏まえてやりたいことを整理しましょう。スフィアに青いキューブがぶつかったら、その青キューブのみを爆破。スフィアに赤いキューブがぶつかったら、赤いキューブの半径2m範囲で爆破。破片は爆破対象ではない。したがって、スフィアがぶつかっても爆発しない。3秒後にフェードアウト。設定値はコチラ!コードは、OnCollisionEnterをこんな感じにしてみました。Vector3.zero;}直接オブジェクトを爆破したい時はExplodeObjectを、周囲を巻き込みたい時はExplodeRadiusを使います。巻き込まれて爆破したいオブジェクトには、タグにExploderを設定しておきましょう。SABERっぽい雰囲気を目指すんなら、やっぱりBloomさせなき...2019-10-04【Unity】【OculusQuest】イライラ棒を作るイライラ棒を作った時の苦労話をツラツラと書いていきたいと思...2019-07-24【Unity】複数の警告を無視するインスペクタからオブジェクト等をセットする際、public変数に...2019-07-23【Unity】ゴールしたアイテムの色を変える床に転がっている時、Cubeは緑色をしています。s44511173はてなブログをはじめよう!s44511173さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。