Chaosを使ってみます。
今回はUE4のVer4.23からPreviewとして開始するChaosと呼ばれる、
新しい物理システムになります。
※どうやって設定してどのように動かすのかの一連の流れのみ説明してます。
(備忘録みたいな感じです・・・・・)
※UE4.23 Preview5を使ってみています。
※Windows10で試してください!!
(Windows7だとGeometoryColection生成時にクラッシュしました・・・)
参考にしたのは下記の公演になります(・∀・)
Chaosの細かい説明について
ここではChaosで何ができるのかや、
どういったものが対象で破砕できるか等紹介していきます。
※間違っていたらコメントいただけると幸いです・・・。
どういった事ができるのか?
スタティックメッシュに対してどのように破壊されるかを、
ジオメトリコレクションで設定して、
どのように破砕されるかの設定などが行なえます。
また、エフェクトや音と組み合わせて使用できます。
niagaraやマテリアルとしての対応などもあるようです。
どのようなものを使用して動作するのか?
Chaosを使って破砕表現を行う場合は、
どのような破砕表現にするかを設定するGeometlyColectionと、
デバックやフロア設定・当たり判定などの設定を行うChaosSolverを使用します。
それ以外にもChaosでniagaraを使用する場合の、
ChaosNiagaraなどのプラグインも使用します。
他にもどのような流れで破砕を促すのかを設定する、
ChaosFieldなど多岐に渡り設定が行なえます。
※プレビューではC++プロジェクトかつエンジンビルドする必要があります。
※もっと細かい説明はGDC2019に紹介されています。
エンジンビルドを行う
下記のリンクの場所からエンジンのデータをダウンロードします。
※プレビュー5のタグになっています。
https://github.com/EpicGames/UnrealEngine/tree/4.23.0-preview-5
Zipファイルを解凍します。
解凍が終わったら下記の画像の順番でbatファイルを起動します。
バッチファイルを動かすとUE4.slnが出来上がるため、
VisualStudioで起動します。
起動したら検索で「bCompileChaos」で検索すると二か所出てくるので、
TargetRulesのほうにある「bCompileChaos = true;」にします。
上記の設定が終わったら、UE4Editorをビルドします。
ビルドが完了すると「Engine/Binaries/Win64」の中にUE4Editor.exeが出来ます。
これがChaosを使用するようにビルドしたEditorになります。
UE4Editorを起動したら、C++のプロジェクトを追加します。
今回はFPSのテンプレートを使用して試してみます。
プロジェクトを作成したらビルドしてデバッグして動作するか確認します。
デバッグで動作することを確認したら、
ドキュメントフォルダのuprojectから起動します。
これ以降はプロジェクトでChaosを使用する方法の説明になります。
実際にChaosを使ってみる。
ここからは実際にプロジェクトを設定して、Chaosの破砕を行っていきます。
プロジェクトのプラグイン設定で必要なプラグインを追加します。
まずChaosを使用するためにはChaosSolverとChaosEditorを追加します。
続いてGeometoryとPlanarCatプラグインを追加します。
プラグインの追加の準備はこれで完了です。
ここから、GeometoryCollection(破砕させる物)の設定を行っていきます。
手順は下記の通りです。
1.モードタブ一番右のタブ(FractureEditor)を選択する。
2.破砕対象にしたいスタティックメッシュを選択する。
3.FractureEditorのSelect項目一番右のボタンを選択する。
手順3のアイコンボタンを押すと下の画像のように、
どこにGeometoryCollectionファイルを保存するかのダイアログが表示されます。
保存したい場所を選択してCreate Geometory Collectionを選択すると作成されます。
作成が完了すると下の画像のように、破砕する形を表示している枠線が出ます。
注意点として、まだ破砕される準備が整っていません。
この状態から、モードタブのFractureEditorでどのように粉々にするか設定します。
今回は一旦この状態で分解されるようにします。
モードタブのFractureEditorのFracture項目の一番下のFractureボタンを押します。
ボタンを押すと破片の部分がそれぞれ色がついて、
どのような破片になるのかわかるようになります。
ここまででGeometoryCollectionの設定は完了ですが、
GeometoryCollectonの物理設定の管理をするChaosSolverの設定を行います。
コンテンツブラウザを右クリックして、フィジックスのChaos Solverを選択します。
追加したらレベル上に配置します。
ChaosSolverでは地面の高さの位置や破砕のシミュレーションの一時停止
当たり判定のフィルターなど設定できます。
Floorを設定して指定した高さをすり抜けないように設定します。
ここまで完了したら実際に動作させてみましょう。
先ほど作成したブロックをコピーして、コピーしたものを置いてぶつけてみます。
どちらのブロックも指定されたパーツに合わせて砕けます。
実際に動かすとこんな感じです。
UE4のChaosを動かしてみた(=゚ω゚)ノ
— よっしーかた@dev (@yoshikata_game) August 25, 2019
Fieldシステムとかほかの設定を変えればいろいろできると思いたい! #Chaos pic.twitter.com/ALlUbI0Wdi
GeometoryColectionとChaosSolveの簡単な使い方は以上になります。