同様の情報は、Developer Community サイトから映像形式で視聴できます。Chaos Destruction Overview のチュートリアルをご覧ください。
1 - 必要な設定
新規プロジェクトを作成して [Games (ゲーム)] カテゴリを選択し、「First Person」テンプレートを選択します。プロジェクトの名前を入力して [Create (作成)] をクリックします。
クリックしてフルサイズで表示
エディタで、[File (ファイル)] > [New Level (新規レベル)] の順にクリックします。「Basic」テンプレートを選択して [Create] をクリックします。レベルを保存します。
このセクションの結果
このセクションでは、新しいプロジェクトを作成してセットアップしました。ここに、このガイドの次のセクションで破砕するスタティックメッシュを追加することができます。
2 - ジオメトリ コレクションを作成する
Chaos システム内の破壊は、「ジオメトリ コレクション」と呼ばれる新しい種類のアセットから始まります。これらのアセットは、1 つ以上のスタティックメッシュから構築できます。これには、ブループリントまたはネスティングされたブループリントにまとめられたものも含まれます。
ジオメトリ コレクションが完成したら、フラクチャ モード を使用して破砕することができます。また、破砕する際の設定を定義することができます。
このセクションでは、スタティックメッシュ アクタからジオメトリ コレクションを作成します。
破砕メッシュの作成に使用するレベルにスタティックメッシュを追加します。この例では、Unreal Engine マーケットプレイスで公開されている Content Examples プロジェクトに含まれる Chaos Primitive Box を使用します。
クリックしてフルサイズで表示
[Mode (モード)] ドロップダウンをクリックし、[Fracture (破砕)] を選択します。
メッシュを破砕するためのツールがすべて含まれている [Fracture Mode (フラクチャ モード)] ウィンドウが開きます。または、Shift キーを押しながら 6 キー を押してフラクチャ モードに切り替えることもできます。
クリックしてフルサイズで表示
[Generate (生成)] セクションに移動して [New (新規)] をクリックし、新しい ジオメトリ コレクション を作成します。この新しいアセット タイプは コンテンツ ブラウザ 内に保存され、破砕メッシュの作成に使用されます。
ジオメトリ コレクションを保存する ディレクトリの場所 を選択します。
ジオメトリ コレクション アセットの名前を入力します。
[Create Geometry Collection (ジオメトリ コレクションを作成)] をクリックします。
コンテンツ ブラウザ で [Save All (すべて保存)] をクリックし、新しいジオメトリ コレクション アセットを保存します。
スタティックメッシュが、レベル内のジオメトリ コレクションに置き換わります。[Fracture Hierarchy (フラクチャ階層)] ウィンドウで、ジオメトリ コレクションの階層にノードが 1 つあることを確認します。
これは、ジオメトリ コレクションが 1 つの構成要素 (単一ノード) のみで構成されていることを意味します。ジオメトリ コレクションを破砕すると、破砕された構成要素はそれぞれ、階層内の個別の葉 (子) ノードとして表されます。この階層は、1 つのソリッドな構成要素から、ひずみが適用されると分解される可能性のある個別の破片まで、オブジェクト全体が破砕される方法を表しています。
クリックしてフルサイズで表示
このセクションの結果
このセクションでは、スタティックメッシュ アクタからジオメトリ コレクションを作成する方法について学習しました。また、エディタでフラクチャ モードを有効にして、ジオメトリ コレクションのフラクチャ階層を表示する方法も学びました。
次のセクションでは、ジオメトリ コレクションを破砕する方法を学習します。
3 - ジオメトリ コレクションを破砕する
利用可能なフラクチャ メソッドには、いくつかのタイプがあります。異なるテクニックを組み合わせると、より興味深い破壊の様子を作成できる可能性があります。思い描いている結果を作り出すためには、さまざまなオプションや設定を試す必要があります。
このガイドでは、標準の 均一 Voronoi メソッドについて学習します。このメソッドは、サイトの最小数および最大数を定義し、破砕するためのセル ボリュームを作成します。
[Fracture] セクションに移動し、[Uniform (均一)] 破砕ボタンをクリックします。
表示されたままのデフォルト設定を使用し、[Fracture] をクリックします。
ジオメトリ コレクションが破砕され、新しく作成されたノード (破砕された構成要素) が [Fracture Hierarchy] ウィンドウに表示されます。この例では、20 個のノードが作成されました。
クリックしてフルサイズで表示
[Level Statistics (レベル統計)] ウィンドウに移動すると、現在のフラクチャ階層を確認することができます。この例では、Level 0 に 1 個、Level 1 に 20 個の構成要素があります。さらにジオメトリ コレクションの破砕を続けていくと、新しい構造がこのウィンドウに反映されます。
クリックしてフルサイズで表示
[Fracture] ウィンドウ内にある [Explode Amount (分解量)] フィールドの値を変更すると、ジオメトリ コレクションが破砕される方法をプレビューすることができます。
クリックしてフルサイズで表示
次の例では、フィールドの値を「0」から「1」に変更した結果を確認することができます。
ジオメトリ コレクション を選択し、グラウンドよりも上に移動させます。[Play Mode options (プレイ モード オプション)] ボタンをクリックし、[Simulate (シミュレート)] または [Selected Viewport (選択ビューポート)] を選択して結果を確認します。
次の図で、実行した手順の結果を確認します。
このセクションの結果
このセクションでは、フラクチャ モード で、標準の均一 Voronoi メソッドを使用してジオメトリ コレクションを破砕する方法を学習しました。
次のセクションでは、ジオメトリ コレクションを撃って破壊する方法を学習します。
4 - ジオメトリ コレクションを撃って破壊する
このセクションでは、テンプレートの First Person Rifle ブループリントを使用して、作成したジオメトリ コレクションを撃って破壊します。
ジオメトリ コレクションの破砕された構成要素は、(破砕された構成要素が別の構成要素とどのように接続されているかを示す) 接続グラフ に十分なひずみを加えるとバラバラに壊れます。
ジオメトリ コレクションにひずみを適用する最も一般的な方法は、物理フィールド を使用することです。この例では、デフォルトで Unreal Engine に搭載されている構築済みの Master フィールド を使用します。このフィールドを発射体が衝突する位置でスポーンさせると、このフィールドでジオメトリ コレクションの構成要素がバラバラになります。
コンテンツ ブラウザ で、「FirstPerson」>「Blueprints」 の順に移動し、BP_Rifle をレベルにドラッグします。ゲームプレイ中に、マウスの左ボタンを使用してライフルを持ち、撃つことができます。
クリックしてフルサイズで表示
同じフォルダ内にある BP_FirstPersonProjectile をダブルクリックして開きます。イベント グラフ で、Event Hit 以外のノードをすべて選択して削除します。
クリックしてフルサイズで表示
Event Hit ノードからドラッグして Spawn Actor from Class を検索し、選択します。
Spawn Actor ノードの Class ドロップダウンをクリックし、FS_MasterField を検索して選択します。
Spawn Actor ノードの Spawn Transform ピンからドラッグし、Make Transform を選択します。
Event Hit ノードの Hit Location ピンを Make Transform ノードの Location ピンに接続します。
Spawn Actor ノードの Return Value ピンからドラッグし、Set Activation Type を検索して選択します。
Spawn Actor ノードを Activation Type ノードに接続します。
Activation Type ドロップダウンをクリックして Trigger を選択します。これにより、Master フィールドがトリガーされるとアクティブになります。
Spawn Actor ノードの Return Value ピンからドラッグし、CE Trigger を検索して選択します。
Activation Type ノードを CE Trigger ノードに接続します。CE Trigger ノードは、すぐに Master フィールドをアクティブにします。
クリックしてフルサイズで表示
CE Trigger ノードからドラッグし、Delay を検索して選択します。
Delay ノードからドラッグし、Destroy Actor を検索して選択します。これにより、衝突してわずかな遅延の後、発射体は破壊されます。
完成したブループリント スクリプトは次のようになります。
クリックしてフルサイズで表示
[Fracture Mode] に戻り、ジオメトリ コレクションを選択します。Shift キーを押しながら B ボタン を押してジオメトリ コレクションのボーン カラーを切り替えると、ボックス マテリアルを確認することができます。
[Play (プレイ)] をクリックしてライフルまで移動し、構えます。マウスの左ボタンを使用してジオメトリ コレクションに発射体を撃ち、破壊します。
このセクションの結果
このセクションでは、ジオメトリ コレクションにひずみを適用する物理フィールドをスポーンして、破砕を起こす方法を学びました。
5 - 応用編
ジオメトリ コレクションを作成して破砕する方法を習得できました。これから学習したことを活用し、より複雑な例に適用することができます。
次のような例があります。
いくつかのスタティックメッシュを使用し、より複雑なジオメトリ コレクションを作成する。
さらに多くの破砕レベルを作成し、異なるフラクチャ メソッドを使用してより興味深い破壊パターンを作成する。
いくつかのジオメトリ コレクションを組み合わせてより複雑な構造体を構築し、それらを撃って破壊する。
次のステップ
フラクチャ モードと破壊システムの詳細については、主要な概念のドキュメントを参照するか、Developer Community サイトで Chaos Destruction (ケイオス破壊) のビデオ チュートリアル を視聴してください。