アルゴンUE4/UE5&アプリ開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE4】4.23のプレビューでChaosを使ってみた(=゚ω゚)

Chaosを使ってみます。

今回はUE4のVer4.23からPreviewとして開始するChaosと呼ばれる、

新しい物理システムになります。

※どうやって設定してどのように動かすのかの一連の流れのみ説明してます。

 (備忘録みたいな感じです・・・・・)

UE4.23 Preview5を使ってみています。

※Windows10で試してください!!

(Windows7だとGeometoryColection生成時にクラッシュしました・・・)

参考にしたのは下記の公演になります(・∀・)

www.youtube.com

Chaosの細かい説明について

ここではChaosで何ができるのかや、

どういったものが対象で破砕できるか等紹介していきます。

※間違っていたらコメントいただけると幸いです・・・。

どういった事ができるのか?

スタティックメッシュに対してどのように破壊されるかを、

ジオメトリコレクションで設定して、

どのように破砕されるかの設定などが行なえます。

また、エフェクトや音と組み合わせて使用できます。

niagaraやマテリアルとしての対応などもあるようです。

どのようなものを使用して動作するのか?

Chaosを使って破砕表現を行う場合は、

どのような破砕表現にするかを設定するGeometlyColectionと、

デバックやフロア設定・当たり判定などの設定を行うChaosSolverを使用します。

それ以外にもChaosでniagaraを使用する場合の、

ChaosNiagaraなどのプラグインも使用します。

他にもどのような流れで破砕を促すのかを設定する、

ChaosFieldなど多岐に渡り設定が行なえます。

※プレビューではC++プロジェクトかつエンジンビルドする必要があります。

※もっと細かい説明はGDC2019に紹介されています。

www.youtube.com

エンジンビルドを行う

下記のリンクの場所からエンジンのデータをダウンロードします。

※プレビュー5のタグになっています。

https://github.com/EpicGames/UnrealEngine/tree/4.23.0-preview-5

Zipファイルを解凍します。

解凍が終わったら下記の画像の順番でbatファイルを起動します。

f:id:yoshikata1990:20190822211607p:plain

batファイルの起動

バッチファイルを動かすとUE4.slnが出来上がるため、

VisualStudioで起動します。

起動したら検索で「bCompileChaos」で検索すると二か所出てくるので、

TargetRulesのほうにある「bCompileChaos = true;」にします。

f:id:yoshikata1990:20190822211956p:plain

プロジェクト設定

上記の設定が終わったら、UE4Editorをビルドします。

ビルドが完了すると「Engine/Binaries/Win64」の中にUE4Editor.exeが出来ます。

これがChaosを使用するようにビルドしたEditorになります。

f:id:yoshikata1990:20190822213621p:plain

Chaos用のエディタの場所

UE4Editorを起動したら、C++のプロジェクトを追加します。

今回はFPSのテンプレートを使用して試してみます。

f:id:yoshikata1990:20190822215111p:plain

Chaosを試すプロジェクトを作成する。

プロジェクトを作成したらビルドしてデバッグして動作するか確認します。

デバッグで動作することを確認したら、

ドキュメントフォルダのuprojectから起動します。

これ以降はプロジェクトでChaosを使用する方法の説明になります。

実際にChaosを使ってみる。

ここからは実際にプロジェクトを設定して、Chaosの破砕を行っていきます。

プロジェクトのプラグイン設定で必要なプラグインを追加します。

まずChaosを使用するためにはChaosSolverとChaosEditorを追加します。

f:id:yoshikata1990:20190825164046p:plain

プラグインの追加(その1)

続いてGeometoryとPlanarCatプラグインを追加します。

f:id:yoshikata1990:20190825164156p:plain

Geometoryプラグイン

f:id:yoshikata1990:20190825164414p:plain

PlanarCatプラグイン

プラグインの追加の準備はこれで完了です。

ここから、GeometoryCollection(破砕させる物)の設定を行っていきます。

手順は下記の通りです。

1.モードタブ一番右のタブ(FractureEditor)を選択する。

2.破砕対象にしたいスタティックメッシュを選択する。

3.FractureEditorのSelect項目一番右のボタンを選択する。

f:id:yoshikata1990:20190825165857p:plain

GeometoryCollectionの追加手順

手順3のアイコンボタンを押すと下の画像のように、

どこにGeometoryCollectionファイルを保存するかのダイアログが表示されます。

f:id:yoshikata1990:20190825170129p:plain

GeometoryCollectionの保存

保存したい場所を選択してCreate Geometory Collectionを選択すると作成されます。

作成が完了すると下の画像のように、破砕する形を表示している枠線が出ます。

f:id:yoshikata1990:20190825171235p:plain

破砕する予定の線

注意点として、まだ破砕される準備が整っていません。

この状態から、モードタブのFractureEditorでどのように粉々にするか設定します。

今回は一旦この状態で分解されるようにします。

モードタブのFractureEditorのFracture項目の一番下のFractureボタンを押します。

f:id:yoshikata1990:20190825172258p:plain

Fractureボタンの場所

ボタンを押すと破片の部分がそれぞれ色がついて、

どのような破片になるのかわかるようになります。

f:id:yoshikata1990:20190825174237p:plain

Fracture後のメッシュ

ここまででGeometoryCollectionの設定は完了ですが、

GeometoryCollectonの物理設定の管理をするChaosSolverの設定を行います。

コンテンツブラウザを右クリックして、フィジックスのChaos Solverを選択します。

f:id:yoshikata1990:20190825174824p:plain

ChaosSolverファイルの追加

追加したらレベル上に配置します。

ChaosSolverでは地面の高さの位置や破砕のシミュレーションの一時停止

当たり判定のフィルターなど設定できます。

Floorを設定して指定した高さをすり抜けないように設定します。

f:id:yoshikata1990:20190825181726p:plain

ChaosSolverの地面あたり判定設定

ここまで完了したら実際に動作させてみましょう。

先ほど作成したブロックをコピーして、コピーしたものを置いてぶつけてみます。

どちらのブロックも指定されたパーツに合わせて砕けます。

実際に動かすとこんな感じです。

GeometoryColectionとChaosSolveの簡単な使い方は以上になります。

 

【UE4】デカールの使い方と設定の紹介!

デカールを使ってみる(*´∀`*)

今回はデカールを使って壁の凹凸を表現したりしてみようと思います。

結構いろいろなデカールの動画が出ているので参考にするのがいいと思います!

UE4.23 Preview2を使ってみています。

デカールとはなにか?

デカールとはスタティックメッシュやスケルタルメッシュに対して、

投影するためのマテリアルになります。

※投影されるように配置しないと見えない状態になります。

f:id:yoshikata1990:20190714124855p:plain

デカールが適応されるスタティックメッシュとスケルタルメッシュ

アニメーションやブレンド・投影する対象を変更したりと、

設定があり自分のゲームに合う世界観を作るのにも重宝するかなと思ってます。

まずは簡単なデカールを作ってみよう!

デカールを作成するにはディファードデカールと、

投影する用のマテリアルが必要です。

まずはディファードデカールをレベル内に配置します。

f:id:yoshikata1990:20190720082247p:plain

モードでのディファードデカール

続いてマテリアルを作成します。

コンテンツブラウザを右クリックしてマテリアルを追加します。

f:id:yoshikata1990:20190720083257p:plain

マテリアルの追加

マテリアルの追加が完了したらマテリアルの設定を行います。

詳細タブのMaterial項目のMaterial DomainをDeferred Decalに変更します。

f:id:yoshikata1990:20190720083818p:plain

デカールドメインを変更

この状態だとマテリアルのコンパイルエラーになってしまうため、

Material Domainの一つ下にあるBlend Modeを変更します。

今回はTranslucentを使用しています。

f:id:yoshikata1990:20190720084513p:plain

ブレンドモードの選択

Blendモードの下にあるDecal Blend Modeは11種類あるそうです。

その時の用途に応じてブレンドモードを選択するのが良いです。

api.unrealengine.com

Translucentではディフューズやノーマル(凹凸の表現)・オパシティ(明るさ)などを調整で来ます。

まずは簡単にTextureSampleをベースカラーに設定してメタリックを1にした、

デカールを作ってみました。

f:id:yoshikata1990:20190720085857p:plain

マテリアルの作成が完了したらディファードデカールにマテリアルを

設定して表示するようにします。

レベルに配置してあるデカールのアクターを選択して、

詳細のDecal項目のDecal Materialを今回追加したマテリアルに設定します。

f:id:yoshikata1990:20190720091027p:plain

ディファードデカールのマテリアル設定

実際に配置すると下の絵のような形になります。

f:id:yoshikata1990:20190720091428p:plain

デカールアクターの設定

これでデカールの作成と配置までの一連の流れの説明は終了になります。

デカールの設定を変更してみよう!

デカールにはいくつかの設定があるので、

そちらを紹介していこうと思います。

f:id:yoshikata1990:20190720154048p:plain

デカールの設定

Sort Order→デカールの表示順になります。重ねた場合の表示順です。

Fade Screen Size→デカールの表示距離です(高いほど近くないと表示されない。)

Fade StartDelay→フェードを開始するまでの間隔です。

Fade Duration→フェードの時間です。

Fade In Duration→フェードインの時間です。

Fade In Start Delay→フェードインを開始するまでの間隔です。

Destroy Owner After Fade→フェード後にデカールを削除するかどうかです。

デカールが投影される対象の設定

デカールの投影範囲にキャラクターが入ると、

デカールの表示がキャラクターに反映されてしまいます。

f:id:yoshikata1990:20190720163715p:plain

投影された状態

このような状態にならないようにするために、

キャラクターなどのスケルタルメッシュやスタティックメッシュに、

ReceivesDecalのチェックをOFFにしてください。

f:id:yoshikata1990:20190720164233p:plain

メッシュのデカール設定

ReceiveDecalsをOFFにすると、デカールの投影が反映されなくなります。

f:id:yoshikata1990:20190720165146p:plain

デカールで変更できる設定については以上になります。

動きがあるデカールを作ってみよう!

最後に動きのあるマテリアルを作ってみます。

よくレースゲームで進む方向を表示するようなものがあると思いますが、

今回はそんな感じを作成します。

f:id:yoshikata1990:20190720191511p:plain

動くマテリアルの作り方

上記で作成したマテリアルデカールを実際に動かすと、

下のようにデカールが表示されます。

f:id:yoshikata1990:20190720191856p:plain

実際に動いているのは下のTwitterのような感じになっています。

今回は以上になります!

デカールの使い方ももう少し研究してみようと思います。