アンリアル エンジン 4.5 リリース ノート

Windows
MacOS
Linux

4.5 のリリース版には、待ちに待った機能が含まれています。アニメーションのリターゲット機能、自動化された C++ ホットリロード機能、ライトマップの UV 生成機能、ビデオテクスチャのストリーミング機能などがそれです。また、新たなリアルタイム レイトレースによるソフトなシャドウは、動的なシーンを見事にライティングします。スクリーン空間サブサーフェス スキャタリングは、非常にリアルな皮膚表現を可能にします。モバイル プラットフォームおよびコンソールのためのサポートがこれまで以上に充実します。また、本リリースにおいては的を絞った数百の改善が行われているため、複雑なオンライン ゲームがコンソールの認証テストにパスできるようになりました。最後になりますが、アンリアル モーション グラフィックスが使用できるようになるため、UI の作成がこれまで以上に簡単になります!

今回のリリースには、ユーザビリティと学習に関する強化も非常に多く含まれています。また、まったく新しいチュートリアル システム、さらには、Advanced Vehicles (高度な車両) と Twin Stick Shooters (ツイン スティック用シューティング) のための新たなゲーム テンプレートも同梱されています。

今回のリリースでは、アンリアルのコミュニティに所属する素晴らしいデベロッパーの方々の尽力によって 40 を超える機能と改善が実現しました。私たちは、貢献していただいた次の方々に対して感謝の気持ちを表したいと思います。

3dluvr, Allegorithmic, Cameron (Alters), Jefferson Pinheiro (Ixiguis), Kyle Rocha (kylawl), Luna (PSG-Luna), leobenaducci, Mathias L. Baumann (Marenz), Martino Giovanelli (Hurricane86), Moritz Wundke (moritz-wundke), Pierdek, Rama (EverNewJoy), Ryan Ingram (ryani), Robert Wallis (robert-wallis), Rick Yorgason (Skrapion), Roy (Shammah), Salamanderrake, Sam Clegg (sbc100), Steve Anichini (solid-angle), Shaun Hedrick (triplefault), Thomas Mayer (tommybear), Tim Donks (timdonks), Temaran, Vitaly Ogoltsov (vogoltsov), Zachary Burke (error454)

また、頭部のモデルを提供していただくとともにスクリーン空間サブサーフェス スキャタリングに関して助力していただいた Lee Perry-Smith 氏および Infinite Realities (http://ir-ltd.net) に対して深く感謝いたします。

主な新機能

レンダリング

Ray Traced Distance Field Soft Shadows (レイトレースによる距離フィールド ソフト シャドウ)

新たな動的なシャドウイング方式は、メッシュの距離フィールドを通ってライトまでをレイトレースすることによって機能します。この方式によって、シャープなコンタクトをともなったソフトなエリアシャドウが実現できます!

RayTracedDistanceFieldSoftShadows.png

レイトレースによるソフトなシャドウをともなった指向性ライトです。長いシャドウはソフトになっていき、遠くのセルフ シャドウイングはディテールを保ったままです。

RayTracedDistanceField03.png

ポイントライトとスポットライトも機能します。Source Radius (ソース半径) を使って、光源の大きさ、したがってシャドウの半暗部のサイズを制御します。

レイトレース シャドウが、従来のカスケード シャドウ マップ (CSM) よりも長いビューディスタンスのために効率的に計算できるようになりました。遠くのシャドウは、レイトレースされますが、近くのシャドウが CSM で計算されることによって、両方の手法の良いところ取りできるようになります。

レイトレースされたシャドウは、通常、カスケード シャドウ マップよりも GPU 上で 20 ~ 30% 高速になります。

これらの距離フィールドは、Distance Field Ambient Occlusion (ディスタンス フィールド アンビエント オクルージョン) 機能で使用されているデータと同じものです。Generate Mesh Distance Fields プロジェクトの設定が有効になっているプロジェクトで、この新機能を有効化するためには、ライト上でUse RayTraced DistanceField Shadows にチェックを入れます。

詳細については このドキュメンテーション をご覧ください!

距離フィールド アンビエント オクルージョンの改善

プロジェクトのレンダリング設定の名前が bGenerateMeshDistanceFields になりました。チェックボックスにチェックを入れ、エディタを再起動すると、任意の距離フィールド光源処理の機能を使用できるようになります。

生成

距離フィールドの生成が非同期になりました。これによって CPU のコアの大半が使用されるようになりますが、その間、エディタを使用できるコアはいくつか残ります。

DistanceFieldAOimprovements01.png

ディスタンス フィールドに対応するためにメッシュを閉じる必要がなくなりました。

スペキュラ オクルージョン

スカイのための近似的なスペキュラオクルージョンがサポートされました。距離フィールド AO の計算によってベント法線が作られます。これは、その時点におけるスカイのビジビリティを示唆するコーンです。このコーンをリフレクション コーンと交差させることによって、スカイのスペキュラのためのシャドウイング項が得られます。この機能によって、オクルーダに近くの漏れを防がれるようになります。この機能が最もよく働くのは、幾分粗いマテリアル上か、スクリーン空間の制約によって SSR が無効になる場合です。

距離フィールドに対応するためにメッシュを閉じる必要がなくなりました。

オリジナル DistanceFieldAOimprovements02.png

スペキュラ オクルージョン DistanceFieldAOimprovements03.png

詳細については 距離フィールド AO のドキュメンテーション をご覧ください!

Screen-space Subsurface Scattering (スクリーン空間サブサーフェス スキャタリング)

新たに Subsurface Profile シェーディング モデルが追加されました!サブサーフェス スキャタリングを利用すると、リアルなスキン マテリアルや他にも素晴らしいエフェクトを作成できるようになります。

ScreenSpaceSubsurfaceResults.png 左: サブサーフェス スキャタリングが無効 右: リアルな設定

モバイルの動的シャドウ

可動指向性ライトのための動的シャドウが、モバイル プラットフォームでサポートされます!シャドウは、最大 2 個のカスケードを使ってカスケードされたシャドウマップを使用してレンダリングされます。

アンリアル モーション グラフィックス (GUI デザイナー)

アンリアル モーション グラフィックスが、デフォルトで使用できるようになります!新たな「ウィジェット ブループリント」を簡単に作成し、UI のデザインを開始できるようになります。もちろん、新機能と改善が日々追加されていきます。

UMGuidesigner.png

UI レンダリング トランスフォーム

UMG と Slate のウィジェットが、移動、回転、拡大縮小、せん断が可能になりました!

UIrenderTrans.png

UI のスタイル

ウィジェットを定義するためのスタイリングがよどみなく実施できるようになります。それによってユーザーは、ウィジェットの外見を仔細に制御できるようになり、スタイルのバリエーションがいくつもできてプロジェクトが雑然となるようなことはありません。スタイルは、ゲーム内で変更できるようになり、動的なマテリアル インスタンスがどのような UI でも使用できるようになります!

UIstyles.png

UI アニメーション

より堅牢なアニメーションのためのサポートが UMG に加わりました。

  • 複数のアニメーションを各ウィジェットに作成できます。

  • アニメーションをウィジェットのブループリントで実行時に制御できます。

  • 詳細パネルからキーをアニメーションに自動的に追加できるようになりました。

UIanimation01.png

UI アニメーションは、ウィジェット ブループリントのグラフで制御できます。次の画像は、ウィジェットをマウスオーバーすると、アニメーションが再生される例です。

UIanimation02.png

DPI のスケーリング

アンリアル モーション グラフィックスが、解像度に依存しない UI のために、自動スケーリングをサポートするようになりました。デフォルトの DPI スケーリング ルールがあらゆるゲームに備わるようになります。これはプロジェクトのレンダリング設定で調整することができます。

DPIscaling.png

プログラミング

自動化された C++ ホットリロード機能

アンリアル・エンジンでは、Visual Studio または Xcode でコンパイル後に、C++ のゲームプレイのコードが自動的に「ホットリロード」されるようになります!

AutoHotReload.png

作業中にエディタをシャットダウンする必要はありません。Visual Studio または Xcode からゲームプレイのコードを通常通りにコンパイルするだけで、エンジンが C++ の変更を即座に適用するようになります。

フルゲームの C++ ホットリロード

エディタを再起動することなく、あらゆるタイプのゲームの C++ コードをコンパイルできるようになります。また、変更はライブで適用されます!新たなクラスまたはプロパティ丸ごと追加できる機能もサポートされます。

FullGameHotReload.png

サンプルのコンテンツ

Advanced Vehicle (高度な車両) テンプレート

新たな Advanced Vehicle テンプレート では、ダブルウィッシュボーン式サスペンションを搭載した車両と、地形や多数の傾斜、ループが備わったテストトラックがフィーチャー!VR ヘッドセットを装着した場合でも見事に機能します。

AdvancedVehicleTemp.png

Twin Stick Shooter (ツイン スティック用シューティング) テンプレート

Twin Stick Shooter ブループリント テンプレートは、高速トップダウン シューティングを作成するためのパーフェクトな土台となります。

TwinStickTemp.png

一方のジョイスティックで移動し、もう一方であらゆる方向に発射できるツイン スティック用シューティングのためのシンプルなテンプレートです。

アーティスト テンプレート マップ

新たなマップ がテンプレート スターター コンテンツで利用できます。アーティストがさまざまな光源処理のセットアップを試し、コンテンツがどのように影響されるかを確かめることができるテスト用エリアが備わっています。

ArtistTempMap.png

アニメーション

ANIMATION RETARGETING SYSTEM (アニメーションのリターゲット システム)

新たな Animation Retargeting System では、人間の形をしたリグを使う 異なるスケルトン 間でアニメーションを変換できます!

RetargetingSystem03.png RetargetingSystem04.png

この機能をセットアップすると、同一のリグを使用するスケルトン間でアニメーションを変換できるようになります。

メディアの再生とキャプチャ

ビデオ テクスチャ (メディア フレームワーク)

新たなメディア フレームワークによって、レベル内でテクスチャ化されたオブジェクトおよび UI ウィジェットの上でストリーミング ビデオを再生できるようになります!

MediaFramework.png MediaFramework2.png

この新機能に関しては、フォーラムの投稿 をご覧ください。

OpenEXR フレーム キャプチャ

HDR カラーや 16 ビット ピクセル深度といったリッチフレーム データを OpenEXR ファイルに保存できるようになりました。オフラインでのコンポジット作業にとても便利です。

OpenEXRFrameCapture.png

プロジェクト作成

新たなプロジェクト作成ウィンドウ

New Project ウィンドウのデザインが新しくなります。新たなプロジェクトを作成するプロセスが単純化されます!

ProjectCreation.png

ターゲットとするハードウェアの選択

対応すべきハードウェアとデバイスの種類を選択できるようになります。最高のプレイヤー エクスペリエンスを実現するために最適化された設定がエンジンによって選択されます!この新機能のための設定は、 New Project ウィンドウ、または Target Hardware → Project Settings でプロジェクトを作成する際に可能です。

TargetHardwareSelection.png

学習リソース

新たな動画と文字によるドキュメンテーションが加わる他にも、エディタの使い方を学習する方法が大きく変わります。さらに、必要な時にすぐにドキュメンテーションにアクセスできるように、その方法が大きく変更されます!

新たなチュートリアル システム

チュートリアル システムがガラリと変わります。没入感の高いエクスペリエンスが提供されます!

TakingATutorial2.png

ポップアップ ウィンドウが表示されなくなります。(いいですね!)控え目なテキストの吹き出しがエディタにオーバーレイ表示されて、インターフェイスの各種要素や多彩な機能について説明がなされます。まだご覧になっていないチュートリアルがあると、お知らせが表示されますが、閲覧が強制されることはありません。

TakingATutorial.png

チュートリアルをご覧になると決めた場合は、右クリック (またはコンテンツの吹き出し右上にあるコンボボックスの矢印をクリック) するとその他のナビゲーション項目が表示されます。

チュートリアル ブラウザ

素敵な チュートリアル ブラウザ が新たに登場します。あらゆるチュートリアルに簡単にアクセスできるようになります。

TutorialsBrowser.png

チュートリアルは、ヘルプ メニューから開くことができます。または、新たなチュートリアルのアイコンをクリックすると開くことができます。

チュートリアル ブループリント

チュートリアルは、実際にブループリントのアセットとして作成されるようになりました。ということは、エディタ内チュートリアルを作成して含めることができ、コンテンツをマーケットプレイスで公開できるようになるということです!

TutorialsareBlueprints.png

作成したチュートリアルは自動的にチュートリアル ブラウザ の UI に表示されるようになります。

エディタ内のヘルプに関する改善

即座のオンライン ヘルプ

新たなオンライン ヘルプ ボックスにタイプすると、エディタが、インターネットで見つかる有益なリソースをできる限り多く収集してきます。

InstantOnlineHelp.png

チュートリアル、ドキュメンテーション、コミュニティの wiki、AnswerHub のページがすべてここからアクセスできるようになります!補足:エディタ内デバッグ コンソールを移動しました。ティルデ (~) キーを押すと、エディタ内のどこからでもコンソールを呼び出すことができます!

新たなヘルプボタン

新たにドキュメンテーションのためのアンカーが多数できたため、エディタ内で参考ドキュメンテーションが必要になった場合に簡単に直接ジャンプできるようになります!

NewHelpButtons.png

ドキュメンテーションのアクタ

新たなドキュメンテーションのアクタが、有益なドキュメンテーションのページにリンクしているサンプル コンテンツに加わりました。新たな有益なリンクが多数含まれている Content Examples (コンテンツ例) プロジェクトがアップデートされましたのでご覧ください!

DocActors.png

ドキュメンテーション ノード

ドキュメンテーション ノードによって、ブループリントのグラフ内でドキュメンテーションのスニペットを表示できるようになります。つまり、グラフ内にテキストや画像を埋め込んで、通常のコメント部の上および下に情報を配置できるようになるのです!

DocNodes.png

新たなヘルプ ツールチップ

詳細なツールチップがエディタの至る所に多数追加されました。マテリアルのノード、配置可能なアクタ、ブループリント化できるクラスなどすべてにリッチなヘルプが備わります。Ctrl+Alt を押しながら対象をマウスオーバーすると表示されます。

NewHelpTool-tips.png

ドキュメンテーション

Unreal Engine documentation の作りが変更され、読みやすくなりました!さらに、検索用の用語がヒントとしてフロントページに追加されたため、お探しのトピックを素早く見つけられるようになりました。

動画チュートリアル システム

エピックのすべての動画チュートリアル シリーズを検索、閲覧できる 動画システム がドキュメンテーションに含まれるようになります。あらゆるものがカテゴリに分類され、動画をシリーズ全体として簡単に閲覧できるようになります。

VideoTutorialSystem1.png

新規追加

学習リソース

エディタとツール

  • 新規:アンリアル エディタが、Linux でビルドおよび実行ができるようになりました (実験的機能で、サポートはまだされていません)。

  • 新規:エディタにおいて、アセット名およびオブジェクト名に大文字化が強制されなくなりました。

  • 新規:レベル (.umap ファイル) がコンテンツ ブラウザで表示されるようになりました。他のアセットで実行するのと同じ動作が実行できます。

  • 新規:Place モードでクラスの隣にドキュメンテーションのリンク ('?' アイコン) が付きました。

  • 新規:フォルダの名前変更が、コンテンツ ブラウザのパス ビューで実行できるようになりました。

  • 新規:コンテンツ ブラウザにおいて、許容されるサムネイルのサイズが小さくなりました。

  • 新規:メッセージ ログ ウィンドウのルック&フィールを大幅に改善しました。

  • 新規:FBX インポートをインポートするための UI が、よりシンプルで直感的なインターフェースに差し替えられました。

  • 新規:プロジェクト ランチャー UI ができました (依然として実験的ですが、カスタムの起動プロファイルを作成するのに非常に便利です)。

  • 新規:ユーザー プロジェクトにおいて C++ クラス ダイアログから追加されたクラスが、プロジェクトの設定で指定された著作権表示を使用するようになりました。また、デフォルトの通知用文字列が「fill this out in project settings」 (プロジェクトの設定でこれを満たす) に変更になりました。

  • 新規:UBlueprintFunctionLibrary が新しい C++ クラス ダイアログのためのショートリストにリストされるようになりました。

  • 新規:衣類のモーフターゲットをサポートする機能が追加されました。

  • 新規:新規プロジェクトを作成する際に、Target Hardware (ターゲットのハードウェア) が選択できるようになりました。これによって、さまざまなレンダリングおよびエンジンの設定のためのデフォルト値が制御されます。

    • Target Hardware の選択は [Project Settings] でいつでも変更することができ、個々の設定についてもそれぞれのホームで修正することができます。

  • 新規:グラフ エディタ (ブループリント、マテリアル、サウンドキューなど) のスプラインのルック&フィールが改善されました。

  • 新規:ミラーされたメッシュに対応できる機能を Mesh Merging ツールに追加しました。

  • タンジェント計算に関係する各種パラメータが、[Editor Settings] の [Graph Editor] セクションで調整できるようになりました。

  • 新規:マルチラインのノードのタイトルをパディングすることによって、シングルラインのノードよりも数グラフ スナップ グリッド分高くしました。これによって、複数のノードをつなぐ時にピンが並ぶようになります。

  • 修正:アンドゥ バッファに残っている参照しかない場合、[Delete assets] ダイアログが強制削除を必要としなくなりました。

  • 修正:ステータスのクエリが終了した時に、SSetingsEditorCheckoutNotice で垂直レイアウトのポップを防止しました。

  • 修正:いくつかのグラフノードのタイトルから余分な空白行を削除しました (マテリアル ノードなどからです)。

  • 新たなアセット メニューのセクションの見出しを改善しました。

  • [Project Settings] ダイアログ上の ini チェックアウト表示の表示言語が改善されました。実際に編集すべき ini ファイルがリスト表示されるようになり、ファイルがすでに書き込み可能である場合は表示が抑制されるようになりました。

  • [Project Settings] ダイアログのレイアウトを改善しました。余計なパディングを減らし、エディタの設定にしか関係しないボタンを非表示にしました。

  • ウィジェット メタデータが追加されました。 Swidgets に任意のデータをアタッチできるようになりました。

  • コンテンツ ブラウザによる使用のために CamelCase ブレイク イテレータを追加しました。

  • テクスチャのストリーミングに時間がかかる場合のエディタ通知を追加しました。

  • ランドスケープの [New Landscape] パネルへの変更をアンドゥできるようにしました。

  • SOutputLog を変更して、ログを出力するために、マルチライン編集が可能なテキスト コントロールを使用するようにしました。

  • マチネが開いている場合、マチネのアクタを別のレベルに移動できないようにしました。

  • コンテンツ ブラウザ パス (フォルダ) ビューにおいて、削除および名前変更が正しく機能するようになりました。ホットキーも修正しました。

  • コンテンツ ブラウザでアセットを削除しても、[Show Folders] が無効になっているにもかかわらず表示されることがなくなりました。

  • コンテンツ ブラウザ パス ビューからフォルダを削除しても、 [New] と [Import] が無効にならなくなりました。 [Game] ディレクトリにフォーカスが返るようになります。

  • [Editor Preference]、[Project Settings]、[Plugin Editor] を同一のタブ ウィンドウにまとめました。

  • パスが長すぎてクックできないか否かを判定するための検証を改善しました。

  • FBX のインポートにおいて、テクスチャとマテリアルのインポートがデフォルトで有効化されました。

  • スタンドアロンのカーブ アセット エディタが外見的かつ機能的に多数の点でアップブレードしました。対象には、範囲指定、スナッピング、拡張ツールバーなどが含まれています。

  • メッセージ ログがポップアップする際に正しいページを開くようになりました。

  • コンテキスト メニューに [View Documentation] が現れるアセット タイプが増えました。

  • 移動またはネットワーク エラー時に CallHandleDisconnectForFailure がクラッシュしないようにしました。

  • 新たなコリジョンが、スタティックメッシュ エディタ内で既存のコリジョンと最初にオーバーラップしないようにしました。

  • スレートビューアーおよびランチャーにおいて、ソースコードへのアクセスが機能するようになりました。

  • Shootergame において、エディタから Play From Here (ここからプレイする) を有効化できるようになりました。 Click Location (位置をクリック) がセットされた時に Click Plane (平面をクリック) がセットされるようになったためです。

  • New Project のアイコンとオーバーレイ画像を分離して個別のブラシに入れることによって、簡単に置き換えることができるようにしました。

  • スタンドアロン リッスン サーバーが正常に動作するようになりました。

  • エディタによって生成される UAT コマンドラインが、空白が含まれている username によってエラーを起こさなくなりました。

  • BSP ジオメトリが、シームレスな移動後に消える問題を修正しました。

  • FNavigationPath における length->length のタイポを修正しました。

  • アクタに対して不均一なスケーリングをした場合に生じるクラッシュを修正しました。

  • フォーリッジ アクタが着地した時に生じる遅れを修正しました。

  • クラッシュの原因となりうる IME の有効化 / 無効化問題をいくつか修正しました。

  • 全クラス リストから削除されていた無意味なクラスを修正しました (Place モード)。

  • Android に正しくデプロイできた後に生じる "Build Failure" エラーを修正しました。

  • 「インタラクティブな」変更 (滑るスライダーなど) のアンドゥ処理を修正しました。小目盛 1 つ 1 つの変更に対するアンドゥ処理でアンドゥ バッファが溢れないようにしました。

  • 複数のアクタが選択された場合におけるアクタのトランスフォーム上の [reset to default] ボタンを修正しました。

アンリアル モーション グラフィック (UMG)

  • 新たなウィジェット - Scale Box (スケール ボックス)。スケーリングのオプションを保存しながら、アスペクト比を使ってコンテンツをスペースにフィットするようにスケーリングできるようになります。 *新たなウィジェット - Spin Box (スピン ボックス)。数値を直接入力し、クリック&ドラッグで数値を変更できます。

  • 新たなウィジェット - Grid (グリッド)。不均等にグリッド化されたアイテムを、複数の行と列のスパンをともなって、デザイナー内に配置できます。

  • 新たなウィジェット - Size Box (サイズ ボックス)。このウィジェットとそのコンテンツのための複数のサイズ ルールを指定できます。何らかのものを特定のサイズにしなければならない場合がありますが、このウィジェットはそれを可能にします。

  • 新たなウィジェット - String Combo Box (文字列コンボボックス)。文字列値のリストをコンボボックスに表示できます。

  • 新規:スクロール ボックスが、スレートおよび UMG における水平スクロール機能をサポートしました。

  • イベントのリスト (マルチキャスト イベントおよび関数バインド可能なイベントの両方) が、ウィジェット選択時に、1 つの統一したリストの中に表示されるようになりました。

  • 新たなギズモがデザイナに備わりました。これは、キャンバス パネル内にコンテンツを配置する際に、アンカーポイントを調整するために使用できるものです。

  • すべてのウィジェットが Render Transform (移動、 2D 回転、スケール、せん断) をサポートするようになりました。

  • デザイナを使用して、Layout Transform または Render Transform モード時にウィジェットを移動できるようになりました。

  • プレイヤー コントローラの新しい SetInputMode() API で、入力の送信方法をさらに制御できるようになりました。Modal UI などの設定が簡単になりました。

  • グリッド スナッピングを Translation layout モードに追加しました。

  • ウィジェットを作成する際は、新たな Create Widget ノードを使用しなければなりません。これは、Spawn Actor ノードと同じように機能し、[exposed on spawn (スポーン時にエクスポーズされる)] と設定された変数を設定できるようになります。

    UMGnew01.png

  • ゲーム内のスレート/UMG UI にデフォルトの DPI スケーリング ルールが備わりました。デフォルトのセットアップでは、短辺の解像度に基いて UI の線形スケーリングが実行されます。

  • ドラッグ & ドロップに限定的なサポートが備わりました。ただし、ドラッグされたコンテンツを収納する別ウィンドウが作成されないようにするために解決すべき問題が依然として残ります。

  • 実装するには少なくても 2 つの異なるユーザー ウィジェット (ドラッグ可能なウィジェットとドロップのターゲットとして機能するウィジェット) が必要となります。

  • デザイナー ビューの [Aspect Ratio] メニューの名前が [Resolutions] に変わりました。

  • 現在選択されているものに適合するすべての解像度が [Resolutions] メニューでチェックされます。現在の解像度もデザイナのビューの左下に表示されます。

  • GetText() をTextBlock に追加しました。

  • 安定性に関する多数の改善。デザイン時にバインディングが実行されなくなりました。 UMG で目撃されたクラッシュの多くが防止できます。

  • 詳細レベルの入力処理が UMG ウィジェットで可能になりました。マウス/コントローラー/キーボードの関数をオーバーライドして、そこで入力を処理する必要があります。

  • フォーカスが含まれている場合にゲームのビューポートでスロットリングが無効化されるようにになりました。これによって、ゲーム内のスレート UI がエディタ内でスロットリングをトリガーしなくなります。すなわち、ゲーム内でスレートまたは UMG UI とインタラクトしてもエディタが更新を中止することはなくなります。

  • UUserWidget 上ですべての BlueprintImplementableEvents を BlupeprintNativeEvent に変更します。ネイティブの実装もこれらのイベントを処理できるようになります。

  • プロジェクト内の他のすべての Widget ブループリントをパレットが正しく表示するようになりました。

  • プログレス バーが、進行の画像を表示する時にクリッピング ラインを除去するようになりました。ペイント ジオメトリをスケーリングしない代わりに、クリッピングの長方形をスケーリングするようになります。これは FillFromCenter 以外のすべてについて実行されます。 FillFromCenter において唯一理にかなっていることは、ペイント ジオメトリをスケーリングすることです。それ以外は、球形の画像が正方形を使ってフィルされます。さらに、TopToBottom (最上部から最下部) と BottomToTop (最下部から最上部) のための Fill 方向を追加しました。

  • スレート カラー 詳細のカスタム化において、新たな [Inherit] チェックボックスを使って [Use Foreground] フラグを切り替えることができるようになりました。

  • TextBlocks にテキストの行端揃えが付きました。

  • アンカー ドロップダウン メニューを改善して、そのエフェクトのプレビューを表示するようにしました。

  • アンカーポイントをアニメートできるようになりました。 *[Context Sensitive] が有効化されている場合に、ウィジェット関数がグラフ内に表示されない何件かのケースについて修正しました。

Paper 2D

  • 新規:スプライトのポーン / ビジビリティのコリジョンのためのデバッグ レンダリングを追加しました。

    • VMI_CollisionVisibility および VMI_CollisionPawn ビューモードのためのサポートを FPaperRenderSceneProxy に追加しました。

    • スプライト ワイヤーフレーム カラーを変更して、スタティック メッシュの表示に合うようにしました (可動性の差異を含む)。

    ShowPlayerCollision2D.png

  • 新規:スプライトが navmesh の生成に影響を及ぼすようになりました。

    SpritesAffectingNavmesh.png

  • 新規:フリップブックのアセットおよびコンポーネントにおいて、ソケットを定義およびクエリするためのサポート。

    • 現在の実装では、各ソース フレームで定義されたソケットがパスされて、フリップブック エディタで直接オーサリングすることができませんが、それ以外は完全に機能しています。

  • 新規:UPaperFlipbook アセットおよびコンポーネントにおいてマテリアル サポートを改善しました。

    • UPaperFlipbookComponent を改変して UMeshComponent から派生されるようにしました。ランタイム時にマテリアルをブループリントからオーバーライドできるようになりました。

    • デフォルト マテリアルを UPaperFlipbook アセットに追加し、UPaperFlipbookComponent における Material override のデフォルトの値を null に変更しました。

      • これによって既存のコンテンツに影響が生じることはないはずですが、マテリアルがフリップブックによって一度セットされることが可能になり、フリップブック エディタの内部で正しく表示されるようになります。その結果、各インスタンス上でマテリアルがセットされなくても良くなります。

  • 新規:フリップブックのコンポーネントにおいてマイナスの再生レートがサポートされました。

  • 新規:プロジェクト全体のデフォルトのマテリアルを選択できるサポートを加しました。このマテリアルは、新たに作成されるスプライトに適用されます。

    • 様々な InitSprite バリアントを、init パラメータ オブジェクトを受け取る 1 つの関数にまとめます。

  • 新規:Paper2D プラグインを「Experimental」フォルダから移動しました。わずかな部分しか実験的でなくなったための措置です。

  • 新規:APaperFlipbookActor および APaperSpriteActor において、RenderComponent がブループリントにエクスポーズされます。また、 'pass-thru' メタデータを追加することによって、各種関数が アクタの参照からコンポーネント上で呼び出し可能になります。

  • 新規:DLL エクスポートを UPaperSpriteComponent と APaperCharacter に追加しました。

  • 新規:レンダー ジオメトリにおいて穴のあるスプライトを手動で作成するためのサポートを追加しました。

  • 新規:クラスのコメントを APaperSpriteActor と UPaperSpriteComponent に追加しました。 EarlyAccessPreview フラグを UPaperSpriteComponent から削除しました。

  • 新規:フリップブックが自動作成されるようになりました。選択したもの、またはスプライトのシートから名前を自動的に検出してグループ化します。

  • スプライト ソース領域の編集モードのワークフローを改善しました。長方形を Ctrl + ドラッグすることによってスプライトを素早くスライスできます。

  • 修正済み:ピクセル/uu が 1.0 ではない場合にソケットがスプライト エディタで正しい位置に描画されるようになりました。

  • 修正済み:ピクセル/uu が 1.0 でない場合にソケットのギズモの操作速度が正しくなりました。

  • 修正済み:iOS と Android デバイスにおいて、スプライトがスワップされた頂点カラー チャンネルを伴わなくなりました。

    • FPaperSpriteVertex と FMaterialSpriteVertex を変換して FLinearColor の代わりに FColor を使うようにしました。

    • FLocalVertexFactory に check() を追加することによって、ColorComponent が VET_Color であるという前提を強制しました。

  • 修正済み:コンタクトのフィルタリングが Box2D プロトタイプで正しく適用されない問題。(Box2D を使用する際にデバッグで生じるクラッシュも修正しました。)

  • ジオメトリ エディタのユーザビリティを改善しました。

ビヘイビアツリー

  • 入力からピンをドラッグすると、新たなビヘイビアツリーが自動的に接続されるようになります。

  • Blackboard プロパティのリセットをアンドゥした後に Blackboard モードを選択できるようになりました。

  • Blackboard ビューで、正しい「現在の」 Blackboard 値が表示されるようになりました。

  • Blackboard エントリが重複した名前で作成されなくなりました。

  • ビヘイビアツリーのサブ ノード上で右クリック メニューの操作が有効になりました。

  • Blackboard が Blackboard モードで編集される場合の Blackboard のビューを更新しました。

  • アンドゥとリドゥが Blackboard のエントリに正しく影響するようになりました。

  • ビヘイビアツリーの編集時に、クラッシュしてシャットダウンする問題を修正しました。

  • 詳細パネルがタブより大きくなった場合にビヘイビアツリーの詳細がスクロールされない問題を修正しました。

  • 列挙型変数が無効である場合、列挙型変数 Blackboard のキー値を選択するとクラッシュする問題を修正しました。

FBX

  • インポート:スケルタルメッシュのためのルートが複数あり、複数回インポートするとクラッシュする問題を修正しました。

  • インポート:アニメーションのためのフレームを少なくインポートすると生じる問題を修正しました。

  • エクスポート:メッシュ / スケルトンは BaseNode 下にグループ化されなくなりました。

  • エクスポート:アニメーションが正しく時間をエクスポートするようになりました。

ランドスケープ

  • 新規:LightingLODBias を Compopnent に追加することによって、Lightmass のビルド時にランドスケープ LOD を調節できるようにしました。

  • 新規:ランドスケープ スプラインとスプライン メッシュ コンポーネントが、OpenGL ES2 で使用できるようになりました。

  • 新規:Landscape Layer Sample マテリアル式を追加することによって、レイヤー ウェイト値を取得できるようにしました。

  • 新規:ランドスケープとフォーリッジのペインティングで Ctrl を押下しなくてもよくなりました。

  • 新規:ランドスケープのスカルプティング ツールを改善しました。連続的でフレームレーに依存となりました。

  • 新規:[Tutorial] ボタンがフォーリッジおよびランドスケープのツール パネルで表示されるようになりました。

  • XY でオフセットされたランドスケープのためにシミュレーション モードを有効化しました。

  • 共有化されていない設定が配置されているフォーリッジがある場合に、ランドスケープのコンポーネントをストリーミング レベルに移動した後に、保存エラーが発生する問題を修正しました。

  • インスタンスを削除すると、フォーリッジのツール データの内部データが破損する問題 (たぶんに無限ループに陥る) を修正しました。

  • フォーリッジの Erase Density (密度の消去) と Rapply Density (密度の再適用) 機能を修正しました。

  • ランドスケープの Flatten (平坦化) ツールを強度 1.0 以上で使用するとノイズが発生する問題を修正しました。

  • ペイント可能なレイヤーがない状態でランドスケープのペインティング ツールを使おうとするとクラッシュする問題を修正しました。

  • フォーリッジ モードがオープンであり、かつ、フォーリッジ ブラシが表示されている状態でレベルを切り替えるとクラッシュする問題を修正しました。

  • マイナスの X または Y のスケールをともなったランドスケープの光源処理について修正しました。

  • New Landscape パネル内のマテリアルを、より少ないマテリアル レイヤー (または null) と置き換えるとクラッシュする問題を修正しました。

  • スカルプティング ツールで表示される Landscape Layer Painting Restriction (ランドスケープ レイヤー ペインティング制限) を修正しました。

  • ランドスケープのテクスチャ/マテリアルのサムネイルを UE4.4 が生成する機能について修正しました (マップサイズが膨張し、保存速度が遅くなっていました)。

  • ランドスケープの物理形状の ID を修正して、トレース時にランドスケープを無視できるようにしました。

  • 1 つのコンポーネントにつき複数のサブセクションがあり、可視性マップもともなっているランドスケープをエクスポートする際に、ランドスケープのエクスポートがクラッシュする問題を修正しました。

  • 修正済み:補間高度のためにコンポーネントのリグレッションが追加される問題。

  • 修正済み:Play From Here (ここからプレイする) によってポーンがスポーンされない問題。

  • 修正済み:Game モードにおけるテセレーション インデックス バッファに関する問題。

カスケード

  • 修正済み:GPU パーティクルに関する LOD のためのスポーンレートについて。

  • 修正済み:カスケードでカーブを編集する際に生じるクラッシュ。

  • 修正済み:Camera Facing (カメラ正対) が有効化されている場合にメッシュ データの方向が効力をもたなかった問題。

  • 修正済み:トレール エミッタのソースがローカル空間でシミュレートされる場合に、トレール エミッタが正しく機能しない問題。

  • 修正済み:ブループリントでパーティクル エミッタをスポーンした後、そのエミッタに正しい LOD が設定されなかった問題。

  • Orbit モジュールをともなったメッシュ エミッタが、正しく ParticleDirection をマテリアルに送るようになりました。

  • 鳥のためのマテリアルを修正して常に ParticleDirection を使用するようにしました。変形されたワールド空間の単位ベクタは使用しません (Zen Garden、 LandscapeMountains に影響を与えます)。

  • OpenGL ES と Metal において、Particle Velocity と RelativeTime が定数としてのシェーダーで使用できるようになりました。

  • UParticleModuleLocationPrimitiveCylinder がスポーン位置モジュール メニューで表示されるようになりました。

ブループリント

  • グラフのレンダリングの改善点

    • グラフ エディタ内における接続ラインの表示方法を洗練させました。 ImprovedGraphRendering.png

    • 一列に並んだノード間の直線的な接続が簡単になるとともに、スプラインの形が調整されてたどりやすくなりました。

  • 新規:線形カラーに CInterpTo を追加しました。ブループリントにエクスポーズされます (https://github.com/EpicGames/UnrealEngine/pull/331, EverNewJoy)。

  • 新規:ブループリントの 'Ease' ノードを追加しました。 linear モード、 step モード、 sinusoidal モード、exponential モード、 circular モードで使用される値を補正します。

  • ブループリント パレットがデフォルトで非表示になりました。

  • ブランクのブループリント グラフが消極的な説明文を表示するようになりました。新規ユーザーがコンテキスト メニューを使用する際のガイドとなります。

  • 新規:メイン エディタ ツールバー上でブループリントのドロップダウンから World Settings game mode クラスを選択できるようになりました。

  • 新規:Camera アクタのティックが可能になりました。また、Camera アクタがブループリントの Tick イベントを利用できるようになりました。

  • ブループリントのコンパイル、 PIE、 SIE によって、アンドゥ バッファがフラッシュしなくなりました。そのため、 PIE/SIE のセッションをまたいでアンドゥできるようになりました。

  • コンポーネントのカテゴリ ソーティングが [My Blueprint] パネルで有効化されました。ユーザーのソーティングをトラッキングするための情報がブループリントに追加されました。

  • スクリプトの最大ループ イテレーションがエディタの設定を通じてユーザーにエクスポーズされました。 Project->Engine->Blueprints - Maximum Loop Iteration Count (最大ループ イテレーション数) に置かれています。

  • ドキュメンテーション ノードをブループリント インターフェースに追加しました。これらのノードには、リンクと引用名をセットするために詳細パネルを利用して、ブループリント エディタ内で UDN ドキュメンテーションを表示できる機能が備わっています。

  • ブループリント コンパイラを改変して、非接続 / 非アクティブな Timeline ノードを見分けてカリングするようにしました。そのため、アクタのインスタンスは、ティックを要するか否かを判定するために、リソースを必要とする重複した Timeline コンポーネントをともなわなくなりました。

  • DataTable/CurveTable ブループリント ノード:列名を選択するドロップダウン ボックス

  • GetActorsInSelectionRectangle が 'bIncludeNonCollidingComponents' オプション (https://github.com/EpicGames/UnrealEngine/pull/370, EverNewJoy) を受け取るようになりました。

  • 新規:DataTable が UserDefinedStructure を使用できるようになりました。

  • 新規:Latent (潜行) 関数をマクログラフに追加できるようになりました。

  • 新規:警告 / エラー メッセージをノードの最下部に移動しました。ノードがエラー状態になった場合でもピンの垂直位置が変更しなくなります。

  • 新規:UserDefinedStructure のメンバ変数の順序を変更できるようになりました。

  • 'raycast' および 'sweep' キーワードを、関係するブループリントのコリジョン関数に追加しました。

  • Blueprint Diff Tool によって読み込まれたブループリントが、ブループリント エディタにおいて参照可能として表示されなくなりました。

  • ブループリントの diff control によって、ブループリントのコンポーネントとデフォルトに加えられた変更が表示されるようになりました。

  • コンポーネント ピッカーの UI を改善しました。コンポーネントのドキュメンテーションにリンクを追加しました。

  • 'const' メンバー関数が BlueprintPure としてマークできるようになりました (すべての 'const' メンバー関数はそのまま BlueprintPure として扱われます)。

  • [My Blueprints] ウィンドウで Ctrl+W によってブループリント変数が複製されます。

  • ブループリント内のローカル変数を削除しても、その名前のブループリント内のローカル変数すべてが削除されることはありません。

  • ブループリント マクロへの列挙型変数入力がインラインで編集できるようになりました。ピンを低数値に割り当てるためにのノードを作成する必要がなくなりました。

  • イベントをサポートしていないブループリント グラフでイベントを作成できなくなりました。

  • グラフ パネルで Alt を押しながらマウスの右ボタン を押すと、パネルのコーナーではなく初期のマウスの位置がズームします。

  • 再帰的な関数を呼び出すことによってデッドロックするブループリントの検出を改善しました。

  • ブループリント メニューの反応時間を最適化しました。

  • ブループリントのノード名のピンが、数値以外の値でなければならないという条件を削除しました (エンジンの他の部分ではこの条件がすでに存在しないように思われます)。

  • [My Blueprint] ウィンドウで親グラフの下にサブ グラフが表示されるようになります。

  • オブジェクトが削除された後、パッケージのクリーンアップ中にトランザクション バッファをリセットするように求められることがなくなりました。

  • ブループリントの循環依存問題を解消するための作業が進行中です (1 つを削減すると他が不安定になります)。抜本的な解決策を模索中です。

  • 外部のブループリント依存ファイルに関する配列プロパティが、読み込み時にブループリントのクラスを生成するのに先立って、完全には読み込まれていなかった問題を修正しました。

  • ネイティブのコンポーネントのアタッチメントを含んでいるブループリントのアセットが、開く時に保存する必要があると誤って示されていた問題を修正しました。

  • 外部に依存するブループリントをコンパイルすると、その依存しているブループリントを保存する必要性を無意味に表示する問題を修正しました。

  • Session Frontend における Compile Blueprints オートメーション テストが、すべてのブループリント アセットを保存しなかればならないと示していた問題を修正しました。

  • DataTable ブループリント ノード: Get Data Table Row (データ テーブル行を取得) の Out Row が正しく更新されない問題に対する修正。

  • 子のブループリントが存在している時にその親のブループリントを削除するとクラッシュする問題を修正しました。

  • リダイレクトをともなった列挙型変数によって、ロード時にブループリント グラフ内で Select ノードとの接続が切断される問題を修正しました。

  • ブループリント グラフ内で Select ノードが配列型と正しく機能しない問題を修正しました。

  • 関数にフレンドリ名がある場合の Function Entry ノードのタイトルに関する問題を修正しました。

  • コンポーネントをともなった Actor インスタンスのカット/削除に続いてアンドゥするとクラッシュする問題を修正しました。

  • ブループリント エディタで Components モード時にコピー/ペーストするとクラッシュする問題を修正しました。

  • ChildActorComponent 内部における初期化されていない Actor インスタンス名によって引き起こされる、ガーベジ コレクション中にクラッシュする問題を修正しました。

  • 依存しているブループリントの Construction Script において、変数ノードが外部からプロパティにアクセスするとコンパイル時に VM クラッシュが生じる問題を修正しました。

  • 外部のオブジェクトへの無効な自己参照を生成する際に、変数をグラフにドラッグ&ドロップできてしまう問題を修正しました。

  • ブループリントを複製した後に、Text ピン同士が互いの値を書き換える問題を修正しました。

  • よりコンパクトなノードで繰り返し適用できるようにするために、各種ノードのパディング値を調整可能にします (作業中)。

  • デリゲートのピン以外の継承されたビヘイビアに依存して SGraphNodeK2Event::AddPin から重複するコードを削除しました。

  • ブループリント内のクラスのプロパティがそのクラスを見つけられない (削除されたため) 場合に、これらのクラスの参照は、Object クラスの参照に置き換わるため、修正が可能になります。

レンダリング

  • 新規:自動ライトマップ UV 生成機能を追加しました。

    • 既存の UV チャートを再パックします。タイリングの場合にチャートを結合させます。

    • この機能を有効/無効にするための設定を FBX インポート ダイアログに追加しました。

    • スタティック メッシュのビルド プロセスの一部となっています。プロパティは、Build Settings の下にあるメッシュ エディタ内にエクスポーズされます。

  • 新規:r.ProfileGPU.Pattern を追加することによって、ProfileGPU を使用する際にエントリをフィルタリングできるようにしました。幾つか他の cvars の名前を変更して、r.ProfileGPU で開始するようにしました。

  • 新規:シェーディング モデル SubsurfaceProfile を追加し、Jorge Jimenez と Diego Gutierrez による SeparableSSS を使用したマテリアルまたはマテリアル インスタンス上で新たな SubsurfaceProfile を指定できます。

  • 新規:プロパティが見つからない場合、または読み取り専用に設定されている場合の、レンダラの設定に対する警告を追加しました (ini ファイルにはまだ書き込まれるため、読み取り専用が常にエラーになるとは限りません。次回の実行まで有効にはなりません)。

  • 距離フィールド アンビエント オクルージョンの改善

    • 非同期の生成により、メッシュを閉じる必要はなくなりました。

    • 得られるベント法線は、近似的な円錐 - 円錐交差を使用する、スカイライト スペキュラのオクルージョンにも使われます。

    • 最適化とクオリティの改善

    • 距離フィールドの表現をともなわないメッシュがオクルージョンを受け取るようになりました。

    • OcclusionMaxDistance プロパティと Contrast プロパティを Movable (移動可能) なスカイライトに追加しました。

    • 反射キャプチャが移動可能なスカイライトについても機能するようになりました。

    • メッシュの距離フィールドを表示する表示フラグを新規に追加しました。距離フィールドをレイトレースし、そn形状の感覚を表示します。

  • 新規:レンダリングのプロジェクト設定 bUseNormalMapsForStaticLighting

    • 詳細法線以上の情報を含む法線マップで、ローポリ メッシュ上に焼き付けられたライティングの品質を改善します。

  • 新規:レイトレースされたディスタンス フィールドのソフト シャドウ

    • シーンの距離フィールドからライトまでをレイトレースし、コーン トレースを近似計算することによってソフトシャドウを作り出します。

    • プロジェクト設定項目 'bGenerateMeshDistanceFields' を有効にする必要があります。距離フィールド アンビエント オクルージョンと同じ制約があります。

    • bUseRayTracedDistanceFieldShadows が有効にされると、ポイント ライト、スポット ライト、指向性ライトがサポートされます。

    • ポイント ライトとスポット ライトが、SourceRadius を使用して半暗部のサイズを制御します。指向性ライトは LightSourceAngle を使用します。

    • 指向性ライトにおけるレイトレースされたシャドウは最大で DistanceFieldShadowDistance までカバーします。遠くのシャドウを処理することによって CSM を補完することができます。

  • 新規:SM4 フィーチャー レベルが、半透明において反射キャプチャをサポートするようになりました。

  • 新規:モバイルのマテリアル上でスカイライトがサポートされるようになりました。

  • プロジェクトのデフォルトをエクスポーズすることによって、いくつかのポストプロセスの設定項目をデフォルトで有効/無効にできるようにしました。

  • 新たなマテリアルの高度なフラグ bAutomaticallySetUsageInEditor を追加しました。ベース マテリアル上で無効にすることによって、使用フラグが誤ってセットされないようにできます。

  • バッファ ビジュアライゼーション アセットを改変して、トーンマッパの前に置きました (新たなコードで AA にします)。

  • GPU スキン パススルーの頂点ファクトリによって、シェーダーがコンパイルされないようにします (この機能が無効になっている場合)。

  • ゲーム コンソールの履歴が、エディタのオートコンプリートのように機能するようになりました。最大で 50 エレメントまで保存できます。重複がある場合は、要素が削除されません。

  • シェーディング モデルにおけるスペキュラ処理を改善しました。

  • UTextureRenderTarget2D 上で UpdateResourceImmediate(false) を呼び出すことによって、バッファをクリアせずにレンダー ターゲットのテクスチャを解像できるようになりました。

  • 関数 SetBrightness と SetIntensity を ULightComponent と USkyLightComponent に名前変更しました。

  • 非表示になっているアクタによってキャストされるシャドウの更新/アニメートが可能になりました。

  • 被破壊性メッシュの従法線が正しく生成されるようになりました。これによって、被破壊性メッシュのための頂点法線が不正になる問題が修正されるはずです。

  • Stationary light (固定ライト) からのシャドウに完全に入っているスタティックメッシュが、静的なシャドウマップ データを破棄して、負荷が低めのベース パスの組み合わせを使用することになります。

  • FPrimitiveSceneProxy::PreRenderView / DrawDynamicElements が GetDynamicMeshElements にリファクタリングされました。

    • 移行中はまだ両方のパスはコードに存在します。GetDynamicMeshElements のパスは現在無効になっています。「r.UseGetDynamicMeshElements 1」によって有効化します。

    • GetDynamicMeshElements を InitViews に 1 回呼び出して得られたメッシュはさまざまなパスで使用されます。

    • GetDynamicMeshElements は const なのでプロキシを改変してはなりません。更新作業はゲームスレッドからプロキシに押し出されるはずです。

    • GetDynamicMeshElements は、ビューファミリー外のビュー上で呼び出せます。これによって、シャドウ デプス パスのビューが適切になります。

  • いくつかのレンダリング プロジェクト設定のためにディスプレイ名とツールチップを改善しました。

  • 間接ライティング キャッシュの改善 (キャラクターの間接ライティング)

    • プリミティブがデフォルトで単一のポイントを補間します。全体的な間接ライティング キャッシュ時間が 1/4 になります。

    • PrimitiveComponents に新たな高度なライティング プロパティ IndirectLightingCacheQuality が備わりました。Volume にセットすると、前のビヘイビアを取得します。

    • レベル内の IndirectLightingCache の負荷とメモリを削減できる Lightmass WorldSetting VolumeLightSamplePlacementScale を新規に追加しました。

    • 1728 を超える移動可能なコンポーネントが存在する場合に生じるアーティファクトを修正しました。

  • ライトマス kDOP はメモリの事前割当を減らし、Nodes 配列のリサイズに対応します。

    • LandscapeMountains Lightmass のメモリ使用が 19Gb から 10.5Gb になりました。

  • FOV が狭いと LightFunctions が無効になる問題を修正しました。

  • CustomDepth BufferVisualization アセットを修正しました。

  • CustomDepth のレンダリングを修正しました。

  • 何らかの理由でピンが混ざっていたので、bufferVis マテリアルのいくつかを修正しました。

  • 明るい画像ベースのライティングに関する軽度のバンディング問題を修正しました。

  • LPV による ScreenSpaceSubsurfaceScattering (スクリーン空間サブサーフェス スキャタリング) を修正しました。

  • Canvas を使用する際にモバイル プロジェクトでレンダリングが上下逆に行われる問題を修正しました。

  • モバイルにおけるスペキュラ強度を修正しました。

  • クリアコートをともなう SSR を修正しました。

  • Responsive AA を修正しました。

  • ステレオのベロシティ レンダリングを修正しました。

  • 移動可能なスカイライトにおけるスペキュラを修正しました。

  • IndirectLightingCache 表示フラグによって、動的なオブジェクト上で直接ライティングが無効化される問題を修正しました。

  • 固定スカイライトでライトマップのミキシングがされない問題を修正しました。

アニメーション

  • 新規:* 異なる空間におけるアニメーション リターゲット機能

    • オプションは複数ありますが、エンジンの「リターゲット」機能を使えば、異なるスケルトン間でアニメーションのリターゲットが行えます。リターゲット機能を使えば、アニメーションをコピーしたりアニメーションそのものを変更して異なるスケルトンをリターゲットするために、アニメーション アセットのコピーを作成することができます。ボーン名が一致すれば、リグ システムを使う必要はありません。ボーン名が一致しない場合、新たな「リグ」システムを使用しなければなりません。人間の場合は、エンジンの Humanoid Rig を使ってください。それが不可能な場合は、スケルトンからリグを作成して、両方のスケルトンに同じリグを共有させることができます。これによって正しくリターゲットすることができます。詳しくはドキュメンテーションを参照してください。

  • 新規:右クリックによってアセット ブラウザでアニメーションを再インポートできる機能を追加しました。

  • 新規:アニメーション アセットでカーブを複製できるオプションを追加しました。

  • 新規:スケルトンに Smart Names を追加しました。

    • スケルトンの文字列メタデータのための中心的辞書

    • スマートネームを使用するために更新されるカーブ名

  • 新規:マーキー 選択をペルソナの [Notifies] パネルに追加しました。

  • 新規:アニメーション アセットの参照型変数をスケルトンでフィルタリングする機能を、アニメーション ブループリントに追加しました。

  • 新規:ブレンド スペースが再生レート -1 でアニメーションを再生できる機能を追加しました。

  • 新規:アニメーション ブループリントに SkelControl Trail ノードを追加しました。

  • スケルトン ノードのカスタム属性である場合に Import Curve をサポートします。

  • リターゲット ソース マネージャにおけるアンドゥを改善しました。

  • AnimNotify: Begin イベントの期間を追加しました。

  • BlendSpace: Per-Bone Blend (ボーン単位のブレンド) のためにボーン名を選択できない問題を修正しました。

  • BoneSelection Widget: プロパティがリンクされなくなります。

  • リターゲットのロジックを変更して、他の AnimSequence から参照される AnimSequences を扱えるようにしました。

  • NewSocket における変数ではなく、親のボーンの名前を使って新たなソケットが作成されます。

  • メッシュをフォーカスするとペルソナのビューポートがフィットする機能を改善しました。

  • ブループリントのデバッギングにおける Step のアクションを F10 にマッピングしました。ポーズ/ポーズ解除を F10 から F8 に移動しました。

  • 既存のステート ノードからドラッグする場合に、新たなステート ノードではなく遷移ノードが選択されてしまわないようにしました。

  • アニメーションのサムネイルを生成する場合に notify の処理をオフにしました。

  • ペルソナで断続的に生じる realloc のクラッシュを修正しました。

  • state notify ではない場合に、Anim Notify が終了オフセットで終わる問題を修正しました。

  • Anim Notify State をドラッグすると、あちこち動いてしまう問題を修正しました。

  • ドラッグによって notify の正しくない側に開始および終了スナップが表示される問題を修正しました。

  • スマートネームのシリアライゼーション問題を修正しました。

  • アニメーション アセットでソケットを指定する際の相違を修正しました。

  • notify のソートに関する問題が原因で notify ノードがパネル内で不規則に動き回ってしまう問題を修正しました。

  • notify オブジェクトにアンドゥが正しく機能しない問題を修正しました。

  • カーブをともなったアニメーションをコピーするとスケルトンでクラッシュする問題を修正しました。

  • モンタージュのデバッグ表示を修正して、ウェイト情報が正しく表示されるようにしました。

  • LOD スクリーン サイズを手動で入力した場合、無効な値にスナップしないように修正しました。

  • New Notify メニューが派生したアニメーション notify を表示しない問題を修正しました。

  • マルチスレッド化されたアニメーション評価にともなってクラッシュする問題を修正しました。

  • サムネイルが生成された後に、ブレンドスペース/モンタージュの delete asset (削除アセット) ダイアログ上で誤った参照が表示される問題を修正しました。

  • 追加のメッシュ表示 UI を修正しました (これまでは、追加アイテムが UI 上で表示されていませんでした)。

  • NULL を返す GetCompletionHandle を修正しました。

  • スケルトンがないアセットをリターゲットするとクラッシュする問題を修正しました。

  • 詳細パネルを通じてスケルタルメッシュにおけるアニメーションの初期時間位置を変更すると、メッシュが更新されない問題を修正しました。

  • AnimComposite をワールドに追加する際の問題を修正しました。

ゲームプレイとフレームワーク

  • 新規:ティック機能のタスクのためのサポートを追加しました。

  • 新規:タイムライン コンポーネントにおけるマイナスのプレイレートのためのサポートを追加しました。

  • アクティブな GameplayAbility によって、その他の機能が機能タグに基いてアクティベートできなくするためのサポートを追加しました。

  • 新規:GameplayTags のカウントされたセットが含まれている FGameplayTagCountContainer 構造体を追加しました。

  • 新規:Projectile Movement コンポーネントにターゲットに向かっていく機能を追加しました。

  • 新規:条件付きループ Decorator を追加しました。

  • 新規:BTNode クラスに CleanupMemory 関数を追加しました。

  • 新規:CSV パーサーを追加しました。

  • 新規:スレートでフォントをレンダリングする時に使用するフォント ヒンティング アルゴリズムを指定する機能を追加しました。

  • 新規:Perspective (透視図法) ビューポートで「透明な」ボックス選択を可能にする設定を追加しました。

    • この設定を有効化すると、Perspective (透視図法) ビューポートでマーキー選択が可能になり、完全に他のアクタに完全にオクルードされている状態のアクタも選択できるようになります。

  • 新規:各種補間関数の一定速度バージョンを追加しました。

  • 新規:AActor::UnitializeComponents と UActorComponent::UnitializeComponent を追加し、既存の InitializeComponent 関数とペアにしました。

  • 新規:EQS ログ機能を Visual Logger に追加しました。

  • 新規:NavOctree を描画/ビジュアライズするためのエディタ オプションを追加しました。

  • ビヘイビア ツリーの Service notify を、実行開始から検索開始に移動したので、状態チェック サービスに関する結果が向上します。

  • 新規:ブループリントで利用可能なクラスのクラス ドロップダウン メニューの横にあるボタンから、直接ブループリントを新規作成できるようになりました。

  • 新規:TSubclassOf プロパティから TAssetSubclassOf プロパティへの変換機能が自動的に動作するようになります。UObjects の配列から TAssetPtr の配列への変換についても、自動変換がサポートされるようになりました。

  • UAT にコードを追加し、ユニークな実行ファイルをコンパイルしながら異なるプラットフォームのクックされたデータを使用するプラットフォームをサポートしました。現在のところ、コマンドラインからはアクセスできません。

  • EQS デバッグ機能を Gameplay Debugger の一部として有効化しました。これはクライアント/サーバー ゲームにも有効です。EQS をともなわないプロジェクトについては無効化されます。

  • LogVisualizer ツールを拡張しました。特定の EQS クエリ データを選択およびレンダリングできます。

  • GameplayDebugger を拡張して、ポーンと AIController から同時に EQS データを収集できるようにしました (ポーン上で実行可能なクエリもあれば、コントローラー上で実行可能クエリもあります)。

  • 拡張された Visual Logger と UObject によってデータを直接ログできるようになりました。アクタからのみログを取る必要はなくなりましたが、 catch - object はそのログをアクタにリダイレクトする必要があり、このアクタがログを所有することになります。

  • Simulation in Editor 用の GameplayDebugger データ ビューを拡張しました。GameplayDebuggingReplicator アクタ (Simulate 中にのみ見えるアクタ) からのプロパティを使用してデバッグのビューを切り替えることができます。

  • EQS Debugger の単一項目のためのデバッグ情報を強化しました (GameplayDebugger 機能)。

  • 新規:GetGlobalTimeDilation ブループリント ノードが利用できるようになりました。

  • GameplayDebugger が複数の EQS クエリをデバッグできるようになりました。これらのクエリを切り替えることによって、選択したクエリを表示できます。

  • 新規:IsGamePaused がブループリント ノードとして使用できるようになりました。

  • ライブラリ関数に SetSupressViewportTransitionMessage を追加しました。

  • RecompileBlueprintBytecode のチェックに特別な情報を追加することによって、無効な生成クラスをもっているブループリントを示すようにしました。

  • ブループリントの文字列ライブラリに文字列操作関数をいくつか追加しました。

  • 新たなチュートリアル システムのために多数のウィジェットにメタタグを追加しました。

  • ビューポートの遷移メッセージを変更してデフォルトで off にしました。

  • Max agent step height (最大エージェント ステップの高さ) が navmesh 単位で定義できるようになりました。

  • アイデンティティとセッション オンライン サブシステム インターフェイス内の多数の関数が、LocalUserNum ではなく FUniqueNetId を受け取るオーバーロードをもつようになりました。

    • これらのオーバーロードは、任意に変更可能なユーザー ― コントローラー マッピングをもつプラットフォーム、または、必ずしも 1 対 1 ではないプラットフォーム (たとえば Xbox One) で役立ちます。

  • Engine.h から RenderingSettings.h と AudioSettings.h を削除しました (実際に使用される場合も含めて)。

  • Read Leaderboard Integer ブループリント ノードが Google Play on Android で正しく機能するようになりました。

  • エディタ ツールバーの [設定] メニューからすばやく [プロジェクト設定] にアクセスできるようになりました。[ワールド設定] は、専用のボタンがなくなり [設定] メニューに移動しました。

  • 新規:ToggleDebugCamera のカメラ回転がタッチ入力 (bUseMouseForTouch=true の場合) で使用できるようになりました。

  • UCurveBase と UCurveLinearColor から MinimalAIP を削除しました。別のモジュール (エディタ) で拡張が可能になります。

    • また、UCurveLinearColor::GetLinearColorValue() 関数を virtual にしてオーバーライドできるようにしました。

  • 新規:ブループリントの構造体のピンの Split Pin が実験的な機能ではなくなり、全ユーザーに有効になりました。

  • 修正:カメラ コンポーネントのプロパティが変更された時に、カメラ視錐台のビジュアル化が更新されるようになりました。

  • NavOctree 追加中に実行される、レベルの境界のためのチェックを追加しました。

  • 多数の箇所において、複製されたステップをコンパートメント化するために AActor::FinishSpawning を追加しました。一度だけ呼び出されるようにしてください。

  • パス検索のための動的アロケーションを追加しました。path corridor におけるハードコード化された 128 のポリゴン制限を削除しました。

  • navmesh において複数のポイントを投影し、既知の開始ポリゴンを使ってレイキャストするためのサポートを追加しました。

  • コンテンツ ブラウザのアセットにおいて、右クリック メニューに go to C++ file とドキュメンテーションを追加しました。

  • ネイティブで固定サイズの配列プロパティから収集したローカリゼーションを追加しました。

  • ブラジルのポルトガル語とスペイン語の翻訳を UE4 に追加しました。

  • OneSky のロジックにおける中国語カルチャーに関する .NET フレームワークの問題に対する回避策を追加しました。

  • OneSkyで、ヌルターミネータが付いたプロジェクト名が出てしまう問題に対する回避策を追加しました。

  • ALevelBounds に IsUsingDefaultBounds を追加しました。境界に影響するレベルにアクタが存在しないのでデフォルトの境界が使われていることを示すものです。

  • 永続的なマップにサブレベルを追加するためのスロー タスクを追加しました。

  • CulturePointer.h を追加しました。ThreadSafe TSharedRef と TSharePtr を FCulture のために typedef するためのものです。整合性を保つために、手動のテンプレート インスタンス化のかわりに使用すべきものです。

  • コマンドライン オプション (nosharedpchs) を UBT を追加しました。プリコンパイルされた共有ヘッダを無効にします。

  • Cultures-to-Stage (ステージすべきカルチャー) リストを Project Packaging Settings (プロジェクト パッケージ化設定) に追加しました。デフォルト値は English のみです。パッケージ化すると、前のコメントによって、あるいは、-CookCultures= を渡すことによって、指定されたローカリゼーション データのみが実行されるようになりました。

  • APlayerController::DeprojectMousePositionToWorld および DeprojectScreenPositionToWorld の両方が、マウスカーソルや有効なシーンビューなどがないためにディプロジェクションが不可能な場合に false を返すようになりました。

  • マウスがアタッチされていない場合に APlayerController::GetMousePosition が false を返すようになりました。

  • アタッチメントの複製において RelativeScale3D が考慮されるようになりました。

  • SimulatedRootMotionPositionFixup: 再生速度 0 に対応し、「クライアントより先にサーバーの」要件を処理します。

  • SkeletalMeshComponent のキャラクターへの依存関係を削除しました。

  • キャラクターは自身の Mesh TickPose() を制御するので、そのメッシュだけがキャラクターによって影響を受け、キャラクターにアタッチされているスケルタルメッシュがすべて影響を受けないようにしています。

  • GetDynamicMeshElements の方法を使用する際に、NavMesh のレンダリング パフォーマンスを向上しました。

  • bIgnoreForFlushing が AudioComponent から ActiveSound に継承するようになり、Play In Editor で使用される際に機能するようになりました。

  • カルチャーのフォールバック ロジックを改善して、一貫性をもたせました。 ― どのようなロケールであっても、国際化データがあり、かつ、その親にローカリゼーション データがある場合に使用可能になります。

  • ICU 国際化データと UE4 のローカリゼーション データが正しくステージされない問題を修正しました。

  • 一貫した、ローカリゼーション関連コマンドレットの、相対パスに関するパス操作。今後は、プロジェクトのディレクトリまたはエンジンのディレクトリに対する相対パスを指定してください。

  • 感受性アーティファクトの遅延を避けるために Time Dilation (時間の遅れ) が変化する際に smoothing ステートをクリアします。

  • ブループリントのプロジェクトでソースのリンクをクリックすると、正しく機能するようになりました。

  • エディタ内モバイル プレビューの作業の継続。この機能は、Experimental editor settings (実験的なエディタ設定) で有効化でき、Quick Settings (クイック設定) で選択できます。

  • 解像度の切り替え機能、および、各種 config ファイルすべてについての初期化手順の改善と修正。

  • データテーブルが再インポートされた時にデータテーブル エディタが正しくリフレッシュされるようになりました。

  • DrawDebug* ブループリント ノードが一貫した API をもつようになりました。

  • 動的にバインドされるノードが、関数グラフおよびメインのイベント グラフで見つかるようになりました。

  • EdGraphSchema 定数変数が静的変数になりました。

  • アンロードされたレベル内のアクタが、すでにスケジュール化されている場合に、ティックを受け取らないようにしました。

  • 追加すべきブループリントのバインディングがなくても、EnableInput は必ず、存在しない場合に InputComponent を作成します。

  • [Static Mesh Collision] ビューをデフォルトで有効化しました。

  • FKey が BlueprintType になりました。

  • FEdGraphSchemaAction が RTTI に対して FString ではなく FNames を使用するようになりました。

  • FAttenuationSettings プロパティが BlueprintReadWrite として適切にマークされるようになりました。

  • ジオメトリ編集モードに UI の優先順が備わるようになりました。

  • アセットとメタデータから収集する場合、パッケージをロードしようとする前に、必要なモジュールをロードするようになりました。コマンドレット config ファイルで ModulesToPreload を使用するモジュールを指定してください。

  • アーカイブが誤ったバージョンである場合にアーカイブを生成しようとすると、失敗するようになります。これによって、ユーザーがデータを失わないようになります。

  • 他のアクタが既に入力済みコンポーネントをスタックにプッシュしている場合があるので、プレイヤーの入力を初期化しても入力スタックはクリアされなくなります。

  • 指定したカルチャーにローカリゼーション データがないと、カルチャーの基本言語にフォールバックすることに関するメッセージを改善しました。

  • 専用サーバーを使用して PIE-V をクライアントとして起動すると、クラッシュすることがなくなります。

  • FActorIterator が使われている様々な場所に、最適化された TActorIterator を使用するようにしました。

  • ユーザー毎の DDC キャッシュを、バージョンに依存しないエンジン フォルダに移動しました。

  • TArray::FilterByPredicate を改変して const correct にしました (const データをこの predicate に渡し、const 関数自身となります)。

  • Release/Development シェーダー ボタン機能を CVar に移動しました。

  • 再インポート分析を改変して、どのファイルタイプが再インポートされたかが正確に明らかになるようにしました。

  • リッスン サーバーの起動時に、複数のクライアントが正しくスポーンされるようになりました。

  • エディタ内に新たにスポーンしたアクタが、より正確でユニークな名前をもつようになりました。

  • GameplayDebugger、通常のデータネットワーク データ レプリケーションの両方、およびレプリケーションのチャンネル帯域幅のための最適化。

  • ポーンの移動アクションが、非移動アクションによって停止されなくなりました。

  • マップのプレフィックスに基いて GameMode を探す際に、プレフィックスが適切にストリップされるようになりました。

  • バインディングがなくても、PushInputComponent によって入力コンポーネントがスタックに入るようになります。

  • PinFriendlyName が UI 全体で一貫して使用されるようになりました。

  • プリミティブ コンポーネントの bCanEverAffectNavigation フラグがインスタンスで変更可能になりました。

  • ini ファイルが乱雑になった場合に、重複している AxisConfig のエントリをパージします。

  • PlatformApplication の IsMouseAttached が SlateApplication にエクスポーズされます。

  • リッチなツールチップが [Modes] ウィンドウの [Brushes] に追加されました。

  • Recompile-on-startup (起動時に再コンパイル) が、古いモジュールについて、プロジェクト名とファイル名を表示するようになりました。

  • シェーダーが、スタンドアロン ゲーム用のプロジェクトに含まれるようになりました。

  • スプライトと GPU パーティクルが Custom UV をサポートするようになりました。

  • Switch Enum (列挙型の切り替え) が、汎用バイトではなく、適切な列挙型タイプのピンを使用するようになりました。

  • プリミティブの可動性にのみ基いて計算されるテクスチャのためのストリーミング方式。

  • エディタのビューポートで Surface Snapping を切ると、配置中にサーフェスのアラインメントが行われなくなりました。

  • メッシュ パーティクルのための Transform が頂点シェーダに正しく渡されるようになりました。ピクセル シェーダーではまだ使用できません。

  • シームレスな移動のための遷移マップが Game または PIE ワールドとして正しくマークされます。

  • ブループリントのピンのツールチップにおける型、および、変数型のピッカーが、読みやすい形式で表示されるようになりました。

  • UAnimInstance::GetWorld() が、Class Default Object で呼び出されてもクラッシュしなくなります。

  • Trail Anim の WidthScaleCurve プロパティがボーン名を検索およびオートフィルするようになりました。

  • ブループリントの関数/イベントにおける @param および @return の部分がツールチップに表示されなくなります。

  • 中国向けにロケールについて、正しい zh-Hans-CN ではなく誤った zh-CN を使用している全てのローカリゼーション データとコードの名前を変更しました。

  • 新たなプロジェクトのダイアログを改訂しました。

  • テンプレートをブループリント/C++ テンプレートに分類し、それらをタブに組み入れました。

  • 新たなカテゴリがテンプレート プロジェクトの templatedefs.ini で指定できます。 Category タグの Category=NewCategory を使用します。Category=NewCategory.

  • 適切な説明とアイコンを付けて、新たなカテゴリ タイプを FGameProjectGenerationModule::RegisterTemplateCategory から登録できます。

  • テンプレートにプレビュー画像を追加しました。

  • 全体的に UI を整理しました。

  • ダイアログにハードウェア ターゲットのオプションを追加しました。

  • 生の CSV のパース (データテーブルのインポートなどに使用されます) に代わって FCsvParser を使用します。

  • 4.3 で非推奨とされていた非推奨のエディタ モード API を削除しました。

  • ビルトインされているシェーダー オプションをマテリアル エディタから削除しました。

  • FRecastRenderingSceneProxy から不要なゲーム スレッド タスクを削除しました。

  • AIModule と GameplayDebugger との循環的依存関係を削除しました。

  • 1 つしかカルチャーが指定されなかった場合に、カルチャーのディレクトリから読み取り/書き込みに失敗する PO インポート/エクスポートのロジックを削除しました。

  • 無効化されたビジュアル ログをともなって記録する際の UE_VLOG のオーバーヘッドを削減しました。

  • コンテンツ ブラウザのサムネイル上でのテキスト レンダリングを改善しました。

  • Switch ノードの洗練

    • Name と String に Add Pin + ボタンが備わります。

    • Enum を右クリックしても、[Remove Execution Pin (実行ピンを削除)]は表示されません。

    • すべての型の選択ボックスに、適切なデフォルト値が付きました。

  • AActor::EndPlay の修正

    • スタンドアロン ゲームを終了するための EndPlay 呼び出しを追加します。

    • 非仮想の RouteEndPlay 関数にいつ EndPlay を送り出すかを決定するロジックを移動します。

    • アクタが初期化されており、かつ、ワールドのプレイが開始している場合にのみ EndPlay を呼び出します。

  • ワールドのための物理シーンが、そのワールドを含むパッケージをクックした後に破棄されるようになりました。複数のワールドがクック時にメモリに入っていると、過剰に多いシーンがアロケートされ、読み取り/書き込みのためにシーンをロックする時にデッドロックが引き起こされていました。

  • アセットのサムネイル ダーティー化コードを ContentBrowserSingleton から AssetThumbnail.cpp に移動しました。サムネイルはさまざまなシステムによって使用されるため、サムネイルの更新はコンテンツ ブラウザの役割ではなくなりました。

  • コンテキストメニューが可能になるパス ピッカーによって、再び新規フォルダの作成が可能になります。同時に、これによって、メニューを拡張するように設定されたピッカーによって何も拡張されなくなる可能性が生じるというバグも修正されます。

  • デフォルトのレベル ストリーミング クラスがエディタ ユーザーの設定項目となりました。

  • DDC ファイルのチェック時の GetTimeStamp の呼び出し回数を 1 回分減らし、共有 DDC への I/O 負荷が若干軽減されます。

  • アクタが含まれていないワールドが PostLoad でクラッシュしなくなりました。

  • 読み込み中のマテリアルを修復する際に見つからない Expression やコメントに対する NULLチェックを追加しました。

  • 高いスポーンレートまたは遠い LOD Distance (LOD 距離) をともなったパーティクル システムを発見できるように、パーティクル システム audit (監査) コマンドレットを拡張しました。

  • FPackageName::ObjectPathToPackageName を追加し、ObjectPathToObjectName に適合させました。

  • クック コマンドレットで強制的に GC を引き起こすアセット タイプを設定できるようになりました。デフォルトでは、ワールド アセットによって引き起こされます (現行のビヘイビアと同じです)。

  • 1 クラス分のフィルタしかない場合、アセット ピッカーがアセットのクラス名と一致しなくなりました。

  • すべてのパス ビューが Show Engine Content (エンジン コンテンツを表示) チェックボックスから影響を受けるようになりました (さらに、デベロッパーの表示、プラグインの表示でも)。コンテンツ ブラウザで見つかったパス ビューだけではなくなりました。

  • SAssetPickers によってビュー設定が保存されるようになりました。SAssetDialog によってそのアセット ピッカーのビュー設定が保存されます。

  • 新たな WorldAsset TAssetPtr を優先するために、ULevelStreaming::PackageName を非推奨にしました。これまで使用されてきた PackageName は、GetWorldAssetPackageName() と SetWorldAssetByPackageName() に置き換えられました。

  • 複数のレベルのアクタを選択すると、レベル ブラウザを通じて選択されたレベルにそれらを移動させることができるようになりました。移動先のレベルにまだそのアクタがない場合に限りアクタを移動させることができます。

  • 動的なマウント ポイントを削除する機能を追加しました。OnContentPathMounted デリゲートにも、情報を追加しました。

  • パッケージの保存時に TAssetPtr UProperties が文字列アセットの参照を正しくレポートするようになりました。また、空の値の文字列アセットの参照が、参照のリストに None を含まなくなりました。

  • エディタの SPathView 内でフォルダをクリックすると、そのフォルダ内でアセットを発見する優先順位が定まるようになりました。

  • コンテンツ ブラウザのエディタ設定である [Show only assets in selected folders] を削除しました。これは [フォルダを表示] に含意されているものであり、フォルダが追加された時に削除されるべきものでした。

  • 名前に不正な文字があった場合、例えそれが不正な文字またはテスト文字列のリストに複数回登場しても、報告は一度だけしかされなくなりました。

  • コマンドレット中にメインフレーム モジュールを読み込むための修正を行いました。コマンドレットで実行する場合、キーイベントはありません。

  • プロジェクトで最初にパスを発見する時のエディタのパフォーマンス問題を修正しました。

  • メッシュ/スプライトのティック要件が MovementComponent ティック後に実行される設定を、Character と PaperCharacter が適切に行わない問題を修正しました。

  • 状況によって NavLinkRenderingComponent の初期化されない境界を修正しました。

  • 同一のパッケージによって参照されている複数のリダイレクターを修復する際に、参照しているパッケージが複数回表示されてしまう小さなバグを修正しました。

  • 正しくプロジェクトを生成するために、特定のプラットフォームのコードを除外してしまうコードベースの原因となる問題を修正しました。

  • 複数のアセットを含むパッケージを削除する際に、アセットのレジストリのディスクキャッシュから一部のアセットが削除されないバグを修正しました。

  • スタティック メッシュ上で AdjacenctIndexBuffer が開放されると稀に発生するクラッシュを修正しました。

  • オーバースクロールを入力する時に、慣性スクロールがキャンセルされない問題を修正しました。

  • FBX アニメーションをカメラ アニメーションにインポートできない問題を修正しました。

  • 測定ツールが誤ったサイズを計算する問題を修正しました。

  • レベル エディタをホット リロードするとクラッシュする問題を修正しました。

  • 同一のサブツリーを再入力する時に、cooldown decorator のメモリがリセットされる問題を修正しました。

  • 無限ループによる decorator のハングを修正しました。

  • Blackboard の親のチェーンにおける循環を修正しました。

  • ビヘイビア ツリー エディタの特別なピンに接続された複数のノードを修正しました。

  • navmesh のボックス コリジョンのエクスポートを修正しました。

  • ナビゲーション パスの string pulling を修正しました。

  • UEditorEngine::TeardownPlaySession でクラッシュする問題を修正しました。

  • ブループリントの Component ビューにおける Simulate モードに関する問題を修正しました。

  • FRecastRenderingSceneProxy の内部を修正して、GetDynamicMeshElements と正しく動作するようにしました。

  • メッセージに複数のオブジェクトのパラメータがあり、最後のものがピンまたはノードではない場合に、ブループリント ノードの警告/エラー バナーが表示されない問題を修正しました。

  • サムネイルのワールドによってサウンドが開始してしまうバグを修正しました。

  • すでに使用されているオブジェクト名に変更することにより起こる ChildActor コンポーネントに関するクラッシュを修正しました。

  • 再生しているサウンドに関するデバッグ情報を表示する際に Doppler が機能しない問題を修正しました。

  • オーディオ コンポーネントによって参照されないサウンドの再生に関する GC 問題を修正しました。

  • PossessPawn の呼び出し中に Pawn が torn off (破棄) されると、AGameMode::Restart でクラッシュする問題を修正しました。

  • マイナスのインデックスをともなった treeview でクラッシュする問題を修正しました。

  • カメラ グループの改変をアンドゥする際に生じる null ポインタ クラッシュを修正しました。

  • NavMesh コリジョン ジオメトリデバッグレンダリングを修正しました。

  • AIMoveTo ブループリント ノードに関するフリーズ問題を修正しました。

  • 無効化された USE_EQS_DEBUGGER フラグに関するコンパイル問題を修正しました。

  • EQSRenderingComponent におけるクラッシュを修正しました。

  • ソート済みの EQS アイテムの EQS デバッグ データを修正しました (アイテムのソートは遅くなりますが、USE_EQS_DEBUGGER フラグによってのみアクティブになります)。

  • GameplayDebugger を使用する際 (クライアント/サーバーともに)、パス (パス検索からの) のためのレンダリングを修正しました。

  • スレート ウィジェットがアクティブの時に PIE セッションを終了させると (ビューポートはウィジェットの前にクリーンアップされます) 生じる可能性がある null ポインタ クラッシュを修正しました。

  • LogVisualizer の修正点として、ログ リストにおける重複したアクタを取り除きした。

  • ローカリゼーションのためにテキストのシリアライゼーションによってパッケージがマークされる順序を修正しました。ローカリゼーションのアセットから収集されないテキストがある問題を解決しました。

  • どのカルチャーがローカリゼーション データを有しているかを列挙しようとする際に生じる不適切なディレクトリのイタレーションを修正しました。

  • GatherText コマンドレットを実行する場合、スペースをフィーチャーしている gather text 設定ファイルのパスに関する問題を修正しました。

  • あるタイプの文字列にあるコード単位の数と、別のタイプの文字列にあるコード単位の数とを誤って比較するテキスト テストを修正しました。

  • 複数の UTextProperty が同一か否かをチェックする際の、ケース インセンシティブなソース文字列の比較について修正しました。

  • ベース言語のローカリゼーション データをもたないロケール/カルチャーが、[region & language (地域および言語)] のドロップダウンメニューから除外される問題を修正しました。

  • GatherTextFromSource コマンドレットがエスケープされた形式でテキストを集める問題を修正しました。 集められたテキストはエスケープされなくなりました。PO ファイルのインポート/エクスポートにおいて、エスケープ/アンエスケープ処理を修正しました。

  • マニフェスト/アーカイブの文字列をそのデータ構造から JSON オブジェクトに保存する際に、ダブルクオーテーションがエスケープされる問題を修正しました。マニフェスト/アーカイブの JSON のシリアライザによって、ファイルへの書き込み前にテキストが正しく一貫してエスケープされるようになっています。

  • foreign以外のプロジェクトが相対パスによって指定されている場合に、 FUProjectDictionary が誤って プロジェクトを foreign として扱う問題を修正しました。

  • 設定値の保存時にスケーラビリティの設定値が正しくユーザー config ファイルに書き出され、かつリセット時にはメモリ値に適切にリセットされるように修正しました。

  • グラフィックスのクオリティ設定値を変更する場合に、コンポーネントを再アタッチすると生じる複数の問題を修正しました。

  • アセット編集時に FText が破損する可能性のあるバグを修正しました。

コア

  • 新規:エディタにおける FName のケース (大文字/小文字) の保存。

    • これまでは、異なるケースを使って、元々備わっている名前と同じ名前をつけることができませんでした。

    • WITH_CASE_PRESERVING_NAME が true になっていると、FName がケースを保存できるようになりました。

    • sizeof(FName) が 8 バイトであると想定することはできなくなりました (8 バイトの名前を必要とするコードがある場合は、FMinimalName が使用可能ですが、これを行うのは、そのコードが更新できない場合に限ります)。

    • FName から GetIndex() がなくなり、代わりに GetComparisonIndex() と GetDisplayIndex() が加わりました。

  • コマンドライン オプション -WaitForDebugger が追加されました。

    • このオプションが指定されると、デバッガがアタッチされるまで、シッピングしない UE4 プログラムは起動時に一時停止します。

    • 起動時に実行するリモート デバッギング コード (プラグインの StartupModule 関数など) に使うと非常に便利です。

  • ensure >0 を FBlueprintCoreDelegates::SetScriptMaximumLoopIterations に追加しました。

  • エンジン起動時に、コンパイラのバージョンのログを記録する機能を追加しました。

    • Clang と Visual C++ の両方を検出します。バージョン情報をログに出力します。

  • クラッシュへの ensure メッセージの追加。

  • UHT が .generated.h ファイルを生成できない場合に表示される説明的なエラーメッセージを追加しました。

  • コンソールの自動化テスト オプトインを追加しました。

  • FOutputDeviceFile において UTF8 に対応しました。

  • プラグインのために外部コンテンツに対応しました。

  • DataAgeThreshold=N コマンドラインの引数として BuildPatchTool.exe に渡すことができるようになりました。N は日数を表します。

    • パッチ生成操作中に指定されると、日数が渡された引数未満の既存のデータが再利用の対象となります。

    • コンパクト化操作中に指定されると、日数が渡された引数より多いデータが削除の対象となります。

    • これらの変更の実施により、同一クラウドのディレクトリでパッチ生成とコンパクト化の同時操作が可能になりました。その間、パッチ生成はコンパクト化よりも低い閾値をもたなければなりません。

  • ブループリントで使用するために UNavigationSystem::OnNavigationBoundsUpdated をエクスポーズしました。また、そのパラメータをより限定的な ANavMeshBoundsVolume 型に変更しました。

  • FName が、エディタおよび UHT においてケースを保存するようになりました。

    • この変更によって、アクタ名、ブループリントのコンポーネント名、変数名が、ケースによる相違しかない場合に、ミスタイプされた名前を修正できない問題や、コンパイルされないコードを UHT が生成する問題を多数解決することができるようになります。

  • AI を所定の BB エントリに向かせるようにする汎用 BTTask を実装しました。

  • GGameName (.uproject 名に由来) が DefaultGame.ini の [URL] セクションにある GameName キーと合わない場合に表示されるエラーメッセージを改善しました。

  • IGenericTeamAgentInterface を使って、他のチームに対するチームの態度 (attitude) をクエリすることができます。

  • ARecastNavMesh::GetRecastNavMeshImpl を protected にすることによって、派生クラスで使用できるようにしました。

  • navmesh クエリ フィルタをデフォルトで virtual にしました。

    • 非仮想のフィルタも、ARecastNavMesh::bUseVirtualFilters から設定可能です。

      • フィルタ インスタンス毎にコントローラーにすることも可能です。

  • ナビゲーション ジェネレーターを public にし、外部モジュールで拡張可能にしました。

  • Build Patch Services と BuiltPatchTool を再度 public にしました。

  • BuildPatchTool コマンドライン オプションをいくつか追加しました。カスタムのフィールドを、生成したマニフェストに追加するためのものです。この新たなオプションには次のものがあります。-custom="field=value"、-customint="field=value"、-customfloat="field=value"

  • FCString の使用に関する小さな修正。

  • ScriptPlugin:ヘルパープロジェクト、および、LUA を UE4 で使用するためのセットアップ方法に関する説明を追加しました。

  • FPSChart 機能に関する問題を修正しました。

  • obj refs 出力において見つからないプロパティ名を修正しました。

  • UHT において列挙型のデフォルト値をパースする機能を修正しました。

  • 長いコンパイル コマンドラインで生じるクラッシュを修正しました。

  • TMap の move セマンティクスを修正しました。

  • UnrealFrontend で WindowsNoEditor のためにパッケージ化する際に生じるエラーを修正しました。

  • OnlineFriendsInterface.h を Online.h に追加しました。これによって、UE4 コードのプロジェクトがオンラインのソーシャル機能にアクセスできるようになりました。

  • BTDecorator_Blackboard のデフォルト ラベルを、より分かりやすい Blackboard Based Condition (Blackboard ベースの条件) に変更しました。

  • コンパイル時間を改善しました。 ― Engine モジュールのヘッダに必要なものしか含まれなくなりました。

  • FDateTime と FTimespan がプロパティ エディタで編集できるようになりました。また、ブループリントにエクスポーズされました。

  • マルチキャスト デリゲートにおける呼び出しリストの圧縮を最適化しました。

  • 巨大な navmesh 境界やゼロ範囲の境界など、ナビゲーション システムの極端な使用事例に生じるクラッシュを修正しました。

  • キー ID キャッシュとして None を受け入れるものとして FBlackboardKeySelector をマークする動作について修正しました。

  • TArray::RemoveAll を最適化することによって、TArray::Remove から run-removal の実装を使用できるようにしました。

  • FMath::LineBoxIntersection() の引数の簡略化。

  • TOptional をリファクタリングしたため、非 POD クラスとの使用に適するようになりました。

    • 設定されていない TOptional 上で GetValue() を呼び出すと、TOptional が check() をヒットするようになります。これをヒットしたら、GetValue() への呼び出しを Get(DefaultValue) と置き換えるか、IsSet() をチェックします。

  • レベルとともに読み込まれると EQSTestingPawn によってエンジンがクラッシュする問題を修正しました。

  • 無効な再現文字列をパースする際に FunctionalTesting がクラッシュする問題を修正しました。

  • ARecastNavMesh::BatchRaycast のバグによって、NaN ヒット位置が生じる問題を修正しました。

  • エディタ内でパーシスタント レベルに加えられたレベルから navigation bound volumes が navmesh によって生成されない問題を修正しました。

  • 実際のオブザーバー ナビゲーション パスに対する変更によって UNavigationPath.PathPoints が更新されない問題を修正しました。

  • ANavigationData::TickActor が Super::TickActor を呼び出さない問題を修正しました。

  • FTimespan::ToString() における壊れているフォーマット トークンを修正しました。

  • UnrealMath

    • RotationAboutPointMatrix を追加しました。

    • さまざまな派生 FMatrix 型のために static Make() メソッドを追加しました。

      • 暗黙の変換に依存する派生した型のコンストラクタではなく、FMatrix を返す単一の表現 (Expression) が可能になります。

    • FQuat::MakeFromEuler の実装を簡略化しました。

    • FVector4 と FLinearColor のために GetTypeHash を実装しました。

  • TransformCalculus フレームワーク

    • 空間のトランスフォームとして使用できるクラスのための均一な操作セットを提供します。

    • 剛体などの空間的ヒエラルキーを扱う場合にユーザーは計算ではなく目的に集中できるようになります。

    • TransformCalculus.h のドキュメンテーションを参照してください。

    • 2D トランスフォーメーションのために、適合するトランスフォーム タイプの完全なスイートを提供します。

      • FVector2D

      • FScale2D

      • FShear2D

      • FQuat2D

      • FMatrix2x2

      • FTransform2D

    • UE4 において既存の 3D トランスフォーム タイプのためのアダプターを提供します。

      • FVector

      • FScale3D

      • FQuat

      • FMatrix

      • FRotator

** アンリアル ヘッダ ツール

  • アンリアル ヘッダ ツールが C++11 の範囲の列挙型 (別名 'enum class') をサポートするようになりました。

  • (関数にも適用できる場合に) キーワードがマルチキャスト デリゲートのプロパティに限定されるかのように思わせるエラーメッセージを 2 つ分かりやすくしました。

Unreal Build Tool

  • 新規:アンリアル ビルド ツールの起動が速くなりました。(より高速な C++ のイテレーション時間)

  • 新規:Windows プラットフォーム上でローカルにコンパイルする場合に、アンリアル ビルド ツールが親切な動作説明を表示するようになりました。

  • アンリアル ビルド ツールのマクロを設定 (configuration) 間で一貫させました。

  • アンリアル ビルド ツールがレジストリからではなく実行ファイルそのものから cl.exe を取得するようになりました。Visual Studio の Professional 版以外との互換性が向上します。

  • 古く不要なホットリロードの PDBが破棄されるようになりました。

  • RPC UFunction が virtual X_Validate() 関数を生成するようになります。その関数自体が virtual の場合にオーバーロードされます。

  • 他の UE4 エディタのプロセスがシステムで稼働している場合に行われるホットリロードのコンパイルの検出について修正しました。

プロジェクトのバージョン

  • エンジンの GitHub ビルドのために作成されたソリューション ファイルが、デフォルトで、アクティブなプロジェクトとして設定されるようになりました。

  • 新たな VS2012 プロジェクトに、すべてのプロジェクトのための、デフォルトのコマンドライン引数が含まれるようになりました。

  • エンジンの既存のインストールが見つからない場合、UnrealVersionSelector によって参照するように促されるようになりました。

  • シェル エクステンションを登録すると、ファイルの関連付けのために、古いユーザーのオーバーライドが修復されるようになりました。

  • ユーザーによって供給されたリソース ファイルをアンリアル ビルド ツールが正しく処理するようになりました。それらのファイルがある場合は、PCLaunch.rc が無視されます。

  • コンテンツ オンリーのゲームのためのプロジェクトを生成しようとする時に UnrealVersionSelector によって警告が発せられるようになりました。

統計情報

  • 新規:StatsViewer において、Cooker Statistics (クッカ統計情報) のための新たな統計情報ページができました。

  • StatsViewer:オブジェクトのハイパーリンクされた配列が表示されるようになりました。

  • コマンド stat display (統計表示) を追加しました。これは、各種統計の表示設定を変更するために使用することができます。

  • 統計情報のコマンドの実行に関するコメントを更新しました。

  • 小規模なメモリ リークを修正しました。

プロファイラ

  • FPS Chart が前のバージョンで機能しない問題を修正しました。

クラッシュ レポート (ライセンスまたは Rocket のユーザーにとってはそれほど役に立たないはずです。)

  • クラッシュ レポート レシーバーの信頼性が増しました。必要となるメインテナンス作業も少なくなりました。

クラッシュ レポート クライアント

  • クラッシュ レポート クライアントに分析を追加しました。

クラッシュ レポート ウェブサイト

  • ビルド バージョンまたはクラッシュ タイプによってバグをフィルタリングするためのオプションを追加しました。

  • MachineID/EpicID の表示機能を追加しました。

  • ErrorMessage をウェブサイトに追加しました。エラーメッセージには以下の値を含めることができます。すなわち、アサートからの説明、ensure からの説明、fatal error からの説明。あるいは、未処理の例外については空にすることができます。

Hot-Reload

  • Hot-Reload において、UObject から派生したクラスへの構造変更がサポートされました。Hot-Reload のための新たなプロパティおよびクラスの追加/削除が拒否されなくなりました。

  • IDE からの Hot-Reload: Visual Studio から、現在開いているゲーム ターゲットをコンパイルする場合、コンパイルが完了した後にエディタによって自動的に Hot-Reload が実行されるようになります。

  • Hot-Reload の後に、すべてのデフォルトのクラス オブジェクトが、デフォルト値の変更に適合するように再生成されるようになります。

  • Hot-reload が実行される場合、ターゲットのプロジェクトが最新であるならば、新たな DLL が作成されなくなります。これによって、イテレーションの回数が削減されます。

Slate UI システム

  • 新規:Slate および UMG においてマウス キャプチャのためにマルチタッチがサポートされました。ボタンの押下や長押しのようなアクション。一方、異なるボタンを押下すると正常に機能するようになりました。

  • 新規:2D レンダー トランスフォームが Slate に追加されました。レンダー トランスフォームによって、レイアウトに影響することなく、ウィジェットのための短い遷移エフェクトが可能になります。2D アフィン トランスフォームの完全なセット (平行移動、回転、シア、スケール、ミラーリング) がサポートされています。

  • 新規:リッチ テキストの編集にイメージ サポートが追加されました。

  • リッチ テキストの編集に MultiLineEditableText が使用できるようになりました (SlateViewer にデモがあります)。

  • レイアウトのための最小の任意の幅が TextBlock および SpinBox にサポートされました。 FColor または FLinearColor プロパティを FSlateColor に変換できる FSlateColor に SerializeFromMismatchedTag を追加しました。 SMultiLineEditableText のためにスクロール機能を実装しました。 STextBlock によって、ジャスティフィケーション、マージン、行高パーセンテージが指定できるようになりました。 SRichTextBlock が属性としてテキストと強調されたテキストを受け取るようになりました。 SEditableText、SEditableTextBox、SMultiLineEditableText、SMultilineEditableTextBox がモバイル デバイス上で自動的に仮想キーボードで機能するようになりました。現在のところ、単行のエントリだけがサポートされています。

  • Swindow に関する変更点です。

    • GetLocalToScreenTransform を追加しました。(Screen space == Desktop space)

    • GetLocalToWindowTransform を追加しました (ウィンドウ オフセットがともなわずに、Window space == Desktop space)。

    • GetClientRectInScreen を追加しました。

  • テクスチャ アトラス化のパディング スタイルを 3 つ追加しました。

    • NoPadding - パディングをまったく適用しません(以前は Padding == 0 でした)。

    • DilateBorder - 境界エッジをコピーして、1 ピクセルのパディングを適用します(以前は、Padding == 1 でした)。

    • PadWithZero - 1 ピクセルの境界を拡張し、ゼロで埋めます(新スタイル)。

  • Padding > 1 のための不完全なサポートを削除しました。ミップまたは異方性フィルタリングがサポートされていないため、あまり役立ちませんでした。

    • FontCache によって PadWithZero のパディングが使用されることによって、ズームされたテキストの外見が改善されました。

  • FSlateRect のアップデート

    • 新たなトランスフォーム カルキュラスのフレームワークのためのサポートを追加しました(TransformRect)。

    • 新たなメンバーの GetBottomRight() と OffsetBy() を追加しました。

    • FromPointAndExtent() ファクトリ関数を追加しました。

    • デフォルト / 4-float ctor を明示的にしました。

  • FSlateRotatedRect を追加しました。

    • FSlateRect に類似した機能をサポートします。ただし、Render Transform (スケール/シア/ミラー) によって導き出された平行四辺形のためのものです。

    • また、オーバーラップのテストのために IsUnderLocation() と ToBoundingRect() を追加しました。

  • Slate が Trunc ではなく Round を使用して、整数のピクセル座標にスナップするようになりました。現在のところスナップは最終の頂点作成時にのみ行われます。

  • ScissorRectBox ウィジェットを追加しました。これによって、レンダー トランスフォーム下であっても hardware scissor rect (ハードウェア シザー長方形) を使用して子ウィジェットをクリップできるようになります。

    • Scissor Rect (シザー長方形) はネストできます。ウィジェットは、最も近い先行のシザーによってクリップされます。

    • ハードウェアのオーバーヘッドを超えるパフォーマンスへの影響があると見込まれます。異なるレイヤーへのペインティング同様、バッチングに影響するためです。

  • SScrubWidget::OnPaint が、ドラッグ可能なバーを不正確なオフセットで描画する問題を修正しました。

  • 無効になっているデリゲートとともに SLATE_TEXT_ATTRIBUTE を使用するとクラッシュする問題を修正しました。

  • 読み取り専用のテキストボックスで return を押すとクラッシュする問題を修正しました。

  • STextBlock とともに複数行のテキストを使用すると生じるラッピングの問題を修正しました。

  • 長さゼロのテキストの流れに関して、そのスタイルを変更しようとするとクラッシュする問題を修正しました。

  • Slider ウィジェットのバーがモバイル デバイス上で表示されない問題を修正しました。

オーディオ

  • 新規:VOIP オーディオ コンポーネントのための Sound Class がオーディオ プロジェクトの設定から指定できるようになりました。

  • preferences (設定) の Experimental (実験的) セクションにある新たな設定項目の背後で Audio Streaming オプションを有効化しました。

  • 同時再生が可能なストリーミング サウンドの量を制限するための Audio 設定項目を追加しました。

  • マルチチャンネル サウンドのための追加チャンネルが正しくインポートされるようにしました。

  • Play Sound Attached を介して起動した新たなサウンドをプレイ前に可聴にしました。

  • パラメータ制御の Crossfade SoundNode に関する問題を修正しました。

  • Vehicle サンプルにおける Buggy エンジンのための Audio Component をエクスポーズしました。

  • 検索機能をキー選択ボックスに追加しました。

  • Streaming Manager の更新を、高価なタスク セクションから移動しました。

プラットフォーム

Mac

  • Mac における ウィンドウ間のドラッグアンドドロップを改善しました。カーソルがドラッグ可能なものの上にある場合にマウス ダウン時にアクティブではないウィンドウがアクティブになることがなくなります。

  • Mac において、エラーではなく警告として非推奨の特性を扱うためのプラグマを追加しました。

  • OS X のための実装の便宜を図るために、APPLE_client_storage および APPLE_texture_range のサポートを行いました。それらは、レンダリング不能なテクスチャのために使用することによって、Lock/Unlock および RHIAsyncReallocateTexture2D のコストが除去されます。

    • これは圧縮されていないテクスチャでのみ機能しますが、PBO を使用するにも関わらず、glGetTexImage への、かなり低速で同期する呼び出しを回避するのに役立ちます。これによってメモリのオーバーヘッドが増えることはありません。クライアント-ストレージ テクスチャが、GL エンジンのコピーのために提供されているバッキング ストアを使用するためです。

  • OpenGL のテクスチャ削除呼び出しをラップすることによって、OS X において DeleteTextures がテクスチャ名を 3 つのバッファのうちの 1 つにプールするので、テクスチャが最後に使用されてから少なくとも 2 フレーム後に削除されることになります。これによってテクスチャ削除のコストを償還することができます。

    • テクスチャの削除は BlitToViewport の flushBuffer が実行された後に行われます。また、1 回の呼び出しで削除できるテクスチャの最大 / 最小数は r.Mac.MinTexturesToDeletePerFrame および r.Mac.MaxTexturesToDeletePerFram によって上書きできます

  • glFlush をラップして、OS X 上で glFlushRenderAPPLE を常に呼び出すようにしました。これは、高速ですが、これらの呼び出しのためにはまだ十分です。

  • 完全にはまだサポートされていない OpenGL 3.3 GPU が搭載された Mac 上で動作させようとすると警告を出します。また、推奨される最低要件を満たさない GPU を使用する Mac ユーザーにも警告を出します。パフォーマンスの低下が生じる可能性があるためです。

  • 推奨されたメモリ容量を満たさない状態で動作させたり、クアッドコアではなくデュアルコア プロセッサで動作させると警告を発するようにしました。非常に大きな相違が生じるためです。

  • OS X におけるフルスクリーン モードを適切に修正するための初期作業 ― この変更によって、proper (適当な) フルスクリーン モードを使用できるようになります。このモードでは、マウスカーソルが非表示になっている場合にゲームのために選択された解像度が尊重されます。

    • デフォルトは、WindowedFullcreen のままです。OS X のスケーリングされたフルスクリーン モードの使用に起因するマウスおよびディスプレイの座標系の相違が、これらの変更によって対処されないためです。

  • Applescript を使用して、XcodeSourceAccessor を介して Xcode で開いているドキュメントを保存するためのサポートを実装しました。また、XcodeSourceAccessor のディスプレイ名を修正しました。

  • Mac OS X のクラッシュ レポート機能を書き直して、ミニダンプの情報を Apple Crash Report 形式でスクリーンするようにしました。これはさらに、CrashDebugHelper の新たなコードによって diagnostic display (診断表示) の形式にパースされます。

    • symbolisation (象徴化) が CoreSymbolication を使用して実装されました。atos は必要なくなりました。つまり、Xcode がインストールされている必要がないということになります。

    • symbolisation が、クラッシュしたアプリではなく CrashReportClient 内でのみ実行されるようになりました。したがって、クラッシュの処理は async. handler セーフです。

    • ログにより有用な情報が提供されるようになりました。

  • Mac OS X 上で実行が async. signal ハンドラに入ると、現在のアロケータの代わりに事前調節された malloc ゾーンのアロケータが使用されました。そのため、クラッシュすると UE4 がキルできなくなります。

  • さまざまなクラッシュおよびその他 Mac 固有の問題を修正しました。

  • OS X において、game スレッドを「喜ばしい」Cocoa のメインスレッドから分離しました。

    • Cocoa は、UE4 で期待されているようなイベント ポーリングの API ではありません。そのためスレッドを分離することによって動作を模倣しています。

    • つまり、レベルを読み込む場合やクック時に、OS X 上でウィンドウが使用できなくなり、レインボーカーソルが回るフリーズが起きづらくなります。

    • このことによって、Slate によって求められるけれども OS X によって必ずしも提供されてはいないイベントの順序付けを確保するための方策を取ることができるようになります。

  • Mac OS X において XGE の代替手段となる Distcc + DMUCs のためのサポートを実装しました。

    • ドキュメンテーションに従って Distcc + DMUCs を手動で調整するか、DistCode Xcode プラグインを使用することによって、コンパイルをネットワーク化されている複数の Mac に配布できます。

    • Mac はすべて、同一のデベロッパーツールがインストールされており、かつ、同一の distcc/DMUCS/DistCode があり、同一のローカル ネットワーク上に置かれている必要があります。

    • Mac および iOS 向けコンパイルのために機能します。Windows からのリモートのビルドのためにビルドファームで使用できるように distcc および DMUCS を調整できます。

  • (OS に依存するだけではなく) エディタ用 GUI プラグインによって、オプションかつデフォルトでオフになっている自動グラフィックス切り替え機能を OS X で実装しました。

    • 明示的な表示マスクを設定するための DisplayMask、最初に選択されるレンダリング デバイスのための RendererID、スクリーンへの転送のために複数の GPU をデスクトップ コンピュータが使用できるようにするための bUseMultipleRenderers、自動グラフィックス切り替え機能が付いているラップトップ コンピュータが、同一 OpenGL バージョンを提供する GPU の個別/統合の切り替えを行えるようにするための bAllowAutomaticGraphicsSwitching を追加しました。

    • このプラグインによって、エディタ設定パネルが備わります。bAllowAutomaticGraphicsSwitching を使用するラップトップ コンピュータには、現在の GPU を選択できるライブのドロップダウンメニューが LevelEditor ウィンドウに備わります。

Android

  • 本年の Google I/O における Rivalry デモで示された OpenGL ES 3.1 + Android Extension Pack のための実験的なサポート。

  • libcurl による Android のための HTTP サポートを追加しました。プロジェクトの設定ネットワーク パネルで自己署名証明書を可能にするためのオプションが付いています。

  • AndroidMisc に GetDefaultLocale を 追加しました。

  • フォースフィードバック機能を Android に追加しました。電話機のヴァイブレーション機能を制御します。

  • ADPCM オーディオが Android でサポートされました。Android プラットフォームのための Project Settings (プロジェクトの設定) のドロップダウンメニューから選択できます。

  • Android でプロシージャル サウンド ソースがサポートされました。

  • Android のための FPlatformMisc::Controlscreensaver を実装し、ControlScreensaver ブループリント ノードを追加しました。

  • x86 Android のサポートを追加しました。ただし今のところ、非 GitHub/Licensee のビルドのための x86 バイナリが未サポートであるため、フル ソースのゲームのためにのみサポートされています。個別の apk または fat apk をパッケージ化できます。個別の apk を利用すると、最善の組み合わせのために接続されているデバイスが Launch On によってクエリされます。この機能は早期版ですの。ぜひ、フィードバックをお願いします!

  • 値が 0 (ネイティブの解像度) である、r.MobileContentScaleFactor CVar (DeviceProfiles にあります) の概念を追加しました。

  • パッケージ化中の APK に libgnustl_shared.so を追加しました。(一部の Android デバイスにおいて)

  • x86 Android に向けて cxa_demangle を追加しました。

  • Android において GetCurrentThreadId を変更して、pthread_self() ではなく gettid() を使用して 64 ビットを扱うようにしました。

  • Android において重複したログ メッセージを削除しました。

  • Android のために x86 PhysX libs を更新しました。

  • Android において ICU を有効化しました。Android のために ICU のビルド用スクリプトを追加しました。

  • apk を再生成しなければならない回数を減らしました。コンテンツだけが変更された場合は、Launch On が格段に高速化されます。

  • システム フォントを読み込む機能を追加しました。

  • SoundMod を更新し、Android コード プロジェクトとともに機能するようにしました。

  • Android における UE4 が C++ ランタイムとして GNUSTL_Shared 共有オブジェクトを使用するようになりました。

iOS

  • システム フォントが iOS で使用できるようになりました。

  • iOS において Metal のために Texture Streaming を追加しました。

  • iPhone6/6+ の解像度のためのサポートを追加しました。

  • 値が 0 (ネイティブの解像度) である、r.MobileContentScaleFactor CVar (DeviceProfiles にあります) の概念を追加しました。

  • iPhonePackager によって、期限切れのモバイル プロビジョンと署名証明書をフィルタリング アウトするようになりました。

    • モバイル プロビジョンと署名証明書の有効期限を検証する機能を追加しました。現在有効なもののみを選択するようになります。

    • 見つかったモバイル プロビジョンと署名証明書のための拡張ロギング機能を追加しました。将来生じる可能性があるプロビジョニングの問題をデバッグする時に役立ちます。

    • 重複した Apple の証明書チェーンを DotNET/IOS から削除しました。Engine/Build/IOS にあるものを使用するように切り替えます。

    • 他の各種出力ロギングの改善およびコード署名中のタイムスタンプ。

    • 破損している -interactive オプションと関連するコードを削除しました。

    • mono における未使用の変数の警告を修正しました。

  • iPhonePackager の UAT マージされたコピーを削除しました。現在使用されておらず、すでに古くなっているためです。IPP スタンドアロン作業が完了したら再導入される予定です。おそらく共有アセンブリとして再導入されます。

  • iOS および Mac のためのメディア プラグインの最初のパス。

  • バックグラウンド サウンドが再生されているか否かをチェックする機能が Audio Device に追加されました。iOS のために実装されました。

  • Platform Frame Pacer API が追加されました。iOS の実装が追加されました。

    • これによって、フレームがティックされた時に呼び出されるデリゲートがデバイスに追加されます。

  • iOS 向け virtual file handles (仮想ファイルの処理) を追加して、700 ファイルの処理制限を受けないようにしました。

Xbox One

  • RHICalcTexture2DPlatformSize() の Xbox One の実装を追加しました。より正確なメモリ使用に関する統計情報が出ます。

  • IOnlineIdentity、OnControllerPairingChanged (Xbox のイベントがアクティベートされた時にアクティベートされる) に新たなデリゲートを追加しました。

  • ShooterGame が XRs に適合するためにコントローラーの切断を扱うようになりました。

  • PIX におけるより効率的なデバッギングのためにシェーダー PDB の生成がサポートされました。この機能を有効化するためには、ゲームの DefaultEngine.ini ファイルに下記のテキストを付け加えて、シェーダー PDB ファイルを置きたい場所の代わりにこのパスを使用します。ディレクトリは、非管理者レベルのプロセスから書き出せるものでなければなりません。ShaderVersion.usf で GUID を変更することによって、シェーダーのリビルドを強制する必要があるかもしれません。

    [DevOptions.Shaders]
    ShaderPDBRoot=D:\DirectoryOfChoice
  • SSE math 関数が追加されました (Windows の実装から)。

  • コントローラーの接続が変更になった場合、Xbox が FCoreDelegates::OnControllerConnectionChange をアクティベートするようになりました。

  • Xbox One MP4 ムービー プレイヤー プラグインが追加されました。

  • ライブラリのための /ZW コンパイラ オプションが追加されました。プラグインが XDK 全体を使用できるようになります。

  • スレッド アフィニティーを変更し、メインのゲーム スレッドがあるコアをワーカー スレッドがけっして共有しないようにしました。

  • タイトルをサスペンドする時ログ ファイルをディスクにフラッシュするようになりました。

  • BeginRenderFrame() から 不要な SetRenderTarget() 呼び出しを削除して不正なタイミングを修正しました。

  • MEM_GRAPHICS を使用するあらゆる VirtualAlloc の呼び出しから MEM_TITLE を削除しました。不必要であるためです。

  • メモリを過剰に使用するシェーダー定数のリングバッファを修正しました。この修正によってパフォーマンスも若干向上します。

  • Live オンライン サブシステムにおける複数の潜在的なクラッシュを修正しました。

PlayStation 4

  • テスト キットにおいて Development ビルドの稼働を可能にしするための Devkit/TestKit の検出機能。

  • OnChip Geometry シェーダーのための初期サポート。現在は未処理の問題により無効化されています。

  • オプションのバッファリングされたオクルージョン クエリのコンソール変数。CPU 上のすべてのオクルージョン クエリのリードバック遅延を除去します。オクルージョンの結果にレイテンシを追加します。

  • PS4 のフリップ管理を完全にオーバーホールしました。フリップのために、フレームの最後で明らかに CPU が遅延することがなくなりました。フリップ管理は完全に GPU によって処理されるようになりました。

  • DualShock4 のためのコントローラーの方向をリセットするための方法を追加しました。

  • 揮発性/単一フレーム バッファが複数のフレームにまたがって使用されているか否かのチェック。デフォルトでは無効になっています。

  • 正しいロケールが ICU 国際化ライブラリに与えられるようになりました。

  • スレッディングのために正しい NumberOfCores (コアの数) が返されるようになります。

  • フレームのスムージング機能を有効化しました。

  • ジオメトリ シェーダーのリング バッファが、1 つの大きな値をすべてのシェーダーに使用するのではなく、必要に応じてコマンド バッファからグローバルなリソースのテーブルをアロケートするようになりました。

  • Shader Debug Info Root パスがシェーダー コンパイラに常に正しく渡されるようになりました。

  • LCUE ハックを削除しました。欠損したリバースコール バックの問題が SDK で修正されました。

  • GPU クラッシュの原因となりうる、ミッドフレームのサブミット間において Async Submit Dones (非同期サブミットの完了) が生じる可能性がある問題を修正しました。

  • -emulatestereo を使用しながらライトを処理する際に生じるパーティクル システムのクラッシュについて修正しました。

  • Morpheus ScreenPercentage のオーバーライドについて修正しました。

  • Development ビルドをテスト キット上で動作させるためのさまざまな修正。

  • 余分な GPU パイプラインのフラッシュを増やす、Append/Consume bufferのカウンター管理に関するバグを修正しました。ユーザーは GPU が大幅に増加したことが分かるはずです。

ネットワーキング

  • 帯域幅の削減 - ネットワーキングのために安定した命名がされている場合は、サブオブジェクト クラスを送信する必要はありません (さらなるサニティーチェックも)。

  • クライアントが誤ったパッケージ バージョンを読み込んだ場合のロギングを改善。

  • PIE ネットワーキングがパッケージの検証を正しく行っていなかった問題を修正しました。

  • 接続の喪失のペンディングに関係する通知コードを整理しました。

  • 修正済み:コンソール向け Shooter Game における Offline モード。

  • Online/Offline ホスト モードを追加しました。

  • オンライン接続されていない場合にマッチをホストしようとすると、プレイヤーが警告を受けるようになりました。

  • サインインしていないプレイヤーは、オフラインでプレイできなくなりました。

  • コンソール向け LAN オプションを削除しました。

  • Shootergame - dialog box management (ダイアログ ボックス管理) を追加して、ネットワーク エラーに対処しやすくしました。

  • Shootergame - Shooter のメイン メニューがゲーム インスタンスを直接追跡し、弱いオブジェクト ポインタを使用することによって、削除されたオブジェクトが持たれ続けることがないようになりました。

  • Shootergame - サインインしていないプレイヤーがオフラインでプレイしている場合の名前を修正しました。

  • Shootergame - ジョイスティックのフォーカスが、Shootergame のブラウザ メニューにおいてすべてのジョイスティックには適用されない問題を修正しました。

  • Shootergame - Xbox One / PS4 の両方において認証パスを通過できるようにするために多数の変更が加わりました。

  • オンラインでの分割スクリーンが機能するために必要な修正。

  • 分割スクリーンのプレイヤーが退去した時に生じる可能性があるクラッシュを修正しました。

  • Controller プロパティが非オーナーにレプリケートされていない問題を修正しました。ただし、これは値が NULL の場合に必要となります。

  • サーバー上で GUID をフラッシュする際にシームレスな移動間に生じるネットワーク GUID の問題を修正しました。応急的な措置は、必要が認められないためサーバーにこのプロパティを送信もしないことです。これによって、問題が修正されるだけではなく、帯域幅も節約されるというメリットが生じます。ただし、依然として、サーバー上で GUID をもう少し長く持続させる方法を調べて、将来的に発生する可能性のある衝突を真に解決する必要があります。

  • 拒絶された RPC における低冗長性。これはエラーではなく仕様です。

  • [use dedicated server] オプションにチェックが入っている状態でシミュレートすると、PIE がクラッシュする問題を修正しました。

  • コンポーネントの参照がネットワークを介して送信される方法を大幅に簡略化しました。また、コンポーネントがゲーム中に削除される時に生じる問題を修正しました。

  • ping の計算におけるバグを修正しました。

  • 順序が乱れたパケットを処理するコードを削除しました。このレベルではパケットの順序が乱れたことはないからです。

Steam

  • 複数のプロセスをともなって Play in Editor を使用する場合の Steam を無効にしました。

  • 信頼性を高めるために Steam DLL の読み込みを変更しました。

  • Steam の初期化失敗メッセージを改善しました。

  • Steam の Voice の実装に関係するクラッシュを修正しました。

Analytics

  • 新規:Analytics ブループリント ライブラリーがプラグインとして追加されました。

    • これによって、ブループリントのみのプロジェクトが、ネイティブの Analytics API にアクセスできるようになります。

    • このブループリント ライブラリーは、ご自分のプロジェクトのために登録されているデフォルトの Analytics プロバイダーを使用します。

  • 新規:プラグインとして、ファイルベースの Analytics プロバイダーを追加しました。

    • このプロバイダーは Analytics データをファイルに JSON 形式で書き出します。

    • 分析的なイベント キャプチャをデバッグするために使用してください。

  • 新規:プラグインとして iOS 用に Apsalar 分析を追加しました。

    • この Analytics プロバイダーは Apsalar のクラウド サービスにデータを送信します (www.apsalar.com をご覧ください)。

    • このプラグインは Analytics イベントを送信するために Apsalar のアカウントからの情報を必要とします。

物理

  • FConstraintInstance::SetRefFrame 内で GetScaledAxis に代わって GetUnitAxis を使用します。

  • FConstraintInstance::IsTerminated() を修正しました。!= は == であるべきでした。

サンプル

  • Vehicle (車両) テンプレートにインカービューを追加しました。look のサポートが付いています (マウスまたは VR デバイスを使用します)。

コンソール認証の改善

  • コントローラのペアリングの実装と修正

  • ウェルカム画面でサインイン ダイアログにフォーカスされていない問題を修正しました。

  • オーナーとして ULocalPlayer を保存しなくなりました。代わりに GameInstance を直接保存します。

  • カウントダウン中にインゲームのメニューを有効化します。

  • ホストが優雅に終了する場合とタイムアウトする場合に適切なメッセージを表示します。

  • レベルを読み込み中に分割スクリーンのアーティファクトが生じる問題を修正しました。(インゲームまで分割スクリーンのペインを表示しません)

  • 現在のメニューにとどまっている場合にメッセージを表示するのにより適切なダイアログ ボックスを使用しました。また、優先度のために、ウェルカム画面を去るためにメッセージ メニューを使用できない問題を修正しました。

  • ユーザーがオンライン接続されていることを検証するチェックを改善および統合しました。

  • セッションをシャットダウンするコードを整理および統合しました。 これは、GameState がまだない場合 (サーバーに完全に接続していないにも関わらず、 セッションをシャットダウンしなければならない場合) にコードを呼び出すことができるようにするための措置です。 一度サーバーに参加できないとその後失敗し続ける問題が修正されます。

  • サーバーからの一般的なエラーを検出して表示します(そのため、分割スクリーン プレイヤーが参加するとロビーをフル表示します。)。

  • メインスレッドにおいてロード スクリーンのためのサポートを追加しました。シームレスな移動の間や、レベルがロード開始してセッションの呼び出しをカバーする前などに、呼び出すことができるようになりました。

  • メインメニューに入ると必ずロードスクリーンが無効になるようにしました。

  • HUD に net バージョン、日付、時間を表示します (非シッピングのみ)。

  • [continue without saving (保存せずに続行)] を以前に受け入れたにも関わらずサインインするユーザーを処理します (この場合は、ウェルカム スクリーンに戻します)。

  • ウェルカム スクリーンにおいて、ペアリング変更済みダイアログを表示しません。

  • 適切な XBox LIVE イベントを送信して、リッチ プレゼンス機能 (RoundStart, RoundEnd など) をセットします。

  • 招待用の特別な画面なので、処理待機中に入力はありません。

  • 第二の分割スクリーン プレイヤーが、ゲームのオーナーとして表示される問題を修正しました。

  • 分割スクリーン プレイヤーを Live セッションに追加する機能について修正しました。

  • セッションが作られる場合に、正しく OwningUserId がセットされるようにしました。

  • Shootergame のためのシームレスな移動を有効化しました。

  • サーバーがゲームから去った時に、クライアント上で CleanupSessionOnReturnToMenu が重複して呼び出される問題を修正しました。重複したデリゲートの追加における check() によるクラッシュを修正しました。

  • switch user (ユーザー切り替え) 機能が使用されて誤ったユーザーが LocalUser をコントロールしてしまうバグを修正しました。

  • ネットワークが切断されている場合にユーザーをメニューに通過させる問題を修正しました。

  • ShooterLocalPlayer が FPlatformUserId を ShooterPersistentUser に渡すようになりました。

  • クライアント上における Xbox のイベントの送信。マッチ中にユーザーがメインメニューへ退出した場合。

  • オンライン ゲームの場合に、invite players (プレイヤーを招待) のインゲーム メニュー オプションのみを表示します。

  • 招待を受け入れる場合にオンライン モードをセットすることによって、パーティーの操作が正しく機能するようにします (ある場合において招待が機能しない問題を修正します)。

  • オンライン ゲーム中に不正な pause/resume イベントを送信しません。実際にはゲームが pause (中断) しているわけではないからです。

  • 別のローカル プレイヤーが招待を受け入れた場合に、再接続を強制するために、BeginPendingInviteState でメイン メニュー マップをロードします。

  • ボットが、最近の met リストに表示されなくなりました。

  • コンソールから LAN オプションを削除しました。

  • マッチが再開しようとする間に、クライアントがサーバーに参加しようと試みるとクラッシュする問題を修正しました。

  • ホストが切断するとスコアボードが表示されなくなりました。

  • ローカルのプレイヤーがゲームからブートされると (インゲームの存在が除去されます) キルされるようになりました。

  • ゲームから退去している間に (null Pawn) キルされると特定のタイミングでクラッシュする問題を修正しました。

  • チームにプレイヤーが残っていない場合に、HUD のチーム数が正しく更新されない問題を修正しました。

  • スコアボードがコンパクトになり、より多くのプレイヤーにフィットするようになりました。

  • ホストしていない場合に分割スクリーンのロビーで 'find match' (マッチを見つける) と表示されるようになりました。

  • どちらかの分割スクリーン プレイヤーがオンライン ゲーム中に切断した場合、メイン メニューに戻されます。

  • player 2 のための save データが作成される場合に、無効なインデックスが userid にアクセスする問題を修正しました。

  • ユーザーが勝利しつつある時に、メニューを使うかプロファイルからサインアウトすることによってマッチを止めた場合、報酬を得ないようにするために、quiter (止めた者) として分類されます。

  • オフライン プレイ用のログインを共有するプレイヤーの名前が変更されます。

  • 第 2 のコントローラがゲームに参加できないバグを修正しました。

  • LAN ゲームを検索しようとすると、リスタートするまでゲームの検索から締め出されるバグを修正しました。

  • join game フローをセットアップして、任意のエラーが扱われる/処理されるようにしました。

  • ケーブルの引き抜きへの対処。

  • マップの navmesh がシームレスな移動中に登録されない問題を修正しました。この問題は、ワールドにまだナビゲーション システムがない場合に、ANavigationData::PostInitializeComponents が自身を MarkPendingKill するために生じていました。

  • 2 個のインゲーム メニューが互いに重なって表示される問題を修正しました。

  • ボイスチャットの実装/UI が、インゲームでスコアボードで表示されるようになります。また、スレートを通じて話し手のアイコンが追加されました。

  • ローカルのアカウントによって、オフラインのマッチをプレイできるように修正しました。

  • ラウンドが遷移する際にインゲーム メニューが開いていると、プレイヤーが不適切な状態になる問題を修正しました。

  • ラウンド スコアボードの終わりがインタラクティブになりました。プレイヤーのゲーマーカードの表示に使用されます。

  • クイックマッチをホストしている場合に HostGame を呼び出しません。セッションはすでに作成されています。

  • Shooter オンライン ゲームにおいて、ローカル ユーザーをパーティー (Xbox One のために必要) に追加/パーティーから削除しました。

  • OSS - FPlatformUserId を導入しました。これは、FUniqueNetID と類似したものですが、コア エンジン コードで生きることができます。

  • FUniqueNetId から FPlatformUserId を取得する Identity インターフェイス関数を追加しました。

  • OSS - FUniqueNetId を受け取る、招待のための新たなデリゲートを追加しました。各ユーザーのための登録デリゲートが必要なくなりました。招待に関する問題をいくつか修正しました。

Xbox One

  • プロファイルを手動で切り替える場合、キャンセルのダイアログがポップアップしないようにしました。

  • 接続時のタイムアウトを短くしました。

  • Y を押すとプロファイル スイッチを処理します。ユーザーは以前 [continue without saving (保存せずに続行)] を選択していました。

  • Live matchmaking (ライブのマッチメーキング) および ShooterGame のクイック マッチのための改善。

  • ユーザーは、メイン メニュー画面でプロファイルを交換できるようになりました。

  • ムービー ファイルが見つからない問題を修正しました。

  • プラットフォーム - Xbox One の suspend/resume デリゲートを呼び出します。サスペンド中のサインアウトを修正しました。

  • OSS - TriggerOnConnectionStatusChangedDelegates を適切にトリガーするようになりました。

  • OSS - 中断から復帰した時にキャッシュされたユーザーをリフレッシュします。

  • OSS - 安定した gamepads 配列が、中断からの復帰後に最新の状態に更新されるようにしました。

  • OSS - コントローラのマッピングに関する問題を修正しました。

  • OSS - OSS パーティー インターフェイスに/からローカル ユーザーを追加/削除する関数を追加しました。

  • OSS - Live アチーブメントを取得する際にエラーが生じた場合に catch して警告を出します。

  • OSS - FOnlinePartyLive::AddLocalUsers and FOnlinePartyLive::RemoveLocalUsers において、より多くの例外のタイプを catch します。

  • OSS - 非同期のタスクに例外が発生した場合であってもパーティー ビューをリフレッシュします。

  • OSS - セッション インターフェイスに RegisterLocalUser および UnregisterLocalUser 関数を追加しました。また、Live OSS 非同期タスクを改善しました。

  • OSS - Live セッションを自動で書き出すための、新たな非同期タスク (SafeWriteSession) を追加しました。リトライと SynchronizedUpdate を自動で処理します。

  • OSS - DestroySession、RegisterLocalUser、UnregisterLocalUser が新たな SafeWriteSession タスクを使用します。

  • OSS - DestroySession がセッションからすべてのローカル ユーザーを削除するようになりました。キャッシュされた MultiplayerSession で対応する XboxLiveContext をともなったユーザーだけが削除されることはなくなりました。

  • OSS - atomic のセッションの更新のために SafeWriteSession に基づくタスクに AddAvailablePlayers 処理を移動します。

  • OSS - 更新がないことを示すために、SafeWriteSession サブクラスが UpdateSession から false を返すことができるようになりました。

  • OSS - Live join セッションの失敗時に NamedSession を整理します。

  • OSS - Live OSS FindSessions のための ping クエリを統合します。

  • OSS - SecureDeviceAssociation のステートの変化のためのロギングを追加しました。

  • OSS - Xbox One のためのオンライン マルチプレイヤーの特権チェックを実装しました。

  • OSS - XboxOneInputInterface が、安定したユーザーのリストをトラックするようになりました。

  • OSS - Xbox イベントにともなって MultiplayerCorrelationId を送信します。

  • OSS - 参加リクエストに SecureDeviceAddress を追加することによって、招待を受け入れる際に、参加セッションが失敗する可能性がある問題を修正しました。

  • OSS - パーティーに/からローカル プレイヤーを追加/削除するためのデリゲートを追加しました。

  • OSS - ローカル プレイヤーが招待を受け入れたプレイヤーである場合に、パーティーからそのプレイヤーを削除しません。

  • OSS - パーティーのリストが変更される場合の、パーティー メンバーのロギングをいくらか追加しました。

  • OSS - マッチメーキングをキャンセルすると、セッションが作成されている場合に備えて、セッションも破棄するようになりました。

  • OSS - Live セッションを破棄する場合、ローカルとリモートのボイスチャットの話し手を削除します。

  • OSS - Live ボイス パケットを送信する際に、同一のユニーク ID を常に使用します。分割スクリーンのためにボイスチャットを修正しました。

  • OSS - フルのセッションに参加しようとする時に、セッションがフルであることを Live OSS が正しく報告します。

  • OSS - Live セッションを常に active としてマークすることによって、セッションがタイムアウトしないようにします。

PlayStation 4

  • OSS - セッションのコードによって、player index 0 が想定されなくなりました。

  • OSS - クライアントがゲームから去る場合に、部屋を正しく退出できるようになりました。したがって、再参加も可能になります。

  • OSS - 部屋への参加に失敗すると、参加していたセッションからもユーザーが去るようになります。

  • OSS - セッションが不正に LobbySessions としてセットされる問題を修正しました。

  • OSS - GetUserPrivilege を実装しました。

  • OSS - デリゲートが正しくクリアされず、そのため次回試行でアサートされる Session Failure (セッションの失敗) ステートのための一般的な修正。

  • OSS - セッションの作成が失敗すると、リストから NamedSession が削除されます。

  • OSS - インゲーム中にプレイヤーがログアウトするとクラッシュする問題を修正しました。

  • OSS - だれかがサインアウトしたことによってゲームが終了した場合に、内部リストからセッションが削除されない問題を修正しました。

  • OSS - controller 0 が PSN にサインインしていない時にゲームが起動するとネットワーク プレイが実行できない問題を修正しました。

  • OSS - ユーザーが PSN にログインしていなかった時でも、UserWebApiContext が誤って作成される問題 (後にすべてを破棄する誤った値がキャッシュされることになります) を修正しました。

  • OSS - 誤った contextId が PS4 で使用されるバグを修正しました。

ネットワーキング

  • コンソール コマンドから最大プレイヤー数を上書きすることによって、フル サーバーをテストできるようにしました(net.MaxPlayersOverride)。

  • PlayerName in APlayerState::OverrideWith をセットしました (接続間で名前を変更できます。これによって、非アクティブのプレイヤーが見つかった場合に、古い誤った名前が表示されなくなります)。

  • AGameMode::FindInactivePlayers においてコンソール上でユニークなネット ID を比較することによって、誤判定を除去します。

  • UPartyBeacon の実装に ChangeTeam() と SwapTeam() のコードを追加しました。

  • AGameMode に InactivePlayerStateLifeSpan 変数を追加しました。非アクティブなプレイヤーが非アクティブ プレイヤー リストに留まることができる時間について、ゲーム カスタマイズが可能になります。

  • ログイン デバッグ出力において FUniqueNetId に対する null チェックを追加しました。

  • Login() コードをリファクタリングして、Login() と PostLogin() のより整理された関係を作るようにしました。

    • InitNewPlayer() がプレイヤーを登録し、名前や他の基本的なログイン初期設定を設定します。ゲームの変更には早すぎるため、ゲームによってオーバーロードされることはありえません。

    • 通常は、ゲームコードが、PostLogin() によってログインしたプレイヤーに影響を与え始めます。

  • 修正済み:修正済み: FUniqueNetId を比較する際の検出漏れ。この修正によって、ゲストが Xbox One で動作しない問題が修正されます。

    • ULocalPlayer における FUniqueNetId のオーバーライドが有効化されました。これによって、コントローラ ID と OSS の ID を切り離すことができます。

    • これは、成績などのためにオリジナルのユーザーを維持しながら、コントローラのオーバーライドを可能にしなければならないプラットフォームに必要な措置です。

  • Shootergame - PlayerOwner ポインタを TWeakObjectPtr でラップしました。

更新ノート

エディタとツール

  • Project Launcher (以前は Game Launcher) を大々的にリファクタリングしました。起動プロファイルを再作成する必要があります。

  • WorldSetting を整理しました。advanced (高度) に分類されたプロパティもあれば、非表示になったプロパティもあります。

  • C++ ヘッダのリンクが SceneOutliner で表示されなくなりました。読み取るのが難しいためです。アクタが選択されると Details (詳細) からはまだ利用可能です。

  • SlateApplicationBase::GetMouseCaptor() が非推奨となりました。特定のウィジェットがマウス キャプチャを保持しているか否かをチェックするには、SWidget::HasMouseCapture() メソッドを使います。

  • コンテンツ ブラウザにおいて、Create Copy (コピーを作る) から Duplicate (複製する) に名前を変えました。

  • カテゴリ アイコンの概念が API から削除されました。settings (設定) カテゴリを登録している場合は、アイコンを削除して、コードを更新する必要があります。

スレート

  • SLATE_TEXT_ATTRIBUTE が、FString 属性の代わりに FText 属性を使用するようになりました。

    • 注記:SLATE_TEXT_ATTRIBUTE はレガシーです。新たなコードで使うべきではありません。もしすでにお使いの場合は、標準の FText 属性を使用することをご検討ください。

  • スレート ウィジェット Render Transform

    • FGeometry の AbsoluteToLocal および LocalToAbsolute、IsUnderLocation がアップデートされて Render Transform を使用するようになりました。

  • FSlateLayoutTransform (新たなトランスフォーム計算方式フレームワークを使います) を追加しました。FGeometry のために 2D トランスレーション (移動) と均一スケールが格納されます。

  • スレートのスロットに、private なメンバーへの、共通ベースのより厳格なアクセスが備わりました。

    • スロットにおける .Widget プロパティが GetWidget() のために削除されました。

    • operator[]() を呼び出すことによってスロットの中身を割り当ててください。例: (*MySlotPtr)[ContentToSet ]

    • TPanelChildren と TSlotlessChildren では、Array API のサブセットのみサポートされるようになりました。

  • スレートの AspectRatio() プロパティが非推奨になりました。 SColorPicker と SWizard が新たなモジュール AppFramework の中に移動しました。これらのウィジェットを使用している場合は、Build.cs ファイルを更新してください。

  • エンボス (浮き彫り) 処理された 3D 境界線が平坦な境界線になりました。パディング機能として境界線を利用している場合は、SBox を代わりに使用することを検討してください。

  • タッチ イベントのために FPointerEvent::CursorDelta が逆向きに計算されている問題を修正しました。このコンストラクタを使用し、CursorDelta を無効化して適切な動作が得られていたユーザー作成のウィジェットは、逆向きにスクロール/スライドされることになります。必要に応じて、FPointerEvent::CursorDelta の無効化を削除することによって修正してください。

  • FGeometry の大きな変更 (互換性断絶)

    • ウィジェット向けに Render Transforms をサポートするために、互換性が断絶する変更を FGeometry に加えました。

    • すべての public メンバーを const にして、それらを変異させるような使用を防ぎました。

      • FGeometry を変異させるのではなく、あらかじめ必要な値を用意して、FGeometry::MakeChild() を呼び出します。

    • FGeometry::CenteredPaintGeometryBelow() と GetRect() を削除しました。

    • FGeometry へのダイレクトなメンバー アクセスは最終的になくなります。

      • ダイレクトなメンバー アクセスは、適切なメンバー関数への呼び出しに置き換えてください。

    • Render Transforms を適切にサポートするために、FPaintGeometry は直接生成されるべきではなくなりました。

      • 代わりに FGeometry::ToPaintGeometry() を呼び出してください。

      • 既存の使用によって不具合が生じることはありませんが、Render Transforms はサポートされません。

    • FPaintGeometry::ToSlateRect() と Identity() を削除しました。

Unreal Motion Graphics

  • 4.4 の Button Click Bindings は、そのままでは 4.5 で機能しません!設計の変更により、UMG Button が、クリック イベントを登録するために関数バインディングを使用しなくなりました。クリックの Broadcast を実行するために標準の Blueprint Multicast Event を使うようになりました。このイベントのための新たなハンドラをセットアップし、さらに、古い関数を呼び出すか、ロジックを Event Graph に移動させる必要があります。注記:関数バインディングに関係するバグは他にもあり、誤って Pure として生成されていました。したがって、関数を呼び出すためには、Pure のチェックボックスのチェックを外す必要があります。

    UMG01.png

  • すべての Slate Game UI に DPI スケーリング システムを提供しました。すでにある場合は、それを削除するか、スケールを 1 に設定することによって、UI のスケールが両方から増加されないようにしてください。このシステムの詳細については「新機能」をご覧ください。

  • FSReply (現在は FEventReply) を必要とする低レベルのオーバーライド可能な入力関数を使用していた方にとっては、スレートで可能なことをさらに綿密にミラーできるようにするために、構造体の作成方法が大きく代わりました。たとえば、マウスを押下した時にマウスをキャプチャするウィジェットが必要な場合は、次のようにすることができるようになりました。

    UMG02.png

  • 異なるドラッグ/ドロップのアプローチをしてしまう古い Drag/Drop パネルを削除しました。

  • 以前は、ウィジェットを作成するためには、Create Widget 関数を使用する必要がありました。この関数は、同じ名前をもつ新たなカスタム ノードに置き換えられました。Create Widget に格段に多くの機能が備わっており、指定された型を返すので、作成したウィジェットを Cast する必要はなくなりました。古い使い方はそのまま機能しますが、新たなノードに変えることをお勧めします。

  • 未完成の実験的なウィジェットがいくつか時期が到来するまで非表示となりました。Viewport、List View、Tile View、ComboBox、ScrollBar はデザイナーで作成できなくなりました。

  • Slate Widget Style (スレート ウィジェット スタイル) が UMG に適用されなくなりました。ブループリント スクリプトで使用できる場所はありますが、ウィジェットのスタイルを作る手段ではなくなりました。既存のスタイルはコピーすることができますが、すべてのスタイル データのコピーはウィジェット上に保存されるようになりました。これによって、実行時にウィジェットのスタイルを自由に変化させることができるようになりました。動的マテリアル インスタンスを付与し、ユーザー入力に基づいて外見を変更できるのです。

  • ビューポートへの追加 - Modal (モーダル)、Show Cursor (カーソルの表示)、Absolute Layout (絶対レイアウト) の各フラグが削除されました!Absolute Layout をぶーポートに置いて手動で位置とサイズを取得しようとすると、自動的に判断されるようになりました。[Cursor] オプションと [Modal] オプションを、新しい関数の "Set Input Mode" を使ってプレイヤー コントローラから制御できるようになりました。

レンダリング

  • FPrimitiveSceneProxy のサブクラスにある DrawDynamicElements が間もなく非推奨となり、GetDynamicMeshElements に置き換えられます。

  • 並行レンダリングの進捗。コンソールに最も注力しています。非コンソールについては、r.RHICmdBypass 0 によって並行プロトタイプが有効になります。これはコンソールでも機能しますが、togglerhithread によって完全な並行最適化のセットが有効化されます。実験的な作業が続いていますが、有望な進捗が見られました。

  • ポスト プロセスのレンズフレアのデフォルトが変更になりました (プロジェクトの設定としてデフォルトで無効になります)。作成されたプロジェクトには、以前にポスト プロセスの設定によって無効に切り替えられたレンズフレアが備わっているかもしれません。ポスト プロセスの設定は修正できます。あるいは、新たなプロジェクトの設定を使うことができます。

  • UI のブラーを削除しました(問題があり、そのためにエンジン内部が複雑になっていました)。

  • r.MobileHDR コンソール変数が実行中に読み取り専用となりました。

  • ApplyDBufferData によって spec brightness (スペキュラの明るさ) に .5 が追加される問題を修正しました。DBuffer が有効化された場合にスペキュラの明るさに影響が出ていました。

  • ERHIFeatureLevel::Type enumeration のエントリ SM3 を削除し、ES3_1 を追加しました。

    • ERHIFeatureLevel::SM3 のためのテストは、ERHIFeatureLevel::SM4 に変更しなければなりません。

    • ERHIFeatureLevel::ES2 のためのテストは、ERHIFeatureLevel::ES3_1 に変更しなければなりません。

ブループリント

  • Evaluate Curve Table Row (カーブ テーブルの行を評価) ノード:行の名前選択するためのドロップダウン ボックスを追加しました。ただし、この変更を有効にするためには、既存のノードを削除して作り直す必要があるかもしれません。新たなノードは問題なく機能するはずです。

  • Kismet のライブラリのヘッダがグローバルにインクルードされなくなりました。

  • GetPlayerController、GetPlayerPawn、GetPlayerCharacter、GetPlayerCameraManager、CreatePlayer が ConstructionScript で呼び出されないようにしました。

  • ユーザーによって、自身の K2Node GetMenuEntries() の実装を UK2Node::GetMenuActions() に移植する必要があります。

    • これまで Blueprint Menuing System をリファクタリングしてきました。4.6 で利用できるようになる予定です。支障を回避するために、問題が発生した場合には、お使いの GetMenuEntries() ロジックをコピーして、UK2Node::GetMenuActions() オーバーライドに移動してください。

    • これらのメニュー項目の UI 部分は、ほぼ専ら、UK2Node の GetNodeTitle(ENodeTitleType::MenuTitle)/GetMenuCategory()/GetTooltipText()/GetKeywords()/GetPaletteIcon() 関数へのオーバーライドを通じて定義されることになります。

    • この実験的なメニューをプレビューするには、エディタの [Experimental Preferences (実験的な設定)] の [Use New Blueprint Menuing System (新たなブループリント メニュー システムを使う)] オプションを切り替えます。

  • 古い UEdGraphNode::CanPasteHere() を非推奨としました。後継のバージョンは、UEdGraph ポインタを受け取ります (また、新たな UEdGraphNode ::IsCompatibleWithGraph() 関数を使います)。

  • UEdGraphNode::GetTooltip() を非推奨としました。UEdGraphNode::GetTooltipText() に差し替えられました (この関数は、ローカライズされたテキスト文字列を返します)。

アニメーション

  • マルチ モンタージュをサポートするためにモンタージュ API をリファクタリングしました。

ゲームプレイとフレームワーク

  • エンジンの外部から利用できるようにするために、CurveFloat クラスに ENGINE_API を追加しました。(各種ビークルのパラメータにアクセスする必要があります)。

  • AActor::GetRootPrimitiveComponent が非推奨となりました。適宜 GetRootComponent と cast を使用してください。

  • アクタのライフスパン タイマーが、PostInitializeComponents ではなく BeginPlay で起動されるようになりました。

  • AGameMode::SetGameMode が非推奨となりました。AGameMode::GetGameModeClass を使うようにしてください。

  • AGameMode::GetGameModeClass と GetDefaultGameClassPath が const および virtual となりました。

  • WorldContext を必要とする BlueprintCallable 関数が、DefaultToSelf= と HidePin= の代わりに、メタデータ WorldContext= を使用するようになりました。

    • ShowHiddenSelfPins クラス メタデータが ShowWorldContextPin に変更になりました。

    • WorldContext を必要とする関数が、GetWorld() を実装しておらず、かつ、ShowWorldContextPin とマークされていないクラスのためのグラフに配置できなくなりました。

    • WorldContext を必要とするけれども、たとえば PrintString がなくても機能することができる関数も、すべてのコンテクストへの配置を可能にするために、CallableWithoutWorldContext メタデータを供給することができます。

  • コンポーネント/アクタのマウスオーバーの更新が、ゲームのポーズ中に発動するようになります。

  • ツインスティック テンプレートのためにバーチャル スティックを有効化しました。

  • FVector2D UGameViewport::GetMousePosition() が非推奨となり、bool GetMousePosition(FVector2D&) に置き換えられます。この関数は、マウスカーソルがビューポート上にない場合に false を返します。

  • ビークル テンプレートにおける VR デバイスのサポートを改善しました。

  • ビークル テンプレートのための一般的な改善。

  • テンプレート レベルの一般的な整理。

  • ナビゲーション オクツリーをリファクタリングして、コリジョン データのオーナーシップを簡素化しました。Actor.UpdateNavigationRelevancy() を削除しました。 Actor.IsComponentRelevantForNavigation() を使用してコリジョンのエクスポートを無効にしてください。ナビゲーション データをエクスポートするすべてのオブジェクトは INavRelevantInterface インターフェイスを使用しなければなりません。

  • エンジンの ini ファイルにおいて、Xbox 専用の pause のバインディングを削除しました。

  • FActorDetails::CustomizeDetails を改訂して、いくつかの非表示のカテゴリに配慮しました。

  • Rolling Template (回転テンプレート) で ball のサイズを変更しました。

  • Puzzle Template (パズル テンプレート) の Auto Exposure (自動露出) 設定を改訂しました。

  • Mobile プレビュー モード (-FeatureLevelES2) でエディタを動かすことができなくなりました。

  • USoundNode::GetUniqueString を削除しました。

  • ムービー テクスチャのためのレガシーの UCodecMovie API を削除しました。新たな Media Framework に差し替えられます (ページの上の方にある「メディア」のセクションを参照してください)。

  • Twin Stick テンプレートのためのさまざまな改訂と改善。

  • アスペクト比に制約がある場合の HUD のクリック ボックス を修正しました。

  • ツインスティック ブループリントにおいて逆になっていた射撃制御を修正しました。

  • HUD::Project および HUD::Deproject において const correctness (const の正しい使用に関わること) を修正しました。

  • Shooter Game のメニューにおいて 1080 個のサブメニューを修正しました。

  • Strategy Game のメニューにおいて 1080 個のサブメニューを修正しました。

  • ツインスティックのコード テンプレートにおいてキーボードに関する問題を修正しました。

  • ガンマ設定が Shooter Game で適用されない問題を修正しました。

  • 専用サーバーを稼働させている場合に Shooter Game のインスタンスでクラッシュする問題を修正しました。

コア

  • 一般的に使用されないように隠されているNavigationSystem のブックキーピング関数が 2、3 あります。

  • EQS ジェネレーターと Test がリファクタリングされて、デリゲートではなく仮想関数を使用して作業を遂行するようになりました。

  • FPImplRecastNavMesh::ProjectPoints が ANavigationData::BatchProjectPoints に置き換えられました。

    • 追加情報 (wiki の形式のために、前行からスペース 3 つ分インデントされます)

  • stat id の作成回数を改善しました。stat id は 1 回の起動につき 1 度作成および登録されるようになりました。

  • Windows プラットフォームにおける Clang C++ ツールチェーンのためのサポートを改善しました。

  • INavAgentInterface::ShouldPostponePathUpdates を削除しました。APawn::ShouldPostponePathUpdates または AController::ShouldPostponePathUpdates を使用してください。

  • Base64 クラスを Core/Misc のための HTTP モジュールから移動しました。これにより、他のモジュールからのビジビリティが向上します (HTTP モジュールへの一切の依存性がない)。

  • NonPIETransient の名称が NonPIEDuplicateTransient に変更になりました。これによって、Transient の変種ではなく、DuplicateTransient の変種であることがより明確になります。

    • この指定子を UPROPERTY またはそれに関連する CPF_ flag において使用している場合は、それらの名前を適切に変更する必要があります。

  • 高速な C++ 依存関係のスキャニングのための新たな実験的なサポート (将来のリリースで有効化されます)。

  • .uproject の相対パスを UnrealBuildTool に渡しても、不正なコードが生成されなくなりました。

  • キーに明示的なコンストラクタがある場合、TMap::Emplace によってコンパイル エラーが生じることがなくなりました。

  • 参照をデリファレンスし、ヌルポインタをチェックすることによって、NULL を含むポインタのコンテナをソートできるようになりました。

  • C++11 のクラス内メンバーのイニシアライザに遭遇した場合でも UnrealHeaderTool が失敗しなくなりました。

  • 新たな /Zo オプションが Visual C++ 2013 Update 3 およびそれ以降でサポートされました。

  • サポートされている C++11 の機能にともなって、プログラミング基準が更新されました。

  • NonPIETransient (現在は NonPIEDuplicateTransient) が修正されて、シリアライゼーションを有効にしました。

  • GitHub のパッチを通じて UE4 をアップデートした場合でも AutomationToolLauncher がクラッシュしなくなりました。

  • LoadVector3* マクロがコンポーネント別読み取りに置き換えられました。これによって、ページの最後で非整列メモリから読み取られた場合にページのエラーが回避されます。

  • TArray::RemoveSingle と TArray::RemoveSingleSwap が Find について再実装されました。これによって、コードの分量が減り、無効なチェックが避けられます。

  • const-correctness の修正

  • PathFollowing による MinAgentRadiusPct と MinAgentHeightPct の使用をリファクタリングして、より分かりやすくし、MinAgentHeightPct を MinAgentHalfHeightPct に名前を変更しました。

  • Login() コードをリファクタリングして、Login() と PostLogin() のより整理された関係を作るようにしました。

    • InitNewPlayer() がプレイヤーを登録し、名前や他の基本的なログイン初期設定を設定します。ゲームの変更には早すぎるため、ゲームによってオーバーロードされることはありえません。

    • 通常は、ゲームコードが、PostLogin() によってログインしたプレイヤーに影響を与え始めます。

  • Windows 限定の FCOMPtr 型が TComPtr に名前を変えました。

  • ワイド文字を改変する関数の ToUpper/ToLower/IsAlpha などが、ネイティブの C++ 関数を使って実装されました。

  • AutomationTool.CommandUtils.PushDir_NoExceptions を変更して、PushDir をより良くミラーするようにしました。

    • PushDir_NoExceptions のコードが、インラインのソース コードのドキュメンテーションと整合するようにしました。

      • 以前の PushDir_NoExceptions には、最終的なディレクトリをポップして、何かがプッシュされる前に元の作業ディレクトリーに戻る機能がありませんでした。

  • BuildPatchTool.exe がある状況において、空のディレクトリをチャンクしなくなるバグを修正しました。

  • 追加の境界チェックによって、FWordWrapper::ProcessLine() のループ内における潜在的に安全ではないコードを修正しました。

プラットフォーム

Android

  • AdBanner ブループリント ノードを更新して、iOS のサポートのみを反映させるのではなくするとともに、名前を変更しました (実験的なステータスは削除しました)。

  • Android における x86 のサポートのための準備として、標準の .apk の名前に -armv7 が入らなくなりました (-armv7 の名前として .so が内部に)。

iOS

  • PC からの iOS のデプロイメントにおいて、マシンの日付/時間がある程度正確でなければならなくなりました。

    • 日付/時間のチェックが実施されることによって、期限切れのモバイル プロビジョンおよび署名証明書を除去できるようになりました。これによって、さまざまなデプロイメントの問題を防ぐことができます。ただし、ローカルのマシンの時間が正しいことが条件となります。

  • Metal のサポートのためのプロジェクト設定の位置が移動しました。メインの iOS プロジェクト設定のセクションの中に置かれるようになりました。Metal のサポートを再度有効にしてください。

Xbox One

  • Live identity インターフェイスが、サインインの変更のために、OnLoginChanged に代わって OnLoginStatusChanged をトリガーするようになりました。

    • OnLoginStatusChanged は、パラメータによってより多くの情報を供給します。

    • 利用例については UShooterGameInstance をご覧ください。

  • アンリアル・エンジン 4.5 が September 2014 QFE1 XDK を使用するようにアップデートされました。まず最初にこの XDK をインストールしてから devkit(s) をアップデートして、インストールが正しく行われたか確認してください。

PlayStation 4

  • SDK 1.750 にアップグレードしました!

  • LCUE が SDK から エンジンに格上げされました。これによって、将来のアンリアル・エンジン 4 固有のファイル改変が可能になります。標準の CUE のサポートは削除しました。

HTML5

  • HTML5 Emscripten SDK を 1.22.0 にアップデートしました。

HTTP

  • HTTP Chunk Installer をいくつか改善しました。

  • -manifests を使ってクックされると、IPlatformChunkInstall クラスによって使用される Chunk に割り当てられたアセットが、自動的に依存するアセットを含むようになります。

  • UAT は、コマンドライン オプションの -createchunkinstall によって、FHTTPChunkInstall に使用される Cunk データを自動的に生成できます。このオプションは実験的です。

  • HTML5 デバイスが、UnrealEd を稼働している同じネットワーク上で他の使用によってクレームされる問題を修正しました。

新しい Unreal Engine 4 ドキュメントサイトへようこそ!

あなたの声を私たちに伝えるフィードバックシステムを含め、様々な新機能について開発をおこなっています。まだ広く使える状態にはなっていないので、準備ができるまでは、ドキュメントフィードバックフォーラムで、このページについて、もしくは遭遇した問題について教えていただけると助かります。

新しいシステムが稼働した際にお知らせします。

フィードバックを送信