Let's Enjoy Unreal Engine

Unreal Engineを使って遊んでみましょう

UE4 Oculus GoでVRアプリの開発を開始するまでの方法

今月の5月2日、Facebookのカンファレンスイベント、F8にて突然発表されてその場で購入可能となったOculus Goですが、なんとその2日後に海外から輸入されて、手元にきました!

あまりに早く届いたので、テンションが高いです。

Oculus Goはお値段も安く、スタンドアローンで起動するので本当に快適です。発送も早いのでぜひこの機会にどうぞ。

www.oculus.com


さて、UE4でOculus Goアプリを開発するためには基本的にGear VRと同様の方法を使えば可能なのですが、微妙に詰まるところがありましたので、そこを解説します。

続きを読む

UE4 シーケンサー上の物理演算をアニメーションベイクする

UE4シーケンサーでは様々なアクターを動かすことが可能ですが、そこで計算された物理演算をそのままシーケンサー上に録画される機能があることは意外と知られていません。

これを上手く使うと、物理演算の結果を完全にベイク(焼き付けてしまうこと)が可能で、例えば映像向けにカットを作りたい場合には毎回同じ結果を再生することができます。スタティックメッシュはもちろん、スケルタルメッシュでの物理演算もベイクできます!

今回はUE4.19.1を使っていますが、それ以前のシーケンスレコーダーという機能が搭載されているUE4のバージョンであれば基本的に同じことが可能なはずです。

物理演算を行うアクターを用意する

まず始めに物理演算を行うアクターを用意しておきます。今回は適当なキューブを用意し、"Simulate Physics"にチェックをつけておきます。

f:id:alwei:20180424222555p:plain


ここに"Radial Force Actor"を配置して、放射上に力を発生させるようにして、キューブをふっ飛ばします。"Impulse Strength"はかなり大きめに設定。

f:id:alwei:20180424222833p:plain

これでアクターの準備は完了しました。

シーケンサーを作成し、イベントを発生させる

ここでひとつレベルシーケンサーを作成し、イベントトラックを作成します。

f:id:alwei:20180424223050p:plain


イベントトラック内にキーをひとつ作成し、プロパティの"Event Name"をしっかりとつけておきます。

f:id:alwei:20180424223150p:plain


あとはレベルブループリント内に同様の名前の"カスタムイベント"を作成し、RadialForceAcotorのFire Impulseを呼び出すようにします。

ここで、ツールバー上で"プレイ"を"シミュレート"に切り替えてから再度"プレイ"を選択します。

f:id:alwei:20180424223441p:plain


この状態でシーケンサーの再生を開始します。

f:id:alwei:20180424223545p:plain

物理演算が動作していることが確認できました。

シーケンスレコーダーで録画する

メインメニューバーから"ウィンドウ"→"シーケンスレコーダー"を選択し、開きます。そしてアニメーションを録画したいアクターを全て選択し、"追加"のボタンを押すと、シーケンスレコーダー内にアクターが追加されます。

f:id:alwei:20180424223936p:plain


あとは"録画"ボタンを選択し、シーケンサーを再生します。再生が終わったら終了ボタンを押しましょう。

f:id:alwei:20180424224152p:plain


無事に終了すると録画されたシーケンサーが作成されています。スタティックメッシュの場合はシーケンサーのみですが、スケルタルメッシュの場合には別途アニメーションシーケンスも作成されます。

このシーケンサーを開き、再生すると…

f:id:alwei:20180424224348p:plain


全ての物理演算結果がベイクされたアニメーションが再生されます!ベイクされているので、何度やっても当然同じ結果になります!


動画で確認するとよりわかりやすいです。

UE4 GDC2018 フォートナイトの最適化について Part2

前回フォートナイトの最適化について記事を書きましたが今回はそのPart2です。前回の記事は以下から。

unrealengine.hatenablog.com

※英語の翻訳には自信がありませんので、それなりにミスがあると思って読んでください。大きなミスがあれば指摘していただけると嬉しいです。

Part2の動画は以下にあります。

Optimizing UE4 for Fortnite: Battle Royale - Part 2
www.youtube.com

続きを読む

UE4 GDC2018 フォートナイトの最適化について Part1

GDC2018の中でEpic Gamesの講演がいくつか公開されている中でも特に有意義なものを記事化してみよう、ということで今回大人気バトルロイヤルゲーム、『フォートナイトの最適化』についての講演、2本分についてを解説してみます。今回はPart1で。

※英語の翻訳には自信がありませんので、それなりにミスがあると思って読んでください。大きなミスがあれば指摘していただけると嬉しいです。

Optimizing UE4 for Fortnite: Battle Royale - Part 1
www.youtube.com

続きを読む

UE4 GDC 2018 基調講演「State of Unreal」を振り返る

今年もGame Developers Conference 2018が開催されています。

例年通りEpic Gamesの基調講演「State of Unreal」が行われました。
どのような内容があったのか振り返ってみましょう。

基調講演全体は以下から確認することができますので、全部が知りたい方は直接どうぞ。

www.youtube.com

続きを読む

UE4 マテリアル(シェーダー)の値を視覚的に確認するデバッグノード

UE4のマテリアルは非常に便利で使いやすいものですが、その中に格納されている値を確認するのはなかなか面倒です。
これはマテリアルがシェーダーとして動いているので仕方ないと言えば仕方ないのですが、UE4ではそのマテリアルも簡単にデバッグできるようなノードが用意されています。

非常に便利なのに意外と解説されていないっぽいので、この機会に解説してみます。


f:id:alwei:20180219225135p:plain

一番基本的なDebugFloatシリーズ。単一のFloatのみScalarという名前のノードになっています。


f:id:alwei:20180219225303p:plain

単一のFloat値を表示します。Timeノードから時間の変化値を受け取って表示します。
"MaximumNubmerOfDigits"で小数点の表示桁数を決めます。"DebugTextLocation RG_UpperRight BA_LowerLeft"では表示位置のオフセットを指定することができます。
最後の"UVs"ではメッシュ内のUVを指定しますが、平面に数値をだす場合にはそのままでOKです。


f:id:alwei:20180219230109p:plain

実際にマテリアルを貼ったメッシュに表示させるとこんな感じ。


動画で確認すると実際の動きがわかりやすいです。
Timeノードによる時間の変化値により、値がどんどん変わっていることが確認できます。


f:id:alwei:20180219225717p:plain

"BinaryValues"シリーズでは小数点数と整数のバイナリー値(2進数)を確認することができます。
が、個人的にはあまり使わないかなぁというイメージです。


f:id:alwei:20180219230019p:plain

これら2つは少し特殊なノードで、それぞれ時間が定期に変化し、その変異値を返してくれます。
2つの値をチェックする場合には、"DebugOnOff"を使って"StaticSwitch"ノードを使うとそれぞれの変化を何も押さなくても確認できます。
"DebugTimeSine"は名前の通りSinカーブの値を返してくれるので、Speedだけ指定して、マテリアル内の値の動きの変化を簡単に確認できます。
どちらも覚えておくとマテリアル内で動きをつけたいという場合に役立ちます。

マテリアル(シェーダー)のデバッグというとあまりイメージがないかもしれないですが、実際にこれらを覚えておくだけで開発効率に直結するので覚えておいて損はありません。

UE4 自作プラグインでC++のホットリロードを行う

2018年初の更新となります。

先月はイベントや仕事で忙しくなりすぎてほとんど更新できずでしたが、今年はマイペースにぼちぼち更新していきたいと思います。

今年一発目のネタはC++を使った自作プラグインでホットリロードを行う方法についてです。

通常の場合、プラグインC++コードを書き換えるとエディターを落とさなければ更新を行うことができません。これは非常に不便ですが実はちょっとした手順を加えるだけでエディターを実行したままリロードを行うことができます。

具体的な手順といってもやるべきことは非常に単純です。今回はUE4.18.2の日本語バージョンを使用しています。

続きを読む