Let's Enjoy Unreal Engine

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

UE Tips

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

UE4.16からどうやらRenderDocプラグインが標準で搭載されるようになったようです。まずRenderDocとは、CryEngineで有名なCryTekが開発したGPU処理のデバッグツールです。頂点シェーダーやピクセルシェーダーを直接デバッグできるようになります。RenderDocは…

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

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

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

今回はいつもと少し違う趣旨の内容となり、『比較的大規模におけるブループリントの運用』という内容で考察してみます。ブループリントは皆さんも知る通り、UE4における最も標準的なロジック実装のスクリプティング環境です。おそらくほとんどの人はブループ…

UE4 Game ModeとGame Mode Baseの違いについて

UE4.14からGame Mode Baseという新しいクラスが追加されています。このクラス、わかってしまうと簡単なことなのですが、非常にわかりづらいハマりポイントがあるのでメモとして記事を残しておきます。

UE4 インターネット上に公開できるSVNサーバーを立てよう 公開編

前回はVisual SVN ServerでSVNサーバーを構築するところまでやりました。unrealengine.hatenablog.com今回は構築したサーバーをインターネット上に公開できるようにしていきます。Visual SVN ServerはインストールするだけでApache HTTP Serverとして機能す…

UE4 インターネット上に公開できるSVNサーバーを立てよう 構築編

今回は少し特殊なプロジェクト運用時に必要となるソースコントロールシステムについてです。 UE4ではPerforce、Subversion、GitなどのVCS(Version Control System)を利用可能です。docs.unrealengine.comUE4ではこれらのことを"ソースコントロール"という…

UE4 配列要素の処理をForEachLoopなしで行う

新年一発目の記事です。今年もどうぞよろしくお願いいたします。 まずはブループリントのちょっとしたTipsから。さて今回はブループリント内で配列を扱った時に、配列要素に対する処理を行う場合、通常であれば"ForEachLoop"ノードなどを使うことになるはず…

UE4 非VRゲームをリリースする時はVRプラグインをオフにしよう

今年最後に少しだけ更新です。コミックマーケットなどでUE4作品を沢山みることができるようになりましたが、結構な率のゲームで非VRゲームなのに、Oculus RiftやHTC Viveのホームアプリである、『Oculus Home』や『SteamVR』がゲームを起動した際に自動的に…

UE4 VR空間で手を飛ばす方法について

この記事は裏Unreal Engine 4 (UE4) Advent Calendar 2016への参加6日目の記事です。qiita.com既にアドベントカレンダーの3度目の記事ですが、これでラストの予定です。そして今日はOculus Touchの発売日です!Introducing the Oculus Touch Launch Window L…

UE4を使ってお絵描きを試みる

この記事はUnreal Engine 4 (UE4) Advent Calendar 2016への参加1日目の記事です。qiita.comまず最初にアドベントカレンダー初日から申し訳ありませんが、この記事に実用性は皆無です。それをご理解の上でお楽しみください。UE4のバージョンは4.14.0を使用。

UE4 ソケットのアタッチをノードを使わずに行う

UE4ではソケットという機能を使うことで、ボーンとは別のジョイントロケーション情報を追加することができます。スケルタルメッシュで利用する際には以下のドキュメントがそのまま役にたつはずです。docs.unrealengine.comまずはペルソナからソケットを追加…

UE4 ポーズ中にBGMが止まらないようにする

今回は小更新です。UE4でサウンドを鳴らすのは非常に簡単です。そして一度音が鳴った状態でポーズをかけるとその状態で音声も一時停止し、再度ポーズを解除すると音声も自動で再開します。これは普段SEなどを再生している際には非常にありがたいですが、BGM…

UE4 Simplygonを使ってお手軽にメッシュのポリゴン数を減らす

UE4でAAAタイトルでもよく使われている自動メッシュリダクションツールである、Simplygonがなんと無料で利用できるようになりました。www.unrealengine.com一定の売り上げをあげると少額のロイヤリティーを払うというUE4と同じライセンスのようです。 しかし…

UE4 実行ファイルに自作アイコンを設定する

リリースする直前にゲームが完成する時点でより細かい部分にこだわる人は実行ファイル(exe)のアイコンなども設定したいと思うはずです。UE4でもこの設定が可能なのですが、ちょっと特殊なことになっていたので解説しておきたいと思います。Windowsのアプリ…

UE4 日本語環境でのMS-IME使用時のクラッシュなどの問題について

UE4には昔から日本語環境にてMS-IMEを利用した際に、ブループリントコンパイルを行うと、とても重たくなるという問題がありました。Microsoft IME 2010を使用しているとBlueprintのコンパイルが異常に遅くなる - UE4 AnswerHubこの問題はかなり根が深く、MS-…

UE4 AddActorWorldRotationのクラッシュを回避する

UE4.11からのバグですが、現在最新のUE4.12.3では"AddActorWorldRotation"ノードを利用するとクラッシュが発生します。 これが発生するのは日本語版のアンリアルエディターのみで、言語設定を英語などにしていれば発生しません。原因はローカライズの問題で…

UE4 C++ファイルをプロジェクトから削除する

今回から少しずつ、UE4のC++記事も増やしていきたいと思います。まずはUE4で作成したC++クラスのファイルを削除する方法です。 ネットで検索してみてもその方法がまちまちで、正確な情報が書かれていないので、改めて書いてみます。今回は以下のファイルをプ…

UE4 シーケンサーのカメラのZ軸があらぬ方向へロールするのを回避する

もう一週間経ちますが、UE4.12がリリースされました。日本語リリースノートも公開されました。www.unrealengine.comやはり今回の目玉はなんと言ってもシーケンサー正式版のリリースでしょう! UE4.11とは別物クラスに生まれ変わっています。 早速私も色々と…

UE4 ブループリントで関数ポインターやデリゲートのようなことをやる

ゲーム中に呼び出す関数の先を切り替えるようなことをやりたいということはきっとあると思います。UE4の場合はイベントディスパッチャーを利用すると比較的簡単に実現できます。今回はブループリントでの利用方法を解説しますが、偶然全く同じタイミングでC+…

UE4 デバッグシンボルについて

UE4をインストールすると、デバッグシンボルというものをインストールすることができます。プログラマーの方であればこれがどういったものか知っている方もおられると思いますが、UE4をC++でビルドした際にデバッグ情報を含んでいるもので、C++プロジェクト…

UE4 メッシュ形状をそのままスタティックメッシュのコリジョンとして利用する方法

スタティックメッシュには複数のコリジョンを生成する方法が用意されています。1つめはDCCツール(MayaやBlenderなど)でメッシュオブジェクトに名前をつけてコリジョンとして利用する方法です。これは名前の指定が必要であり、更に外部ツールを必要とするた…

UE4 Default PawnとSpectator Pawnについて

Game Modeに設定可能なクラスとして、"Default Pawn Class"と"Spectator Class"というものがあります。これらに関してはあまり公式にも具体的な解説がありません。不要な方には不要なものですが、改めて解説してみます。

UE4 ブループリントのノードを繋いだまま無効化する

UE4.11からの新機能でブループリントのノード単体を無効化する機能が実験的に追加されました。とても有用な機能にも関わらず、リリースノートにもそれらしい記述を見つけられなかったので、本当にこっそりと追加されたことになります。これは標準では有効化…

UE4 DerviedDataCacheについて

UE4を使っているといつのまにか大量のディスク容量を消耗していることがあります。 これはHDDやSSD内に保存している"DerviedDataCache"というデータキャッシュが蓄積されているからです。このデータキャッシュは初回アセットロード時に、次回以降にその読み…

UE4 Epic Games Launcherの新機能について

UE4を使用するために必要なEpic Games Launcherがアップデートされて、2.9.0というバージョンになりました。 このアップデートはここ最近の中でも比較的大型のものなので、新機能などを紹介していきたいと思います。 詳細は以下のリンクから。 Launcher 2.9.0

UE4 プロジェクトを圧縮して手軽に別環境にもっていく方法

なかなか忙しくて更新できませんでしたが、久し振りのTips更新です。 よくプロジェクト一式を他のPCや環境に持っていきたいと思ったことのある人がいると思います。 ただし、そのまま持っていこうとするとバックアップやログファイルなど、プロジェクトを起…

UE4 マクロマジック!ちょっと深いマクロのお話

この記事はUnreal Engine 4 (UE4) Advent Calendar 2015の1日目の記事です。 qiita.com 去年は入門的な内容でしたが、今年は少しコアなネタになります。 ブループリントマクロ! C++のマクロの事ではありません。 皆さん使っているでしょうか?正直なところ…

UE4 何らかのキーが押された時のイベントを取得する

今回も小さめの更新です。 よく「何らかのキーを押したという情報が知りたい」という要望があったりなかったします。スクリーンセーバー的に何かを処理したいとか、放置時間によってキャラクターが動いたりしているのをキャンセルしたいとか。 まぁとにかく…

UE4 DefaultSceneRootの挙動について

まず始めに今年は年末にかけて多忙な生活になるため、更新があまりできそうありません。あらかじめご了承ください。 さて、今回はUE4.8以降から挙動が変更された"DefaultSceneRoot"というシーンコンポーネントについてです。シーンコンポーネントというのは…

UE4 トゥーンシェーディングとアウトラインによるセルルック表現のためにやったこと

今回はここ最近やっていた事の成果についてを解説したいと思います。まずは以下の動画をご覧ください。 www.youtube.com これはUnreal Engine4というディファードレンダリングであり、物理ベースレンダリングというゲームエンジン内で実際に実現したリアルタ…

UE4 一番お手軽にパッケージング時のサイズを最適化する方法

先日ですが、UE4関連のゲームジャムイベントを開催しました。 atnd.org イベント自体は大盛上がりで、とてもやって良かったなと思えるモノでした。また次回もやりたい。 さて、ゲームジャム終盤にパッケージングしてもらって動かせるようにしてもらっていた…

UE4 BSPブラシから作成したスタティックメッシュにライトがベイク出来ない時の対処法

UE4.9を使っていて、BSPブラシをスタティックメッシュに変換するという使い方ができるのですが、これを使ってスタティックメッシュを使おうとした時にライティングビルド時にライトが反映されないという症状が起きます。 なぜか反映されない UE4.9を使ってて…

UE4 Object継承のマクロライブラリーの中でDelayを使う方法

2016年7月23日 ※当初の内容が全て不要となるマクロのハックがありました ずっと不可能だと思っていた、Object継承のマクロライブラリー内でDelayを利用するハックが存在することを知りました。 1秒ごとウェイトしてループするObject型のマクロライブラリーの…

UE4 AnimMontageのブランチポイントでのハマりポイントについて

UE4.6あたりからずっとかもしれませんが、AnimMontageのブランチポイントの扱いが変わっており、2015/09/23現在の公式ドキュメントを見てもその説明がありません。 自分も先日これにハマってしまい、恐らくかなりの人がハマる可能性があるのでその情報をまと…

UE4 バージョン非互換のアセットをプロジェクトに追加する方法

UE4.9がリリースされてから、マーケットプレースのアセットがまだ4.8のものばかりで通常の方法ではプロジェクトに追加する事が出来ません。4.9になってからアセットが追加出来ないよ!という人が急に増えたので今回は、非互換(正常に動く保証はなし)でもア…

UE4 4.9から変更になったHTML5ビルドの実行方法

昨晩UE4.9の正式版がリリースされました。 詳細は公式サイトのリリースノートなどで確認してください。 さて、UE4.9ではモバイル機能周りがかなり強化されていますが、同じレンダリング方式を採用しているHTML5の方も強化されています。何よりもEmscriptenな…

UE4 ブループリント変数をconst(純粋)化する

ブループリントの変数はC++の変数のようにconst化してSetが出来ないようにしたいという考えはプログラマーであれば当然考えつくかもしれません。 元々ブループリントは幅広く公開範囲を設定が出来るようになっていますが、単純に作っただけではどのブループ…

UE4 リリース向けパッケージを作る際にやるべきこと

さて、今年の夏コミことC88にですが、私も参加することになっています。 詳細は以下より確認してみてください。 C88にサークル参加します!【日曜日 東R44a】 : 歩き始めるより走り出せさて、今回はコミケに限らずゲームをリリースしたい時にパッケージを作…

UE4 ゲームを可変フレームレート対応にさせる

ここ最近体調を崩したり、様々な作業に終われて更新が滞り気味でした。 少し更新頻度を上げていくために小ネタを多めにしていこうかと思います。 さて、最近のゲームエンジンではほぼ全てのエンジンで可変フレームレートに対応しています。UE4も例に漏れず可…

UE4 Radial Forceを使って衝撃波でモノを吹っ飛ばしてみる

レベル上に置いてあるアクターに対して力を発生させて、モノを吹っ飛ばしたいという事は結構あると思いますが、UE4でそれを行なうのにはどうしたらいいのでしょうか。 実はそのために用意されたアクターとコンポーネントがあります。 "Radial Force"アクター…

UE4 スポーン時のアクター(SpawnActor)が動かない理由と対処方法

最近色々なところで『スポーンさせたアクター(SpawnActor)が動きません』という話を聞きます。これ、知っている人は知っていると思いますが、ほとんどの人はその理由すら知らないと思うので解説しておきたいと思います。 まず普通にアクターをスポーンさせる…

UE4 ウィンドウタイトルを設定する

UE4.6まではWindowsでパッケージ化したウィンドウに表示されるタイトルが設定できませんでしたが、4.7からはウィンドウにタイトルが設定できる項目が追加されています。 地味な設定ですが、かゆいところに手が届くようになりました。 設定はメニューから"プ…

UE4 4.8で追加されたノードの日本語&英語切り替えについて

UE4.8から要望の多かったブループリントなどのノード名を英語と日本語で切り替えが可能になります。 ここは日本語版でも英語のままで使いたいという多くの要望があったため、このような形となりました。 デフォルトの設定では日本語のままになっている可能性…

UE4 プラグインを自分でビルドしてみる

UE4のプラグインは基本的にC++のソースコードで書かれており、ビルド済みのバイナリーファイル(DLL)が入っていればビルドせずにそのまま使う事が可能ですが、バージョン違いだったり、バイナリーファイルが提供されていない場合もあります。 この場合は自…

UE4 コピペできるテキストの情報について

UE4ではモノによってコピーした時の情報や操作履歴を独自の階層構造スクリプト形式でクリップボード上に保存しています。 あらゆるモノがこの独自スクリプトになるわけではありませんが、実は色々なモノに対してコピーしてみるとわかります。覚えておくと結…

UE4 4.7と4.8におけるMMDのFBXアニメーションインポートについての問題点と対処方法

前回はUE4でMMDのPMXやVMDをFBXにインポートして使ったりしていましたが、実は現在最新のUE4.7とPreview版の4.8にはそれぞれ別の問題があります。 今回はそれぞれの問題とその対処方法を紹介しておきます。

UE4 ノートパソコンで使う時にバッテリーを長く使うためのTips

UE4はデフォルトの状態で使うと、とてもCPUやGPUに負荷がかかり、もの凄い勢いでバッテリーが消耗してしまいます。これは決して重い作業をするわけでもないのに、軽く作業をしたい時などに問題になることがあります。 これをいくつか解決出来るTipsがありま…

UE4 エディターのプレイ実行時の結果を保存する

UE4エディターでプレイボタンを押して実行してから、F8キーなどで一旦PIE(プレイ イン エディター)を脱出し、ゲームが動いている状態でアクターを直接動かす事が出来ます。 が、この状態で動かしたものはPIE終了時と共に全て元に戻ってしまいます。しかし…

UE4 ブループリントでFPSの計算を行なう

UE4ではFPSをエディター内で表示するためにはコンソールコマンドの"stat fps"などで簡単に表示する事が出来ますが、その値をブループリント中では使う事が出来ません。 実はFPSの計算自体はとても簡単です。以下のようなブループリントを作成すれば現在のFPS…

UE4 エディターの日本語と英語の切り替えを瞬間的に行なう方法

UE4のエディターでは日本語と英語やその他の言語も沢山扱う事が出来ますが、一番使うのはやはり日本語です。ただし日本語にはまだまだ翻訳上、問題があるところがあったり、使い辛い部分が多々あるのも事実です。 なので、今回はケースバイケースですぐに言…