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

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

【UE4】NiagaraでTextureが使えるようになったよ\(^o^)/

UE4の最新版4.21が出てます!

Niagara(ナイアガラ)でTextureが使える!

UE4のバージョン4.21で、

SampleTextureとしてのSpawnの方法を紹介していきます。

※説明に間違いがあったら指摘お願いしますm(_ _)m

ここからはNiagaraのTextureの使い方などを紹介していきます。

UE4のバージョンは4.21を使用します。

Niagara(ナイアガラ)を使用できるようにする

少し前にNiagaraを試してみました。

Niagaraのプロジェクトの設定方法については、

下記の記事の冒頭にある、プラグイン設定を記載しています。

まずはそちらでNiagaraを使用できるようにしてください。

argonauts.hatenablog.jp

Niagara(ナイアガラ)でSampleTextureを使う

まずはEmitterを作成しないと始まらないので作成します。

4.21からテンプレートから選択できるようになっています。

DirectionalBurstから作成していきます。

f:id:yoshikata1990:20181124185855p:plain

NiagaraのEmitterファイルを作成したら、

Textureに合わせてパーティクルを配置できるようにGridLocationで設定します。

f:id:yoshikata1990:20181124203417p:plain

続いてParticleSpawnからSampleTextureを追加します。

f:id:yoshikata1990:20181124190749p:plain

SampleTextureを追加したら、UVのパラメータを設定します。

デフォルトからSplitVector2Dに変更します。

小さい三角を選択することでパラメータの設定を変更できます。

f:id:yoshikata1990:20181124191341p:plain

続いて、XとYでの設定を設定します。

今回も右側の三角を押してパラメータを変更します。

MakeFloatFromVectorで設定します。

f:id:yoshikata1990:20181124192357p:plain

あとはVectorの値を上記で作成していた、

GridLocationを指定してあげればSampleTextureの設定は完了です。

f:id:yoshikata1990:20181124194835p:plain

その他細かい設定は画像で紹介します。

Emitterの各種設定とLifeCycleは下記の画像のような形です。

テクスチャなので、Zは0に設定してあります。

f:id:yoshikata1990:20181124204025p:plain

 LifeCycleについては特に変更はありません。

個人的にMaxLoopCountとDelayは少し調整しています。

f:id:yoshikata1990:20181124204036p:plain

パーティクルの総量についてはこちらもZを0に指定してます。

f:id:yoshikata1990:20181124205217p:plain

Colorの設定ではSampleTextureの色似合わせるため、

OutputSampleTextureのSampledColorを指定しています。

f:id:yoshikata1990:20181124205300p:plain

動きの箇所としては特に変更はありません。

説明が足りない部分はコメントお願いします。

f:id:yoshikata1990:20181124205551p:plain

ここで注意点ですが、マテリアルは必ず、

TextureSampling_materialにしてください。

表示がうまくいかないことがあります。

f:id:yoshikata1990:20181124205657p:plain

以上で説明は終わりです。

実際に作成するとこんな感じです。

f:id:yoshikata1990:20181124210222p:plain

Twitterで動かすものも載せてみました。

Niagaraは日々進化してるので、いろいろ楽しいです(*´∀`*)

 

UE4のプラグインProceduralTreeで木を生やす。

プラグインのProceduralTreeを試す!

今回は下のリンクの木を生成するプラグインを紹介します。

簡単に木を作るためのプラグインになります。

UE4バージョンは4.20.3を使用していきます。

gumroad.com

プラグインUE4で選択出来るようにする。

まずはプラグインデータを落としてくる必要があります。

冒頭で紹介しているリンクを開いて右側にある、

値段を入力してダウンロードします。

0を入力してダウンロードを行うことが出来ます。。。

gumroad.com

zip形式のファイルですのでそのまま回答してファイルを展開します。

展開が完了したらUE4プラグインのフォルダに設定します。

デフォルトとだとドライブの「Program Files\Epic Games\UE_4.20

の中にUE4のエディターが入っているフォルダがあります。

UE_4.20\Enterprise\Plugins\Editor」に展開したフォルダごと入れます。

f:id:yoshikata1990:20181020153525p:plain

フォルダにプラグインのデータを設置したら、

EpicGameLauncherを起動してプラグインをおいたバージョンのエンジンを、

起動してPluginウィンドウを開き正常に登録されていることを確認します。

正常に追加されているとInstalledに表示されます。

f:id:yoshikata1990:20181020163335p:plain

木を設置してStaticMeshとして書き出す

先程のプラグインをONにして再起動します。

ProcedualTreeはコンポーネントの扱いで追加されるため、

コンポーネントを追加」を選択して「ProceduralTree」を選択します。

コンポーネントのため、レベル上のアウトライナを選択してコンポーネントを追加する形になります。

f:id:yoshikata1990:20181020185831p:plain

追加すると木の形をしたモデルが作成されます。

この状態だと全然木には見えないです(´・ω・`)

f:id:yoshikata1990:20181020190604p:plain

コンポーネントを設置出来たら木にマテリアルを適応していきます。

木の幹にはスターターコンテンツをONにしているとデフォルトで入る、

「M_Wood_Walnu」を使用しています。

木の葉っぱについては下記のリンクにあるデータから落とします。

gumroad.com

展開したフォルダの「Content\EssentialTreeKit\BaseMaterial」内部にある、

Tree_Leafのデータを使用しています。

実際にマテリアルを適応するとこんな感じになります。

マテリアルのTree_Leafで木にしか見えなくなります(●´ω`●)

f:id:yoshikata1990:20181020211045p:plain

詳細パネルのGeneralから「CreateStaticMesh」でStaticMeshとして書き出せます。

もちろん葉っぱの数や枝の別れ方も変更出来ます。

f:id:yoshikata1990:20181020211628p:plain

スタティックメッシュのものとコンポーネントを並べてみました。

なぜかスタティックメッシュのほうが小さくなるので、サイズ調整が必要です・・・

f:id:yoshikata1990:20181020212735p:plain

まとめると最終的な工程としては下記のような形です。

1.プラグインUE4に適応する。

2.ProceduralTreeコンポーネントを設定し、マテリアルやコンポーネントを設定する。

3.葉っぱの数や幹の別れ方、木の曲がり方などを設定してスタティックメッシュとして書き出す。

各種パラメータを変更して形の違う木を作る。

このように木を生成するプラグインなどでは、

各種設定があり全く違う形の木を作ることができます!

まずGeneralで設定が可能なところを紹介します。

f:id:yoshikata1990:20181020215948p:plain

TrunkForksを増やすと木の高さを大きく出来たりします。

下記のような感じで高い木を作ることもできます(`・ω・´)

f:id:yoshikata1990:20181020220255p:plain

続いて木の枝の設定になります。

使うのはだいたいGrowthとSweepとInitial-lengthを使う感じです。

f:id:yoshikata1990:20181020222000p:plain

最後に幹関連のものになります。

幹の太さや幹の曲がりなどを色々試すと楽しいです!

f:id:yoshikata1990:20181020223435p:plain

【UE4】Niagaraを今更だけど試す!!

UE4Niagaraの使ってみよう(^o^)!

今まではエフェクトの作成でカスケードを使用してエフェクトを作成していましたが、

今回はNiagaraの構成やエフェクトの作成方法などをやってみます。

Niagara(ナイアガラ)とはどんなものなのか?

UE4ではカスケードとナイアガラでVFXを作成できます。

カスケードの場合、量子シミュレーションなどをハードコードで制御されているが、

ナイアガラの場合はノードグラフによって制御するため、

プログラマを必要とすることなくエフェクトを作成出来るように力を入れている機能。

※間違いがあったら指摘お願いしますm(_ _)m

ここからはNiagaraを実際に動作させてみようと思います。

UE4のバージョンは4.20.3を使用しています。

Niagara(ナイアガラ)のファイルを作る。

ここからNiagaraを作成していきます。

その前にNiagaraを使用する際、プラグインの設定を追加します。

niagara」で検索すれば表示されます。

f:id:yoshikata1990:20180923113327p:plain

Niagaraプラグインを追加することで、

詳細なアセット作成の欄に「FX」という項目が追加されます。

f:id:yoshikata1990:20180923113631p:plain

ここからは実際にNiagaraEmitter等を利用して作成して、

エフェクトを作成していきます。

アニメーションに合わせての粒子分解エフェクト作り

それでは実際に作っていきます。

今回は機能別サンプルのEffectsで使用されているキャラを、

あらかじめデータをプロジェクトに持ってきておきます。

f:id:yoshikata1990:20180924094124p:plain

続いてNiagaraのEffect1つ1つを設定出来るNiagaraEmitterと、

それぞれのNiagaraEmitterを管理するNiagaraSystemファイルを追加します。

加えて今回はキャラクターの位置に合わせて量子エフェクトが出るように、

する必要があるためNiagaraModuleScriptを追加しておきます。

f:id:yoshikata1990:20180924094141p:plain

エフェクトのEmitterの部分を設定していきます。

今回不要なAdd VelocityとAccelerationForceを削除します。

その後Spawn Rateを削除して、Spawn Burst Instantaneouを追加。

これは一度に指定した数だけレンダリングします。

f:id:yoshikata1990:20180924094223p:plain

そこまで完了したら今度はキャラクターのスケルタルメッシュに合わせて、

エフェクトを設定するためにパラメータを追加します。

Particles.SkeltalMeshというパラメータを設定します。

※Particlesの部分が違うと正常にParticlesとして登録できないので注意!

f:id:yoshikata1990:20180924094314p:plain

Particles.SkeltalMeshというパラメータを追加したら、

今回適応するキャラのスケルタルメッシュを指定します。

f:id:yoshikata1990:20180924094332p:plain

f:id:yoshikata1990:20180924094409p:plain

今度はNiagaraSystemの方にEmitterを適応します。

NiagaraSystemはEmitterを設定してレベルのアウトライナに設定したり、

アタッチする以外にNiagaraSystemから直接Emitterの数値をSystem用に、

変更することも可能です。

今回はTrackにエフェクトの動作を設定するだけになります。

f:id:yoshikata1990:20180924094447p:plain

スケルタルメッシュが更新されるたびに、

Emitterが発生する位置を更新する必要があります。

NiagaraModuleScriptを使用してスケルタルメッシュの位置を取得します。

ModuleScriptをEmitterの方から参照する時に分かりやすくするため、

カテゴリを設定しておきます。

f:id:yoshikata1990:20180924094927p:plain

カテゴリ設定が終わったらMapGetに「Particles.SkeltalMesh」を追加し、

MapSetに「Particles.Position」を追加して下記画像の様に、スクリプトを組みます。

f:id:yoshikata1990:20180924094942p:plain

組み終わったら、Emitterにスクリプトを適応します。

Particle Spawnの「+」ボタンを押して、

作成したスクリプトを選択して追加します。

f:id:yoshikata1990:20180924095035p:plain

ここまで完成すればキャラクターのアニメーションに合わせた、

粒子エフェクトが出るようになり、こんな人形になれば問題ありません。

f:id:yoshikata1990:20180924095057p:plain

キャラクターに合わせてだけだと寂しい感じがしたので、

Particle Updateの「+」ボタンを押してCurl Noise Force」を選択します。

f:id:yoshikata1990:20180924095144p:plain

Curl Noise Forceは3軸で強さに応じてエフェクトを霧散出来るので、

色々使えるかと思います。

最後に、作成したNiagaraをキャラクターにアタッチします。

キャラクターはスタティックメッシュしかないので、

ブループリント化していただき、

下記のようにBPを組めば1秒ごとにエフェクトをアタッチしてくれます。

※このBPはテストで作ったものなので、タイマーに変えてあげてください。

f:id:yoshikata1990:20180924095201p:plain

完成すると下のように下の画像のようになります。

f:id:yoshikata1990:20180924095530p:plain

細かく調整するとTwitterで公開している下のような形になります。

Niagara(ナイアガラ)をやってみての感想

プログラムの編集とかはなくすべてノード形式で作れるのと、

簡単にきれいな粒子エフェクトが作れるのでとてもいいと思いました!

今回は以上です!ありがとうございました!!

【UE4】メッシュエディターモードを試す。

UE4でメッシュの処理を編集する。

UE4の4.20でStaticMeshの編集がモードで可能になったので、

今回はそちらを試していく。

UE4のバージョンは4.20.2になります。

メッシュエディターモードに追加する

MeshEditorをONにする場合、コマンドを入力する必要があります。

アウトプットログを常時出しているので、

アウトプットログをから「MeshEditor.Enable」と入力します。

MeshEditと入力すれば下記の様に検索で引っかかります。

※MeshEditについてはプロジェクトを閉じるたびに閉じるので気をつけてください。

f:id:yoshikata1990:20180825124510p:plain

入力が完了したら、モードにタブが追加されるかと思います。

下記のタブが表示されれば問題なくモデルを編集できると思います。

f:id:yoshikata1990:20180825130219p:plain

編集できる項目の説明について

各種項目で出来ることを紹介します。

※すべての項目の説明までは行っていません。

 使用頻度が高くなりそうなものを説明します。

Mesh選択時

AddSubdivisionLevel

→ 選択しているメッシュに対してサブディヴィジョン化する。

RemoveSubdivisionLevel

→ 上の逆の動作を行う。

Quadrangulate

→ メッシュ全体の面を四角面化する。

Polygon選択時

Move

→ 指定したポリゴンを移動させる。

DrawVertices

→ 頂点を追加する

Bevel

→ ベベル

Inset

→面の差し込み

Extrude

→押し出し

Split

→分割

AssignMaterial

→指定したポリゴンだけ別のマテリアルを適応する。

実際にモデルを編集する。

設定が完了したらエディットモードタブを選択した状態で、

レベル上のスタティックメッシュを選択することで編集できます。

いろいろ試すと下のTwitterみたいにいろんな形にできます(^o^)

3DCoatのトライアルを試してみる。

3DCoatを触ってみる。(`・ω・´)ノ!

今回夏休みに入ったため、1ヶ月間のトライアルを使っています。

簡単な使い方と使ってみた感想を少し書こうかなと思います。

そもそも3DCoatってどんなことができるの?

3DCoatは高機能のスカルプトでモデルを作るソフトウェアです。

Zbrushなどのその他スカルプトツールよりも安価でリポトロジーを行える。

※大きな特徴とかはウィキペディア見たほうがわかりやすいと思います。

3D-Coat - Wikipedia

早速モデリングをやってみる。

3DCoatでは主に大きな役割をしている5つのエディタ画面があるのかな?

f:id:yoshikata1990:20180816164900p:plain

3DCoatの流れはボクセルでモデリングをしてリトポロジーを行い、

その後UVをしてペイントしていくっていうのが主な流れです。

とりあえずボクセルでモデリングしてみます。

 スケッチというものを使用して、とりあえず形をつくってみた。

f:id:yoshikata1990:20180817130551p:plain

とりあえず形だけなら、スケッチ機能で作ることができます!

もう少し頑張りたい・・・(・_・;)

今後もっと操作を覚えて説明できるようになっていけたらと思います。