概要
ようこそ!このページでは、Instant Destruction の基本的な概要を解説します。
Instant Destructionとは?
Instant Destructionは、Unityのプロジェクトに「直感的で簡単な破壊システム」を追加するアセットです。複雑なスクリプトを書かなくても、オブジェクトにコンポーネントを追加するだけで、破壊表現を実現できます。

主な特徴
ダイナミックなゲームフィール
- 衝撃を受けた位置からダイナミックに破片が飛び散ります。印象的なヒットフラッシュ(わずかな遅延付き)と、衝撃の力に応じた方向への飛散により、非常に気持ちの良い破壊体験と視覚的な満足感を提供します。
処理負荷ゼロのパフォーマンス
- Compute ShaderとShader Graphを活用して重い計算をGPUにオフロード。オブジェクトが破壊される瞬間の急激なラグ(スパイク)を防ぎ、メインスレッドへの負荷を排除することで、スムーズなフレームレートを維持します。
アタッチするだけの手軽さ
- 複雑なメッシュ解析、メモリ管理、シェーダーの連携といった面倒な処理はすべて内部で完結しています。最小限のプロパティ設定で最大のビジュアル効果を得られ、マップの仕掛けに便利な自動リセット機能も標準搭載しています。
動作の仕組み
本アセットは以下のステップで動作します:
- メッシュ解析とメモリ確保: メッシュの構造を解析して破片データを生成し、GPUへ一括転送するためのCompute Bufferを確保・割り当てます。
- ウォームアップ: シーン開始時の数秒間、バックグラウンドでウォームアップ処理を実行し、実際の着弾時に非同期シェーダーコンパイルによるスタッター(カクつき)が発生するのを未然に防ぎます。
- 着弾検知とパラメータ書き込み: レイキャストや物理衝突イベントによって着弾点を検出します。
- 飛び散り方向の計算: 着弾点を中心とした初期の拡散方向ベクトルやランダムな回転・加速度パラメータを、GPU上で全破片分まとめて超高速に一括計算します。
- 頂点変形と視覚効果のアニメーション: Compute Shader が出力したバッファデータを読み込み、Vertex処理で破片の飛散軌道をアニメーションさせつつ、Fragment処理でヒットフラッシュを描画します。
- インパクト演出: 着弾点を中心としてパーティクルを生成します。
サポート環境
- Unityバージョン: Unity 6.3 以降
- レンダリングパイプライン: URP (Universal Render Pipeline) 専用
次のステップ
- アセットの導入手順については、インストールガイド をご覧ください。
- 基本的なパラメータの設定方法は、パラメータと詳細設定 を参照してください。
