Let's Enjoy Unreal Engine

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

UE4 標準機能となったRenderDocプラグインを使ってみる

UE4.16からどうやらRenderDocプラグインが標準で搭載されるようになったようです。

まずRenderDocとは、CryEngineで有名なCryTekが開発したGPU処理のデバッグツールです。頂点シェーダーやピクセルシェーダーを直接デバッグできるようになります。

RenderDocは少し前からオープンソースとなっており、コードも全てGitHub上で公開されています。

github.com

Windowsであれば、DirectX 11や12、OpenGLやVulkanにも対応しています。

RenderDocの雰囲気は以下の動画でわかると思います。

www.youtube.com


早速簡単に使えるようになったRenderDocプラグインを使ってみましょう。

続きを読む

UE4 エディター内でソースコード編集ができるコードエディタープラグイン

Xenko というゲームエンジンがリリースされましたが、このエンジンは内部にC#のコードエディターが実装されており、エディター内でコード編集が可能です。

あまり知られていませんが、UE4でもC++C#の一部コードが編集可能なエディター内エディターがあります。

これを使うとVisual Studioを起動しない状態でもコード編集が可能となっています。使い方はとても簡単です。まずはC++プロジェクトを作成しておきましょう。

f:id:alwei:20170508182758p:plain
まずはプラグイン一覧から"Programming"→"Code Editor"を"Enabled"にしてエディターを再起動してください。

続きを読む

UE4 コントロールリグシーケンスを使ってアニメーションを作ってみる

UE4.16 Preview 1の配信が開始されて、またまた色々と新しい機能が追加されました。

今回はその中でも特に目玉機能のひとつでもある、コントールリグシーケンス機能を使ってキャラクターアニメーションを作ってみたいと思います。

UE4.16 Previewについては以下のフォーラムのスレッドに概要が載っています。

Unreal Engine 4.16 Preview

それでは早速使い方を解説していきます。

続きを読む

UE4 比較的大規模におけるブループリントの運用

今回はいつもと少し違う趣旨の内容となり、『比較的大規模におけるブループリントの運用』という内容で考察してみます。

ブループリントは皆さんも知る通り、UE4における最も標準的なロジック実装のスクリプティング環境です。おそらくほとんどの人はブループリントでロジックを組んでいると思いますが、規模が変われば条件も変わってきます。

そこで大規模になってくるとブループリントがどういうところで問題になってくるか、まずは考えてみましょう。

続きを読む

Unreal Fest West'17で登壇しました

去る2017年、4月15日に毎年2回のイベントであるアンリアルフェスの関西版である、Unreal Fest West'17が開催されました。今回から始めて大阪から関西に移り、場所は梅田のグランフロントから京都の京都コンピューター学院に。

unrealevent.jp


今回もEpic Gamesさんから登壇を依頼されたので、喋ってきました。

www.slideshare.net


今回のテーマは"ハイエンドモバイル"です。

リネージュ2 レボリューションの大ヒットにより、ハイクオリティなモバイルタイトルがより目立ち始めました。これからのモバイルゲームではより高いクオリティを求められることは間違いないはず。そのための指標となる情報を色々と公開したつもりです。

ひとつだけ先に言っておきたいのが、今回の内容では最適化と呼びながらグラフィッククオリティを落とす方向にシフトしていますが、これはあくまでもPC→モバイルへの移植となるので、多少なりともグラフィックス負荷を落とす必要が必ずでてくるからです。

ですが、本来モバイル専用タイトルで開発した場合にはどの見た目を優先するかの取捨選択が重要となってきます。キャラクターを見せたいのであれば、キャラクターに負荷が高いハイクオリティな表現を使うべきですし、背景で見せたい、エフェクトで見せたいという場合にはそれぞれグラフィックス表現を維持したまま負荷を下げるべきだと思います。その辺りについては実際に開発を行いながら日々パフォーマンスの検証やアートチームとの相談ができるようになるのが理想かと思います。


改めてこのスライドを公開することで日本でもUE4を使ったハイクオリティなモバイルタイトルが出てくることを願っています。

UE4 モバイル用GPSロケーションサービスを使ってみる

UE4.15からモバイルで使えるGPSロケーションサービスの機能が使えるようになりました。

これを使うといわゆるポケモンGO的なアプリを作れるようになるかもしれません。当然これだけでは無理ですが。利用するには当然ながらモバイル用にパッケージングする必要があります。これについては公式ドキュメントに一通り書かれていますので、そちらを参照してください。


docs.unrealengine.com


今回はAndroidのGalaxy S6 Edgeを使って動作確認をしています。

GPSサービスを有効化

まず最初にGPSサービス自体を必ず有効化しておきましょう。これが行われていないと何をやっても動作しませんので注意してください。

androck.jp


設定方法は端末ごとに微妙に違うので、必要に応じて探してみてください。

ブループリントで初期化する

ブループリントで利用する場合はまず"Init Location Services"ノードで初期化を行います。

f:id:alwei:20170413151214p:plain


"Accuracy"には取得するロケーションの精度情報を渡します。デフォルトの"Three Kilometers"だとおそらく自身の直径3キロメートル内の情報を取得できるのではないかと思います。Androidの場合には"Update Frequency"を設定することで、ミリ秒単位での更新頻度を設定することができます。この設定次第でより正確性が増しますが、バッテリー消耗率も上がるのではないかと思います。

GPSロケーションサービスが有効になっていれば、"Return Value"でtrueが返ってくるはずです。あとは"Start Location Services"ノードで実際にロケーションサービスを動作させることができるようになります。

次に"Get Location Servieces Impl"ノードから、GPSロケーションサービス情報を取り出し、そこから"OnLocationChanged"イベントをバインドします。

f:id:alwei:20170413151954p:plain


これでイベントが利用できるようになり、更新がくるたびにイベントが呼び出されるようになります。初期化が完了しました。

イベントから情報を取り出す

"OnLocationChanged"イベントには"Location Data"構造体が戻り値として設定されているので、この中身を自由に使うことができます。

f:id:alwei:20170413152341p:plain


上から順番に

1.タイムスタンプ情報
2.経度
3.緯度
4.水平測位精度
5.垂直測位精度
6.高度

となっています。

どのような値で返ってくるか、正確な値はわかりません。

実際に動かしてみて表示したところ、以下のような感じです。

f:id:alwei:20170413150157j:plain


おそらくiOSAndroidで細かい違いはありますが、おおまかなところは同じでしょう。これを使って、何を作るかは自由です。ぜひ一度試してみてください。

UE4 HoloLens上でUE4のUWPアプリを実行するまで

実は少し前からMicrosoftのHoloLensをお借りして色々と試していました。

で、本来HoloLensアプリの開発にはUnityを利用するか、DirectXネイティブなアプリ開発するしかありません。ほとんどの方はUnityを選択するはずですが、私個人としてはどうしてもUE4で動かしたいわけで…

UE4は現在HoloLensには未対応です。それどころか、MicrosoftWindowsソフトウェアプラットフォームである、UWP(Universal Windows Platform)という独自形式にも未対応です。UWPアプリが実行できない限り、決してHoloLensのアプリを作ることはできません。

で、今回は結論から言えばUE4のアプリをHoloLens上で実行できたので、それまでの方法についての解説です。非常に技術的な部分もあり、初心者が簡単に手を出せるというものでもありませんので、そこはご注意ください。

では早速解説していきます。

続きを読む