Language:
Page Info
Engine Version:
The translation of this page is out of date. Please see the English version for the latest version of the page.

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

Unreal Engine 4.7 は、これまでで最も大きな変更のあるリリースになります。大きなワールドでの膨大な数のインスタンス オブジェクトをレンダリングする機能や、枝葉 (フォーリッジ) の美しいレンダリング、HDR テクスチャのサポート、エディタ内でのアニメーション編集など多数の最適化と改良が加えられています。

熱望されていた多くの機能が追加されました。新規アクタをコンポーネントとして使って、レベル内で組み立てることができます。さらに、ブループリントによるビジュアル スクリプトや C++ を使って、自分でカスタム コンポーネントを作ることもできます!スクリプト作成に関しては、ブループリントエディタの UI が再設計され、すっきりと統合されたレイアウトになりました。またプロジェクトのコンテンツのインポートは容易ではありませんでしたが、このバージョンのUnreal エディタは新しいアセット ファイルを検出して自動的にインポートするようになりました!

HTML5プラットフォーム+WebGLに対応しました。ワンクリックでゲームを互換性のあるブラウザ上で実行できます!また Mac 上で Android デバイスにビルド、クック、デプロイすることもできます。仮想現実(VR)の制作者のために、新規に追加された「VRプレビュー」機能では、エディタからそのまま仮想世界に没入できます。さらに、コードベースのプロジェクトをビルドすれば、 Leap Motion サポートも使うことができます。究極的には学習やデバッグを容易にするために、すべてのリリースで完全な C++ によるエンジンのソースコードを提供します!

今回のリリースには、アンリアル・エンジンの素晴らしいコミュニティのデベロッパーの方々による 38 個の大規模な変更がともなっています。エピックはコミュニティ メンバーの Sébastien Rombauts 氏には、特に感謝しています。彼から提供された Git ソース コントロール プラグインが、Unreal Engineのこのリリースに追加されています。素晴らしい出来栄えです!次に挙げるコントリビューターのみなさんにも謝意を表します (以下敬称略)。

Artem V. Navrotskiy (bozaro), ArneBezuijen, Black Phoenix (PheonixBlack), codetackler, Daniel Zeligman (dzeligman), Derek van Vliet (derekvanvliet), Fazouane Marouane (fazouane-marouane), Jesus Fernandez (jsfdez), Lukasz Baran (iniside), Moritz Wundke (moritz-wundke), Michael Kosel (TheCodez), Michael Allar (Allar), Marat Radchenko (slonopotamus), 3dluvr, Pierdek, Quadtree, Rama (EverNewJoy), Robert Wallis (robert-wallis), Rick Yorgason (Skrapion), Simon Taylor (simontaylor81), Stephen Whittle (stephenwhittle), Tobias Mollstam (mollstam), Cengiz Terzibas (yaakuro)

主な機能

リアルなフォーリッジのライティング

新しくなった Foliage Shading Model (フォーリッジ シェーディング モデル)では、草や葉、紙などの素材で光を透過させることができるようになりました。

RealisticFoliageLighting.png

表面の反対側の拡散反射光は、シェーディングした側の透過ライティングになります。

* 透過ライティングは、ラップアラウンドのディフューズと後方散乱のための視点依存のローブとを合わせたものになります。
  • サブサーフェスの色はこのライトにフィルタをかけるので、厚みの変化を表現するのにも使えます(例:葉脈)。

  • このシェーディングモデルでオパシティを使用すると、シャドウのフォールオフ距離だけに影響することに注意してください。

大きなワールドのための枝葉のレンダリング

フォーリッジ システムは、広大でオープンな背景に対応するために最適化されました!

FoliageRenderingLargeworlds.png

このリリースでは、数百万規模の枝葉のインスタンスの管理やカリングに、階層的なシステムを使用しています!また、LOD が変わる時の不快なちらつきを取り除くために、一時的なフェードによりメッシュの LOD が滑らかに遷移するようにしました!

ワールド内でのコンポーネントの編集

コンポーネントは、レベルに配置されたアクタに直接追加できるようになりました。その結果、クラス ブループリントを先に作成する必要なく、コンポーネントから新規アクタを組み立てることができます。これは、レベル内でコンポーネントを試したり、新しいオブジェクトを組み立てたりするのに有効です。

InworldComponentEditing01.png

3D のレベルでは、個別のコンポーネントの選択が可能になり、慣れ親しんだギズモを使ってどこでも移動したり、プロパティを編集したりすることができます。

InworldComponentEditing02.png

何かいいものができたら、「Blueprint / Add Script」 をクリックして、再利用可能なクラスとして保存するか、スクリプトを追加してください。これで、自動的にアクタをそのクラスのインスタンスに置き換えてくれます。

InworldComponentEditing03.png

配置可能な空のアクタ

「空のアクタ」 をレベル内にドラッグ&ドロップして配置できるようになりました!

PlaceableEmptyActors.png

空のポーンとキャラクタもサポートされています。レベル内に面白いアクタを作リ上げるために、新しく追加されたワールド内コンポーネント編集機能も使えます。

ブループリントで利用可能なコンポーネント

ブループリントを使った自作コンポーネントタイプを作ってください!こうしたコンポーネントは保存して、他のアクタにも再利用できます!

「Add Component」 (コンポーネントを追加) をクリックして、一番上の「New Blueprint Script Component...」 を選択してください。これは、レベル内のアクタに対して実行できます。任意の アクタクラス ブループリント内から、またはコンテンツ ブラウザの「New Blueprint...」ウィンドウからでもできます。

BPComponents01.png

新規コンポーネントのための Parent Class (親クラス)を選んでください。「Scene Components」 は、アクタ内に「3D座標」 を持っていますが、「Actor Components」 は、スクリプトのロジックだけを持っています。

BPComponents02.png

ここから面白くなります。新規コンポーネント用にブループリントのスクリプト コードを記述します。この例では、 Tick イベントを使って、フレーム毎にコンポーネントの所有者 (アクタ) をYaw (ヨー) 軸周りに回転させています。このコンポーネントは、アクタを回転させているため、"Spinner" と名付けました。

BPComponents03.png

これで、このコンポーネントをシーン内の任意のアクタにドロップできるようになり、ゲームが開始するとアクタは回転し始めます。これで、再利用可能なモジュール化された機能ができました!

BPComponents04.png

通常のアクタクラスのブループリントにもドロップすることができます。新規に作成されたコンポーネントは 「Add Component (コンポーネントを追加)」 メニュー (「Custom」 の下のカテゴリー) で見つけることができます。また他のアセットと同様に、コンテンツブラウザの中にもあります。

アセットの自動インポート

メッシュやサウンド、テクスチャのインポートは、今までは容易ではありませんでした。アートのソース ファイルを、プロジェクトのContent フォルダの下に保存するだけで、エディタが自動的に新しいファイルをインポートしてくれる機能が、UE4で使えるようになりました!

外部のアプリケーションでファイルを編集すると、それをエディタが検知して、自動的にコンテンツを再インポートしてくれます! これでゲームコンテンツのイテレーションが、より速くなることでしょう。

この機能はデフォルトでオンになっていますが、エディタの Preferences (設定) から 「Loading & Saving (ロード&保存中)」 セクションの 「Monitor Content Directories」 を使って、切り替えることができます。

ブループリントエディタの UI のデザイン変更

ブループリントエディタは、使い易くするために再設計されました! ワークフロー効率を高めるために、3つのモードがすべて一つの画面に統合され、多くの改良が加えられました。

BlueprintEditorUI.png

ビューポートやグラフ ビューなどのパネルを自由に再配置できるようになり、2つを同時に画面に表示することもできるようになりました!

「My Blueprint」(マイブループリント) ビューを改良して、すっきりと間隔をあけて、新規の関数や変数を簡単に追加できるようになりました。

コンポーネント パネルでアクタの名前を選択すると (または、ツールバーで 「Class Defaults」 をクリック) 、クラスのデフォルト値が表示されるようになりました。ブループリントの設定を見るには、ツールバーの 「Class Settings」 (クラスの設定) ボタンをクリックしてください (以前は、「Blueprint Props」 と呼ばれていたものです)。

HTML と WebGK のサポート (Windows のみ)

ランチャーから取得したバイナリツールを通して、ウェブ ブラウザ内でパッケージングと実行ができるようになりました。

HTML5_WebGL01.png

Emscripten SDK をインストールして、エディタとランチャーを再起動し、Launch ドロップダウン リストでウェブ ブラウザを選択してください!

HTML5_WebGL02.png

HTML5 サポートの注意点:

  • Firefox または Safari、64 ビットの Chrome が開発には必要です (ビルドのシッピングは 32 ビットの Chrome でもきちんと動作します)。

  • 現在のところ、HTML5 のサポートは Windows のみです。Mac 版は将来のリリースに含める予定で作業中です。

  • HTML5 用のゲームの制作は、初めての場合は特に、プロジェクトのアセットとコードをウェブブラウザ用に最適化するのに時間がかかるかもしれません。

OpenEXR:ハイ ダイナミックレンジ テクスチャ

2D のハイダイナミックレンジ (HDR) テクスチャが、 OpenEXR ファイルからインポートできるようになりました。1チャンネル 16 ビット (約 30 ストップの露出) までのデータを持った画像が保存できるようになりました。

HighDynamicRangeTex.png

(以前は、OpenEXR ファイルからキューブマップ テクスチャだけがインポートできました。)

Mac上での Android 開発

OS X 版の Unreal Engine が、Android 開発を完全にサポートするようになりました!

AndroidDeployMac01.png

Mac ユーザーが Android 向けにビルド、クック、パッケージングできるようになり、エディタやコマンドラインから Android デバイスにデプロイできるようになりました。

AndroidDeployMac02.png

OS X 用 Java と Android SDK (Engine/Extras/Android 内の TADP installer を使ってインストール可能) が必要です。 インストール後、エディタを再起動するか、プロジェクト設定の新しい Android SDK セクションで SDK のパスを設定してください。

完全な C++ のソース コードとデバッグ シンボル

ランチャーを使ってインストールすれば、 Unreal Engineには、完全なエンジンの C++ のソース コードとデバッグ シンボルが含まれています!

Fullc++Source.png

これにより、デバッグ中にシームレスにエンジン コードにステップインでき、クラッシュした後、完全な呼出履歴を見ることができます。エンジンのデバッグ機能を十分に活用するために、もう自分でエンジンをコンパイルする必要はありません。

ご自身でエンジンを再コンパイルしたいなら、 GitHubへ行って 、 必要なファイルを取得する必要があることに注意してください。

仮想現実でプレイする

新たに 「VR Preview (VRプレビュー)」ボタンをエディタに追加しました。Oculus Rift デバイスが接続されていれば、そのまま、仮想現実の中でゲームをプレイできます。

PlayinVR.png

「VR Preview」 をクリックすると、エディタ ウィンドウを最小化して、ゲームが直接 Oculus Rift デバイスに現れます。

Leap Motionプラグイン *ベータ版*

UE4 は、プラグインによる Leap Motion デバイス のサポートを始めました。これにより、Leap のハンド トラッキング テクノロジーを直接プロジェクトで使うことができます。API はブループリントとコードの両方に現れ、任意のプロジェクトで、その技術を利用することができます。

プラグインの使用例としては、 Leap Motion のウェブサイトwww.leapmotion.com をぜひご覧ください。現在、このプラグインは GitHub にあるエンジンをビルド、および Leap のウェブサイトから直接プラグインをダウンロードした場合のみご利用いただけまます。

コンテンツ ブラウザ内の C++ クラス

コンテンツ ブラウザ内で、ゲームの C++ クラスが可視になりました!

C++ContentBrowser.png

コンテンツ ブラウザからの新規 C++ クラスが簡単に作成できるようになりました!自動的にコンパイルされ、エディタ内に表示されるようになりました。すぐに使えます!

C++ContentBrowser2.png

Visual Studio や Xcode で、C++ クラスのアイコンをダブルクリックして、直接ソースコードにジャンプするか、または右クリックで選択したクラスを基底クラスにして新規クラスを作成します。

モーフ ターゲットの誇張

モーフ ターゲットは、100% より大きい重み付けが可能になり、ポーズの誇張ができるようになりました。0% 未満に重み付けにすると、インバース ポーズにすることができます。

MorphTargetExagg.png

機能パックとコンテンツパック

コンテンツ ブラウザを使って、ゲームに新規の「機能」と「コンテンツ」を、いつでも追加できるようになりました!パックにはコンテンツやブループリントクラス、C++クラスの、どんな組み合わせでも入れることができます。

FeaturePacksandContentBrowser.png

既存のテンプレート プロジェクトのすべては、機能パックとして利用可能になります。First Person Feature Pack(1人称視点機能パック) をゲームに追加していて、後でVehicle Feature Pack(車の機能パック) を追加可能であり、プロジェクトでこの両方の機能を使うことができます!

コンテンツ ブラウザで、Add New から「Add Feature or Content Pack...」をクリックするだけです。ファイルはプロジェクトに注入されます!多くのパックには、ビルトインのチュートリアルもあります!

FeaturePacksandContentBrowser2.png

Starter Content (スターター コンテンツ) でさえも、いつでもプロジェクトに追加できます。新しい「Mobile Optimized」(モバイルに最適化された)スターター コンテンツ パックも選択できます。

アニメーション編集システム

ペルソナアニメーションツール内で、 アニメーション編集ができるようになりました!

AnimEditingSystem01.png

タイム スライダーを動かして、ギズモを使ってのボーンの選択や、ボーンの移動と回転、任意のフレームのキーの設定をしてください (ヒント:ショートカットは「S」キー) 。

AnimEditingSystem02.png

ペルソナ内では、すべてのアニメーション カーブの編集データは、「加算レイヤー」に保存されます。元のアニメーションを再インポートした場合でも、変更は保存されています! このレイヤーは、ペルソナ上だけに存在します。変更を確定して、ゲーム内でアニメーションを見るには、ツールバーの「Apply」(適用)ボタンをクリックするだけです!

AnimEditingSystem03.png

完全に新規のカスタムアニメーションを保存できるようになりました!ツールバー のボタンの「Create Asset」 (アセットを作成)を使って、参照ポーズや現行ポーズ、現行アニメーションから、新規のアニメーションを作成することができます。

AnimEditingSystem04.png

その他の注意点:

  • アニメーションカーブが必要ないなら、アニメーション カーブは無効にしたり削除したりできます。

  • 一度ベイクすると、最後にベイクされたアニメーションでエクスポートされます。付加的なカーブはエクスポートされません。

  • 再ターゲットする時、カーブは変換されません。しかし、最後にベイクされたアニメーションは再ターゲットされます。

即時的なボーンコントローラのプレビュー

ボーンコントローラのノードは、毎回再コンパイルするのではなく、ビューポートのギズモを使ってインタラクティブに調整できるようになりました!

この機能は現在は、 TwoBoneIK と ModifyBone & Fabrik ノードだけで使えますが、将来的には他のものでも使えるようになる予定です。

物理からのアニメーションの作成

物理エディタ (PhAT) 内で、物理アニメーションを記録し、アニメーションとして保存できるようになりました!

AnimFromPhys_Record_01.png

ツールバーの「Record」をクリックして開始し、興味のあるシミュレーションを作成するために、ビューポートのオブジェクトに作用させます!その後、「Stop」をクリックすると、シミュレーションがアニメーションとして保存されます。

レベルからアニメーションもキャプチャーできます!

  • レベルエディタ内で、ツールバーの Play (プレイ) ドロップダウンリストの「Simulate」(シミュレート)ボタンをクリックしてください。

  • シーン内で、シミュレートしたスケルタルメッシュを見つけてください。

  • メッシュを右クリックして、「Keep Simulated Changes」(または、「K キー」)でアニメーションを保存できます!

プロジェクト ランチャー

プロジェクト ランチャーの新しいインターフェースでは、ゲームの実行やパッケージングをよりコントロールし易くなりました。

ProjectLauncher.png

プロジェクト ランチャーには、複数の連続したセッションとして、複数のデバイス タイプでのゲームのテストを支援する機能と設定があります。容易にカスタマイズできるビルド タイプとクッキング設定をして、任意の接続されたデバイスでプロジェクトを起動してください。

ニーズに合ったビルド設定を作成するために Custom Launch Profiles (カスタム起動プロファイル) を使ってください。

  • 先進的なオプションが追加されました。

  • ビルドしたいコンテンツを正確に選んでください。

  • マルチプラットフォーム向けに一度ビルドしてください。

  • 他の人が実行する、または後で実行するためにパッケージングして、ビルドを保存します。

もちろん、メインツールバーの便利な「Launch」(起動)ボタンを使って実行することもできます。しかし、もっと柔軟に実行したいなら、「Launch」ツールバーのドロップダウンメニューか、メインのウィンドウ メニューからプロジェクト ランチャーを開いてください。

ブループリント マージ ツール

新しく追加された ブループリント マージ ツール を使って、別のブループリントを一緒にマージすることもできるようになりました。

このツールは、2つのブループリントのビジュアルを比較し、結合を支援します! 別のチーム メンバーが修正したものを、1つのブループリントにマージしたバージョンにするのに最適です。

BPmergeTool.png

このツールには以下の3つの使い方があります。

  • ブループリント エディタで ファイル -> マージ をクリックしてください。

  • ソース コントロールのマージの競合のあるアセットを右クリックして、 Merge (マージ)を選択してください。

  • コマンドライン から実行:UE4Editor.exe -diff [options]

Git ソース コントロール プラグイン (ベータ版!)

コミュニティ メンバーのSébastien Rombauts氏 が、Unreal Engine用のすばらしいGitソース コントロール プラグインを提供してくださったことにととても感謝します!

GitHubPlugin.png

プロジェクトを Git リポジトリに接続したら、エディタはファイルの追加や削除、変更のコミット、ファイル履歴の閲覧、ファイルの差分表示、アセットのソース コントロール ステータスなどの、ほとんどのソース コントロールをサポートします。

AI認識システム:ブループリントスクリプト

AI Perception System (AI認識システム) は、ブループリント スクリプトを使って設定できるようになりました!AI Perception Component (AI認識コンポーネント) を AI に追加するだけで、プロパティやイベントを検査したり調整したりできます。

AIperceptionSystem.png

新規プロジェクト テンプレートのためのチュートリアル

新規プロジェクト テンプレートには、それぞれテンプレートのアセットとクラスの使い方のアウトラインを簡単に説明した 概要チュートリアル があります。

TemplateTutorial.png

コンテンツ ブラウザのチュートリアルのサムネイル上で 「Play」ボタンをクリック するだけで開始できます。

TutorialContentBrowser.jpg

コンテンツ パックと機能パックには、それぞれ別のチュートリアル ツールがあります。プロジェクトにパックを追加するなら、機能やコンテンツについて教えてくれるチュートリアルを探してください!

新しいサムネイルのルック&フィール

エディタは、 アセット サムネイル を新しい カラフルなスタイル で表示するようになりました!

NewThumbNail.png

また、C++のクラスとブループリントのクラスは共に、可能な場合は ライブ3Dサムネイル で表示され、親クラスを示す 隅の小さなアイコン も表示されます。

Paper2D:改良されたマップ レイヤー編集

多くの便利な レイヤー編集機能 が、タイルマップ エディタに追加されました!

Paper2DimprovedTilemap.png

  • レイヤーは順序が変更でき、他のレイヤーに対して上下に移動することができます

  • レイヤーブラウザで選択すると、最上位のレイヤーに常に描画されるのではなく、選択したレイヤーに描画します

  • 選択したレイヤーは編集セッションを通して、記憶されています

  • 選択されたレイヤーには正確な深度での補助グリッドがあり、選択されてないレイヤーはワイヤーフレームでアウトラインで描画されます

  • レイヤーの名前は、より明白でビジュアルなスタイルかつ直感的なクリック操作で、正にワールド アウトライナー内のアクタのようにして変更できます

  • レイヤーは複製できます

  • タイルマップは、アセットに働くコマンドを持った、レベル内の再利用可能なアセットまたはインスタンスです

  • 新規に追加されたレイヤーは、より意味のある名前を持つようになりました

  • 注意:タイルマップは、この Unreal Engine のバージョンでは、まだ「実験的な」機能です

Paper2D:フリップブック コリジョン検出

Flipbooks (フリップブック) で、順序どおりに実行する 画像切り出しによる2Dアニメーション の作成ができます。アニメーションフレームのための コリジョン プロパティ を定義できるようになりました!

Paper2DFlipbook.png

フリップブック アセットには、フリップブックのコリジョン データのソース (存在する場合) を制御するための Collision Source (コリジョン ソース) プロパティが追加されています。

  • No Collision: フリップブックは衝突しない

  • First Frame Collision: フリップブックはアニメーションの最初のフレームでアニメーション無しで衝突する *

  • Each Frame Collision フリップブックは毎フレームアニメーションに合わせて衝突する (注意:この設定はフレーム毎に物理状態を再作成するので高負荷です)

使用法についての注意:

  • 多くの場合、ソース フレームから衝突を直接生成するよりも、コリジョン コンポーネントをフリップブック コンポーネント上のソケットにアタッチする方が理にかなっています (例:ボックス コンポーネントなど)。特に一部の衝突領域をブロックさせて、一部の衝突領域をオーバーラップさせたい場合はそうなります。

  • キャラクタの移動は、まだコリジョン カプセルに依存しています。多くの場合、カプセルがフリップブックでひっかからないように、BlockAll ではなく、フリップブックに対して別のコリジョンチャンネルを使いたいでしょう (カプセルに基づいた移動/ブロック、フリップブックに基いた放射物との重なりやコリジョンのテスト)。

UI:カスタム カーソル サポート

プロジェクトに ソフトウエア カーソル として使えるような カスタム ウィジット を作成できるようになりました。テキストの追加やヘルスメーター、ツールチップ、その他カーソルに必要なものなど、 Unreal Motion Graphics (UMG) のすべての機能を使うことができます。

UIcustomCursor.png

ソフトウエアカーソルは以下のような多くの場合に有用です。

  • ハードウェア カーソルのないプラットフォームにカーソルの追加。例、コンソール向けの仮想マウス カーソルなど。

  • 視覚的にリッチだったり、アニメーションが付いていたり、複雑な操作が付いたカーソルの追加。

  • プラットフォームに依存したフォーマットに悩まされることのないようにするための、PCやMac、Linux で共通の見た目のカーソルの追加。

プロジェクト設定 の新しい ユーザー インターフェイス セクションを、ゲーム用のソフトウエア カーソル ウィジットのセットアップに使うことができます。カーソルを指定しない場合は、 デフォルト のハードウエア カーソルが使用されます。

注意:OSによって描画される標準のマウス カーソルと違って、ソフトウエア カーソルの動きはゲームのフレームレートにより制限されます。これは、大きなトレードオフとして検討すべきです。

Unreal Motion Graphics新しいウィジット バインディング システム

ウィジット バインディング システムは、サブプロパティとウィジット上の機能のバインディングのサポートとパフォーマンスの大幅な改善のために、大々的にオーバーホールされました!

UMGnewWidget.png

新しいウィジット バインディングにおける注意点

  • バインディングはブループリントのスクリプトを使うのではなく、動的に評価されるフィールドのセットに基づいています。

  • C++やブループリントの機能との直接的なバインディングもサポート!

  • ささいな変更は自動的に扱われます (例:リニア カラーからスレート カラーへの変更やTexture2Dからスレートブラシへの変更など)

  • プロパティへのバインディングは、この変更でとても速くなりました! (約10倍の速度の改善)

  • 元のバインディングも動作しますが、パフォーマンスの改善を活用するためには新システムへアップデートすべきです。

ビジュアルロガー (AI可視化ツール)

完全に新しく追加された Visual Logger ツールには多くの機能があります。これはプロジェクトの AI をデバッグしたり、微調整したりするのを支援するために設計されました!

VisualLoggerAI.png

  • イベントをログアウトして、パワフルなツールをタイムラインの検索に使ってください。 ビデオ に使用例があります。

  • タイムラインに警告のある項目は黄色で表示され、エラー項目は赤色で表示されます。

  • 特殊なデバッグカメラをゲーム停止中に、いろいろな場所へ動かすことができます。

  • 作成された「レポート」をビジュアル ロガー イベントから保存してください。レポートのハイパーリンクでログをフィルタでき、解析が容易になります。

透過オブジェクトの順序制御

この新しい機能で、透過オブジェクトをレンダラーが描画する順序の設定ができるようになりました。これは 2D ゲームには、本当に有効です!

TranslucentObject.png

プロジェクトの レンダリング設定で、新しく追加された Translucent Sort Policy (透過ソート ポリシー) オプションをチェックしてください:

  • Sort by Distance: カメラからオブジェクトの境界球の中心までの距離に基づいてソート。これがデフォルト値で、3D ゲームに最適な、典型的な設定です。

  • Sort by Projected Z: 射影した Z 方向のカメラへの距離に基づいてソート。この設定はカメラの回転によって、ポッピングが起きます。

  • Sort Along Axis: 固定した軸への射影に基づいてソート。これは2D ゲームでは一般的に最適な選択肢になります。ソートするための軸は、透過ソート軸と呼ばれ、レンダラーのプロジェクト設定 (デフォルトは-Y) で変更できます。

ブループリントサイクル依存性の解消

ブループリントのローディングは、再設計され、どんな 「サイクル」 シナリオも扱えるようになりました。ブループリントは、混在させたり、互いに必要な情報を通信したりできます。さらに最も重要なのは、次回きちんとロードされることです。

これは、多くのブループリントのロード時のクラッシュやブループリントが不正な状態でロードされるシナリオに対応したものです!

アンリアルの C++ プログラミングの改良

アンリアル エンジンで容易に C++ を使えるようになり、みなさんにもっと親しんでいただけるように、引き続き作業をしています。

  • 特殊なコンストラクタは不要になりました!クラスのコンストラクタに、 Object Initializer の引数は不要です。

  • Unreal クラスのサブオブジェクトを作成するには、新しい単純な構文が使えます。

マルチスレッド アニメーション

アニメーションのポーズ計算は、エンジンがアニメーションの計算に使う合計時間を減らすように、複数のCPUコアに振り分けられるようになりました。

これにより、アニメートするスケルタル メッシュが数多くあるゲームのパフォーマンスは向上することでしょう!

Android におけるデスクトップ品質のレンダリング *ベータ版* (OpenGL ES 3.1 w/ AEP)

OpenGL ES 3.1 (Android拡張パックと結びついた) は、Androidデバイス上で 完璧なデスクトップ レンダリング エクスペリエンス の多くが使用できる可能性を与えくれます! この機能は、現在 ベータ テスト中です。フィードバックを送ってください。

  • "ES3.1+AEP" は、ビルドやクックで選択できるようになっています。

  • Tegra K1 デバイス (例えば、NVIDIA の Shield Tablet) は、テストと開発に使用されています。将来的には増々多くのデバイスが AEP をサポートするでしょう!

    • AndroidのProject Settings (プロジェクト設定)で、「Enable OpenGL ES31 + AEP」オプションを有効にしてください。

現在は、この機能を使うにはエンジンを GitHub のソースからコンパイルする必要があります。

ブループリントだけのプロジェクトは、OpenGL ES 3.1 サポートを有効 (BaseEngine.ini 中の bBuildForES31 を有効) にして、基本の UE4Game 実行ファイルを再コンパイルする必要があります。

ダウンロード可能コンポーネント (DLC) パッケージ *ベータ版*

Downloadable content (DLC) が、配布パッケージに含まれるようになりました!

現在この機能は ベータテスト中 で、コマンドライン ツールが必要です。ゲームのプラグイン コンテンツ フォルダの中にアドオンの DLC を作成して、新しいパッケージング ツールを使って「クック」して、選択したプラットフォームに最適化してください。

この機能を使うと、どんなコンテンツがすでに発売されたゲームに提供されているかを知るためのゲームの アセットレジストリ が利用可能になります。必要な物はなんでも、ゲームのコンテンツから DLC の中にクックするでしょう。

この機能を使うためには、クック ユーティリティを「 -CreateReleaseVersion=x.y 」 を付けて、メインのゲームのために実行して、再度それぞれのDLCプラグインのために「-BasedOnReleaseVersion=x.y -DLCName=MyPluginName 」付きで実行してください。

Android でのムービー再生

Android デバイス上での ムービーのロードムービーの開始 ができるようになりました! プロジェクトの設定 で、再生するスタートアップ ムービーの設定ができます。

Android のムービーは、 正しく再生するためには MP4 形式でなくてはなりません。また、ムービー再生機能には Android 4.0 以上のデバイスが必要です。

Android SDK のエディタへのパス設定

Android 開発に必要なSDKコンポーネントの位置を、プロジェクト設定の「Android SDK」セクションで直接設定できます。これで、初期設定がとても簡単になりました!

AndroidSDKpath.png

この設定は、設定されている環境変数を上書きします (元の方法を使いたいのであれば、空白のままにしておけば、その環境変数を使います)。

ブループリントの編集不可変数へのアクセス

変数を「Editable」にすることなく、もう一度別のブループリントから変数にアクセスできます。これは 4.7 ではなく、すでに 4.6 でも可能でした。すみません!

AI ブラックボードの同期

ブラックボード アセットで定義されたキーは、「synced」としてマークできます。これにより、その値を使うすべての AI で、値を同期します。これは、複数のAIにまたがって同期的な振舞いをさせたり、それらの間でのコミュニケーションに使うことができます 。

一般的なリリース ノート

レンダリング

  • New:エディタ内の Preview Mobile Rendering (モバイル向けプレビュー レンダリング)!

    • 「Feature Level Preview」オプションは、実験的ではなくなりました。

    • メイン エディタ ウィンドウの中の、「Settings->Preview Rendering Level」メニュー オプションで機能レベルが変更できます。

  • New:ディスタンス フィールド ライティング機能が、インスタンス化されたスタティック メッシュとフォーリッジをサポートしました (アンビエント オクルージョン、レイトレース シャドウ)。

  • New:Two Sided (両面) フォーリッジ シェーディング モデルのための、スカイ スペキュラー オクルージョンを改良しました。ベントノーマル交差に対して反射コーンを適用する代わりに、AOを直接適用します。

  • New:デフォルトのシャドウマップの解像度が、2048に上がりました。これで、高解像度の影を付けることが可能になります。

  • New:ランドスケープは、シーンの他の部分にディスタンス フィールド アンビエント オクルージョンがかかりますが、セルフシャドウはかかりません。

    • ランドスケープのようなディスタンス フィールド表示なしのピクセルは、妥当なパフォーマンスで、オクルージョンを受けることができるようになりました。

  • New:ディスタンス フィールド メッシュの GPU オブジェクトの管理は、カリングのためのわずかな GPU 負荷がかかるだけで、100倍以上のメッシュを使うことができるようになりました。

    • CPU は毎フレーム、シーン変更の差分だけをアップロードします。

  • New:スタティック メッシュのタンジェント ベースは、MikkTSpace を使って計算されるようになりました。JedTheKrampus のGithubプルリクエストに心から感謝します。

  • New:BC4 テクスチャー フォーマットが、 GL_ARB_texture_compression_rgtc をサポートするすべてのプラットフォームのOpenGLに追加されました。

  • New:パーティクル エミッタに、「Disabled LODs Keep Emitter Alive」(LOD 無効時にエミッタを生かしたままにする) を追加しました。これを true にすると、どんな無効にされている LOD でもエミッタを生かしたままにするので、システムは完全ではなくなると思われます。エミッタを生かしたままにするので、近くに再び入る時に、アクティブな LOD を再アクティベートします。

  • New:モバイル向けに、失われたシャドウのレンダリング ポリシーを追加しました。それには、ディレクショナル ライトとカスケード シャドウを持つライトマップが含まれます。

  • New:新規のプリミティブ コンポーネント設定 「Affect Distance Field Lighting」(ディスタンス フィールド ライティングを使う) (これは、小さなクラッター オブジェクトでは無効にします)

  • New:Custom Mesh Triangles (カスタマイズされたメッシュの三角形) (CustomMeshComponent によって使われる) のメンバーが、ブループリント内で容易に作成できるように「BlueprintReadWrite」としてマークされました。

  • New:Skylight Components に、Set Occlusion Tint (オクルージョンで色の変更をする設定)と Set Min Occlusion (最小のオクルージョンを設定) のブループリント関数を追加しました。

  • New:OpenGL RHI を使用する場合は、サブサーフェス スキャタリングが有効になりました。

  • New:スプライトと GPU スプライト パーティクルの UV は、スポーン時にフリップできるようになりました。この機能はエミッタの必須モジュール内で使用可能です。

  • 別のマップを作成した時や開いた時に、エディタで選択されていたプレビュー レンダリング レベルを保持するようになりました。

  • スケルタル メッシュのレンダリング パフォーマンスは、LOD のアクティブなボーンのインデックスをレンダリング データの生成時にソートするのではなく、事前ソートすることにより改善しました。 *World Aligned Texture (ワールドに置かれたテクスチャ)のマテリアル関数の射影された法線マップを補正するためのメソッドを改良しました。

  • 最大サイズ 64 以下のテクスチャが、エクスポート時にクラッシュする件を修正しました。

  • エディタの外部でレンダリング シーンをキャプチャする時に、レンダラーがシーンのレンダリング ターゲットを再割り当てする件を修正しました。この変更はスタンドアロンのゲームのパフォーマンスを改善します。 正投影のビューポートで、ディスタンス フィールド アンビエント オクルージョンが有効になる件を修正しました。

  • 1つのLOD が無効なエミッタは完了したとみなされ、表示する時に有効なLODが表示されません。有効な LOD を持つエミッタではアクティブのまま保持されるので、このようなことは起きません。

  • 「Subsurface Profile」(サブサーフェス プロファイル)シェーディングモデルを「Light Propagation Volumes」(ライト プロパゲーション ボリューム)付きで使う時の問題を修正しました。

  • インスタンス化されたスタティック メッシュとフォーリッジで、不正なスタティック ライティングの明度から起きるバグを修正しました。

  • モバイルで、いくつかのキャラクタの可動の指向性シャドウを持つ静的なライトマップが表示されないバグを修正しました。

  • 高解像度のスクリーンショット キャプチャ範囲を指定すると、SM4の機能レベルで画面がブラックアウトするバグを修正しました。

  • 静的な屈折するメッシュがスクリーン上に無い場合に、屈折しないメッシュをレンダリングできなかったバグを修正しました。これは正常な環境下で、エフェクトが表示されないようにします。

  • スカイライトのレンダリング プロキシが作成された時に、静的なメッシュ エレメントが更新されないバグを修正しました。

  • 「no precomputed visibility」 (事前計算なしの可視化をしない)警告をオンにしている時に、スカイライトまたは反射のキャプチャをドラッグするとクラッシュする問題を修正しました。

  • 反射のキャプチャ レンダリング ターゲットを使う時に、稀な競合状態でクラッシュする問題を修正しました。

  • パーティクル システムでの小さなメモリー リークを修正しました。

  • カスケード内で Skel/Vert/Surf モジュールを使ったパーティクルが、原点でスポーンする問題を修正しました。

  • マテリアルに対しての Disable Depth Test (深度テストを無効) のチェックがモバイルで無視される問題を修正しました。

  • フォーリッジの 64 個ごとのインスタンスが、モバイルでレンダリングされない問題を修正しました。

  • Text Render Component (テキスト レンダリング コンポーネント)のための Bounds Scale (境界のスケーリング) が正しく動作しない問題を修正しました。

  • 自動生成されるライトマップのUVに間違ったソース チャンネルを指定すると、クラッシュを引き起こすバグを修正しました。

    • Cinematic とマークされているテクスチャのミップマップ レベルが、クックされたプラットフォーム上で使えない問題を修正しました。

  • アスペクト比が制限されているカメラによって起きる、ES2 ポストプロセスのクリッピング問題を修正しました。

  • サブサーフェス プロファイルが1つも使用されていない場合に、 Visualize Subsurface Profiles (ビジュアル サブサーフェス プロファイル) がアクティベートされて起きるクラッシュを修正しました。

  • シーン中に分離した3Dビューポートとスカイライトを持つエディタのロード中にクラッシュする問題を修正しました。 ゲームをシミュレートしている間に、カスケード内のパーティクル システム設定を変更するとクラッシュする問題を修正しました。

  • Show Visualize Subsurface Scattering (Screen Space) (スクリーン空間でのサブサーフェスの散乱の可視化を表示) を有効にした時にクラッシュする問題を修正しました。

  • 「Subsurface Profile」(サブサーフェス プロファイル) シェーディング モデル中の予期しない見た目の変色を修正しました。

  • 大きな垂直のメッシュが不正にカリングされるという、HZBオクルージョンのバグを修正しました。

  • モバイルのポストプロセッシング チェーンで、アスペクト比の制約のあるカメラを使用する時、正しくないアスペクト比になる問題を修正しました。

  • 機能レベルを変更後、ライトのボリュームとレベルがおかしくなる問題を修正しました。

  • エミッタのコリジョン チャンネルが、リロード後に正しく動作しなくなる問題を修正しました。

  • Orient Mesh Emitters (オリエント メッシュ エミッタ) が、カスケードの Skel/Vert/Surf (スケルタル/頂点/面) モジュール内で正しく動作しなくなる問題を修正しました。

  • Mixamo Fuse キャラクタが、不正なボーンの重みを持つ問題を修正しました。

  • 固定ライトで完全に影を付けた LOD のあるスタティック メッシュで、ライティングが完全にビルドされない問題を修正しました。

  • ES2機能レベルのプレビュー時、エディタのプリミティブで生じた複数の問題を修正しました。

  • ブループリントの関数 SpawnEmitterAtLocation と SpawnEmitterAttached を使用してスポーンされたエミッタのパーティクルのコリジョンを修正しました。

  • 存在しない反射テクスチャを読む時の潜在的なクラッシュを修正しました。 (SM4のみに影響)

  • マスクされたマテリアルのコンパイル中に、まれにクラッシュするバグを修正しました。

  • 正当なモバイル プレビュー シェーダーで、コンパイルが失敗する状態を修正しました。(シェーダーは、ディファード パスに対してコンパイルされて、間違ってES2で使用可能な数以上のサンプラーを要求していました。)

  • テッセレーションされたマテリアルを持ったスケルタル メッシュのレンダリングを修正しました。

  • サブサーフェス スキャタリング プロファイルの半分の解像度のレンダリングを修正しました。

  • テッセレーションとディスプレースメントのためのスウィズル (swizzle) で記述された UV1 を修正しました。

  • 異なるストリーミング レベルで、テクスチャのストリーミング中に、隣接するコンポーネント間の LOD の非連続性によるランドスケープ中に見える継ぎ目を修正しました。

  • シーンキャプチャ 2D をレンダリング ターゲットへの追加すると、レベルのモーション ブラーの設定を上書きする問題を修正しました。

  • キャンバス テキストのラッピング ロジックが、国際化テキストリソースのラッピングとサービスだけに使われる時、重大な障害を避けるように改良しました。

  • 非常に大きなマテリアルのコンパイルのパフォーマンスを改良しました。

  • PVR 圧縮テクスチャ (IOS) のデフォルトの圧縮品質が向上しました。特に粒状のライトマップのアーチファクト(ノイズ) は減少しました。

    • 高解像度のスクリーンショットのキャプチャ範囲のレンダリングは、gbuffer の参照カウント システムを正しく更新するようになり、たまに起きるクラッシュを修正しました。

  • Alt-Tab を使って、別のアプリケーションに切り換えた時のフルスクリーンのゲームウィンドウの振る舞いに多くの修正が加えました。元のゲームに切り換えた時、ウィンドウは元の状態に戻るようになりました。

  • テキストをレンダリングするアクタが、プレーヤーに近づくと非可視になる問題ように修正しました。

  • テッセレーションされたマテリアルでレンダリングされたスケルタル メッシュが、過剰なブラーを引き起こす問題を修正しました。

  • スタンドアロンでローンチされたゲーム中の伸びたピクセルのあるレンダリング ターゲットへのレンダリングを修正しました。

  • 反射のコンテンツ サンプルの1.7 のマップ サンプル中の、シーンのキャプチャの不正なレンダリングを修正しました。

  • Atmospheric Fog (大気フォグ) の事前計算パラメータの変更がエディタ中で効果がなく、ゲーム中で黒い空になってしまうのを修正しました。

エディタとツール

  • New:シーン アウトライナーは、ワールド中のすべてのアクタのビューとしての目的をよく表すように、ワールド アウトライナーに名前が変更になりました。

  • New:基本的な、Cube (立方体)、Sphere (球)、Cone (円錐)、Cylinder (円柱) の形状を、配置用のブラウザとアクタの 「Add Component」 メニューに追加しました。

  • New:大きなスケルタルメッシュをインポートする時のインポート時間を大幅に短縮しました。

  • New:* New: ブラシとBSPプリミティブは、他のすべてのアクタと同様に詳細パネルで数値による移動、回転、スケーリングができるようになりました。

  • New:詳細パネルは、検索範囲に一致したグループのプロパティを表示するようになりました。

  • New:エディタのツールチップは、読みやすくするために、新たに大きくて「明るい」見栄えになりました。

ToolTipLookandFeel.png

  • New:コンポーネントのツールチップを、コンポーネントやクラス、関連アセット、コンポーネントがどこで最初に導入されたか、についてのより多くの情報を表示するように改良しました。

  • New:各ビューポート タイプは、独自の変換の詳細を保持しますので、透視投影/正投影のビューポートが別のものに切り替わる場合でも、それぞれの設定を覚えているようになりました。

  • New:エディタは新規に作成された C++ プロジェクトをコードの IDE と共に開いて、自動的にコンパイルして開くようになりました。

  • New:ソースコードのナビゲーションに関する初期化コードをバックグラウンド スレッドに移すことにより、エディタの起動時間が改善しました。

  • New:レベル内での BSP / Volumes の配置を改良しました。

    • ドラッグ&ドロップで、いつでも基準点を床の上にして、 BSP / Volumes を配置できます。

      • スナップ アクションを修正したので、 snap to floor (床にスナップ) / snap to pivot (ピボットにスナップ)は、すべてのクラスで正しく動作するようになりました。

  • New:メッシュ プロキシ ツールがスプライン メッシュをサポートするようになりました。

  • New:Open (開く) / Save (保存する) ダイアログのウィンドウの下部に現在のパスを表示するようになりました。

  • New:データ テーブルを編集するために、新しく行エディタを追加しました。

  • New:カラー ピッカーで選択された保存色は、アルファなし成分とアルファ成分に分けられ、0 のアルファ値の色も見ることができるようになりました。

  • New:「Expand configuration menus」(拡張設定メニュー) がチェックされた時のソート設定サブメニューを追加しました。

  • New:C++ コードまたは C++ プロジェクトを作成しようとした時、Windowsマシンに Visual Studio 2013 がインストールされていない場合に、直接インストールできるボタンを追加しました。

    • それをクリックすると、ダウンロードが開始され、Visual Studio 2013インストーラーが自動的に起動します。

  • New:エディタは、パッケージ ファイルと合わせて変更したプロジェクト設定ファイル (コンフィグ ファイル) をチェックインするようにプロンプトを出すようになりました。

  • New:ブループリント アセットを参照するアクタは、エディタで Ctrl+E を押すと、他の参照されているアセットより優先してブループリントを開くようになりました。

  • New:エディタのパッケージ設定に「Include Debug Files」(デバッグ ファイルを含む) オプションを追加しました。

  • New:レベル エディタのプロジェクト名のラベルに、ビルド バージョン情報やブランチ名などを表示するツールチップがつくようになりました。

  • New:エディタでの C++ クラスの追加において、ソリューションをリロードするための Visual Studio のプロンプトは出なくなりました。

  • エディタ開始時のスプラッシュ スクリーンは、進行の表示頻度を増やし、ゲーム名とバージョンのテキストの表示がわかりやすくなるようにしました。

  • 「create asset from object」(オブジェクトからのセットの作成)や 「delete」(削除)、「parent class picker」(親のクラスを選択) ダイアログを色付きのフラット ボタンにしました。

  • コンテンツ ブラウザで、タイプによってフィルタリングする時に、より速く結果が表示されるようになりました。

  • ビューポートがアクティブなキーボード フォーカスを持っている時に、Escapeを押すと Play In Editor (PIE) だけを終了するようになりました。

    • これにより、入力設定ファイルで、「CloseEditorViewport」デバッグ キーの割当てを無くせば、Escapeを他のゲーム機能として使えるようになります。

  • 不安定で利用価値の低かった「Recompile Level Editor」メニューボタンはなくなりました。

  • コンテンツ ブラウザのサムネイルは、もっと小さくすることができるようになりました。

  • 設定(エディタのビューポート設定)内で設定するビルボードのスケールは、エディタをリスタートした場合でも正しく設定されるようになりました。

  • 複数のマテリアルをメッシュ上にドラッグしたときに、そのうちの一つをただちに(ドラッグを解放する前でまだプレビュー中に)適用してしまわないように問題を修正しました。

  • オフライン (ビットマップ) フォント アセットのフォント ページを再インポートできないバグを修正しました。

  • エディタ内でプレイ中に、ビューポート タブがすべて隠されている時に、ゲームプレイ デバッガ内でクラッシュする問題を修正しました。

  • パッケージを保存する時のガーベッジ コレクション中に、不正な参照により時々起きるクラッシュを修正しました。

  • 被破壊性メッシュ エディタ内の「Fracture Mesh」(メッシュを破壊)ボタンを選択する時に起きるクラッシュを修正しました。

  • スタンドアロンモードのツールのインスタンスを使ったアセット エディタをシャットダウンする時のクラッシュを修正しました。

    • アセット エディタを閉じるときに、すべてのローカル モードのインスタンスを確実に終了するようになりました。

  • FBX ファイルをインポートするための、メッシュをインポートする時にアニメーション オプションを表示するダイアログの問題を修正しました。

  • 「現在のレベル」でランドスケープのどの部分も保存されていない時に、データをランドスケープの コピー&ペースト ギズモにコピーする問題を修正しました。

  • エディタウィンドウが開始後アクティベートされるまで、プレースメントモードUIが表示されないバグを修正しました。

  • Macですべての他のウィンドウが最小化された後、ウィンドウを閉じるとクラッシュする問題を修正をました。

  • カラー ピッカーで空文字列を 16 進フィールドに入れた時にクラッシュする問題を修正しました。

  • ワールド アウトライナー内で、すべてのアクタが適当な名前を持たないデフォルトのテンプレート マップを修正しました。

  • プレースメント モードのボリュームリストにブループリントで作られたボリュームが追加される問題を修正しました。 エディタ モードが Post Edit Undo (ポスト エディット アンドゥ) イベントを受け取らない問題を修正しました。これは以下のような、さまざまな問題を引き起こしていました:

    • フォーリッジを描画してアンドゥすると、フォーリッジのインスタンスの数が無効になりました。

    • フォーリッジタイプを削除して、レベルへのインスタンスのリストアをアンドゥしても、UI 内にフォーリッジタイプが表示されなくなりました。

  • Resave Packages (パッケージの再保存)と Fixup Redirects (リダイレクトの修正) コマンドレットを走らせる時、空のファイルが削除するようにマークされない問題を修正しました。

  • エディタが、たまにすべてのテクスチャをストリーム出力し、それが再度戻って来る問題を修正しました。

  • プロジェクト ランチャー内で、Quick Launch (クイック ローンチ) を利用すると、コード ベースのプロジェクトがクラッシュする問題を修正しました。クイック ローンチは、Launch On (ローンチ オン)と同様の動作になりましたが、選択されたマップに使われた場合のみで使えます。

  • 「Merge Levels」(レベルのマージ) の操作が、正しく動作しない問題を修正しました。

  • 異なるレベルの複数のアクタの複製が失敗するバグを修正しました。

  • 遅いタスクで、進行ダイアログが時々更新されない問題を修正しました。

  • レイヤー タブ内にオーバーレイしているワールド アウトライナー内の「Create New Folder」(新規フォルダの作成) ボタンを修正しました。

  • 「Show only Modified Properties」(修正されたプロパティのみ表示) 設定が、詳細パネルで動作しない問題を修正しました。

  • 何も選択されていない時でも、アクタの詳細ビューのスクロールバーが表示されていた問題を修正しました。

  • カラーピッカーの eye dropper (スポイト) が、UE4 ウィンドウの外部で、色をピックしない問題を修正しました。

  • 出力ログに新しいテキストを追加することにより起きるパフォーマンスの問題を修正しました。

  • プロジェクト ランチャーが、エンジンのバイナリ リリースに入っていないビルド バージョンを表示する問題を修正しました。

  • 回転/スケーリングされたブラシによるジオメトリ モード内の頂点編集の問題を修正しました。

  • レベルエディタ内で、ウィンドを再フォーカスする時、ビューポート内で、ドロップダウン メニューをクリックすると、低フレームレートでクラッシュする問題を修正しました。

  • ライティングするアクタが不正にスケーリングされたアイコン サイズを持つ問題を修正しました。

  • 「Ctrl+Enter」キーボード ショートカットが、編集可能なテキストボックスを誤ってクリアしてしまう問題を修正しました。

  • Bing や Sogou Pinyin IME (入力方式エディタ) を使用した場合にクラッシュする問題を修正しました。

  • アセット検索ボックスがサジェスト ボックス中でマウス選択ができない問題を修正しました - 前はボックスは閉じられ、選択を無視しました。

  • 「Convert to Blueprint」(ブループリントに変換) ウィンドウ内での、ウィジェット間の不正なパディングを修正しました。

  • 「Open Level」(レベルを開く)ウィンドウ内での、ウィジェット間の不正なパディングを修正しました。

  • プレースメンモード ツール パネル内の検索ボックスは、元の英語名と同様に、ローカライズされた名前によるクラスをフィルタするようになりました。

  • 詳細内の選択したアクタ名とアイコンの間にパディングがない問題を修正しました。

  • 起動中のメッセージを処理の各ステップで何をしているかをより反映したものに改良しました。

  • グラフエディタ内のドラッグ&ドロップのフィードバックの長いツールチップは、短くカットされる代わりに折り返すようになりました。

  • クラスビューア内の「Create New Blueprint」(新規ブループリント作成)は、より堅牢になり、不正な名前は使えなくなりました。

  • レベルのビューポートの上をドラッグするマテリアルは、ビューポートから外れた時に、正しくドラッグ プレビューに戻ります。

  • パック ファイル オプションは、プロジェクト ランチャー内のクック バイ ザ ブック設定に移動しました。

  • アセットを開くウィンドウを複数開かないようにしました。

  • FBX ウィンドウが、詳細パネルでブループリントに依存しないようにしました。

  • マテリアルとサウンド エディタでコンテキスト メニューが開かない問題を修正しました。

  • New:SCS Diff ウィジットのレイアウトを変更したので、コンポーネント リストがスクロール可能になりました。

  • New:* 頂点カラーのインポート オプションを追加しました: インポートされたメッシュの頂点カラーは、FBXから取得するか、現在のメッシュからのままにするか、または固定色になります。

  • スタティックメッシュを再インポートする時、すべての LOD レベルのマテリアルとテクスチャが見つかるようになりました。

  • ワールドにアクタをドロップする時の不要な処理を無くしました。

  • レベルエディタのビューポートの「Use Default」(デフォルトを使う)オプションが、正しくリセットされていないボリュームやスプライト、レイヤー表示フラグメニューを表示していたのを修正しました。

  • ネイティブ スプライン コンポーネントのあるスプライン コンポーネント ビジュアライザー内で、アンドゥが機能していなかったのを修正しました。

  • 詳細パネルと Ctrl+P によるポップアップのアセットピッカーが、サムネイルサイズ オプションとレイアウトオプションを覚えているようなりました。

  • コンテンツ ブラウザのパンくずバーが、一番上のルートフォルダになっているのではなく、現在使用している一番下の子フォルダが常に見えるように、右へスクロールするようになりました。

  • メッシュ プロキシ ツールは、正しい色空間で基本色のテクスチャをエクスポートするようになりました。

  • 範囲外の値になることによるエディタのクラッシュを避けるために、ディスタンス フィールド スケール ファクタを変更時に生成されるフォント テクスチャのサイズを制限しました。

  • 透過選択が有効になっている時、回転ギズモの内部はクリックをキャプチャしないようになりました。

  • エディタ中でプレイを終了する時に、エディタのみで存在するオブジェクトを編集しているかもしれないアセット エディタを閉じるためのチェックを追加したので、不正な参照を持たなくなりました。

  • アクタの PIE インスタンス上のコンポーネントが変更したプロパティを再登録するのを修正しました。この修正により、PIEの間 (レベルエディタの通常の詳細パネルを通して) 、アクタのプロパティを変更することができるようになり、すべての状態を失うことがなくなりました。

  • デフォルトのゲーム モードを存在しなくなったものから変更する時、プロジェクト設定でクラッシュする問題を修正しました。

  • 複数の選択されたブラシのあるジオメトリ モードで、編集/押し出し BSP操作を修正したので、すべてのジオメトリ エレメントは、期待された向きに移動するようになりました。また、1つのサーフェスだけが選択されている特殊な場合の BSP サーフェスのスケーリングも修正しました。

  • 正投影のビューポート内でボックスを選択するとワールド内の全 BSP を常に選択するというバグを修正しました。

  • BSP をスタティック メッシュに変換後のクラッシュを修正しました。

  • 「Save Asset As」中に、右のパネル内のフォルダ アイコンをダブルクリック後クラッシュする問題を修正しました。

  • 空のテクスチャを割り当てた FBX メッシュをインポートする時のクラッシュを修正しました。

  • 最初に再度マウスを動かさずにエディタの変換ギズモが前もって移動した後、キズモが動かせない問題を修正しました。

  • 可視になっているビューポートなしでエディタ内プレイ時、ゲームプレイ デバッガ内でクラッシュする問題を修正しました。

  • 関連するポリゴンが同じ場所にあるジオメトリ モード内で端を回そうとするとクラッシュする問題を修正しました。

  • 連続した場合のクラッシュの原因となる、エディタ内のライトマップを無効化するアクションのアンドゥ/リドゥーを修正しました。

    • 例 構築されたスタティック ライトのあるランドスケープで、ランドスケープのスカルプティング (ライトマップを無効化)し、アンドゥ (ライトマップを復元)して、リドゥ (ライトマップを再無効化)するとクラッシュしました。

コンテンツ ブラウザ

  • New:エディタ内のデフォルト レイアウトのコンテンツ ブラウザは、場所を広くするためにエディタの下部に移動しました。

    • これは新規プロジェクトのみに適用されます。既存のプロジェクトで同じようにするには、エディタの「編集」メニューでレイアウトをリセットする必要があります。

  • New:以前はプロジェクト テンプレートとしてだけ利用できた機能と、スターター コンテンツとしてだけ利用できたコンテンツを追加するための新しいダイアログを既存のopen project に追加しました。

  • New:タイムスタンプの表示形式と出力ログへの表示、非表示を制御するための「Log Timestamp Mode」(タイムスタンプをログに含むモード) というエディタ設定を追加しました。

  • New:コンテンツ ブラウザ内のチュートリアル アセットにプレイ ボタンを追加したので、チュートリアルをアセットを開かなくても直接実行できるようになりました。

  • New:スケルタル メッシュのツールチップは使用されているデフォルトの物理アセットを含むようになりました。「None」 (ない)なら、オレンジ色 (警告)で表示されます。

  • 大きなコンテンツ ブラウザで、アセットのサムネイルの描画により、使用不可能になるほど遅くなる問題を修正しました。

  • コンテンツ ブラウザで新規レベルを作成する時のツールチップの問題を修正しました。

Unreal Motion Graphics (UI)

  • New:スナップ オプションを UMG アニメーション タイム ラインに追加しました。

  • New:サイズをわかりやすくするためのルーラーを UMG デザイナに追加しました。

  • New:ウィジットをビューポートに追加する時、高度なパラメータとして、Z オーダーが選択できるようになりました。さらに、Z オーダーをウィジット コンポーネントにオプションとして追加しました。ウィジット コンポーネントは、スクリーン上でウィジットを配置する時、解像度の品質/スケーリングを適切に考慮するようになりました。

  • New:アンカーのギズモを動かす時、補助線が引かれるようになりました。パーセントでのテキスト表示付きで、この情報はメダル形状のアンカーのホバー上に現れるようになりました。

  • プレーヤー コントローラーのウィジットの作成で、プレーヤー コントローラーがローカルでない(例 マルチプレーヤー セッション中のリモート プレーヤー) なら、クラッシュする代わりに null を返すようになりました。

  • UMG ウィジットコンポーネント内の各ビューのダイナミック メッシュ ビルダーの初期化中のクラッシュを修正しました。

  • ウィジットのコピー / ペーストは、それぞれのコピーしたウィジットのサイズをペースト時に覚えるようになりました。

  • New:Max Interactable Distance (最大相互作用距離)と Draw Size of the Widget Component (ウィジットコンポーネントの描画サイズ)が、実行時にブループリントと C++ に設定できるようになりました。

  • New:ウィジットのブループリント ライブラリに追加された全ウィジット クラスを取得するようになりました。現在のワールドのすべてのウィジットにアクセスできるようになりました。任意でビューポート内のトップ レベルのウィジットを取得するようにもできます。

  • New:3D のウィジット コンポーネントは、ピボットを指定できるようになり (デフォルトは中央で、0.5,0.5)で、古いアセットは原点 (デフォルトは 0,0 で、左上)でロードされます。

    • 空間が指定できるようになりました。デフォルトはワールド空間で、ワールド内に描画します。スクリーン空間も選択できるようになり、それをビューポートにスポーンしますが、ワールド基準のウィジットはコンポーネントのスクリーンへの射影に位置づけられます。

  • New:プレイ ボタンは、グラフ ビュー内と同様にデザイナ内にも付きました。

  • New:スクロール ボックスは、最後へスクロール、最初へスクロールするブループリント呼び出し関数を持つようになりました。

  • New:ウィジット リフレクタは、通常のスレート ウィジットと異なる UMG ウィジットとして検出でき、ソースリンクはブループリント アセットへのリンクに置き換えられます。 ウィジットのブループリントのアニメーションは指定回数 (または無限に) 繰り返すことができます。 デザイナ ビューの詳細パネルは、グラフになった後、デザイナに戻る時に、選択されたウィジットのプロパティを正しく表示するようになりました。 UMG の DPI スケーリング設定は、それぞれの値を表示する軸を適切にラベル付けをするようになりました。 アニメーションの名前を変更する時、ブループリントの他のメンバーと名前が衝突していないかどうかチェックするとともに、正当な変数名かどうかをチェックするようになりました。これでウィジット内で他のメンバーと一致するアニメーションの名前を変更する時に共通なクラッシュを避けることができるようになりました。 ウィジットは配置後に選択されるようになりました。 コンポーネントから来たスクリーン空間ウィジットを使う時の低パフォーマンスが改善しました。そうしたウィジットを毎フレーム再作成しようとするのではなく、ビューポートから取り除きました。

  • ドラッグ&ドロップになされた改良:

  • ピボットを選択し、オフセットを設定できるようになりました。

    • データのドラッグは、ドラッグ中はガーベッジ コレクションしなくなりました。

    • ドラッグのピボットはデフォルトで中央、中央になりました。

    • ドラッグ開始時のドラッグ&ドロップのポッピングを減らすため、選択されたピボットとオフセットへオブジェクトを移動するための小さな補間をするようになりました。

    • Default Drag Visual (デフォルトのドラッグの可視性)は、正しく ReadOnly (読み出し専用) にマークされました。

  • リサイズや移動、ウィジットの再アンカー付けなどの UMG デザイナのバグを修正しました。

  • CreateWidget (ウィジットの作成)ブループリントノードを使った抽象ウィジット クラスの構築はできなくなりました。クラスが抽象フラグを持っているなら、CreateWidget は null を返します。

  • UMGウィジットのスレートウィジットが再作成された時、テキストやチェック ボックスの状態の変更を覚えていない問題を修正しました。

  • アニメーションがなく、タイムライン / アニメーションが可視でない UMG ウィジットをコンパイルする時に起きるクラッシュを修正しました。これは、オブジェクトのガーベッジ コレクションの原因になります。GC を避けるために、オブジェクトの参照を報告するようにしました。

  • ガーベッジ コレクションを引き起こすウィジットの値の編集後、ウィジットへのイベント ハンドラーを追加する時、UMG 内で起きるクラッシュを修正しました。

  • アニメーション タブが UMG から除去される時のクラッシュを修正しました。その後の実行で、結合したオブジェクトの初期化に失敗し、エディタがクラッシュしていました。

  • UMG の 3D コンポーネントがレベル内に置かれた時に起きる、エディタのクラッシュとメモリの破損問題は修正され、スポーンするウィジットは特定の変更により再コンパイルされるようになりました。

    • 外部のブループリント コンパイラーが登録された方法を再構築して、コンポーネントの再登録と他のポスト コンパイラーの動作の完了のために、正しくすべてのコンパイルが終了するまで待つようになりました。

  • 選択したキャンバス パネル内にアイテムがある時、コンパイル中に起きるデザイナでの断続的なクラッシュを修正しました。

  • 文字列コンボボックスの多くの問題を修正しました。クラッシュのバグと同様に、リストをクリアする時の問題は更新またはリフレッシュしました。

  • 階層ビュー内で、稀にウィジットを並べ替える時に動かなくてクラッシュするいくつかの問題を修正しました。

  • ウィジットの可視性の使い方を修正しました。サイズを指定する列挙クラスを使って、異なった場所で uint8 のサイズの値に対して int32 を使った場合と同じように、スタック上に偽りの値を返す可視性の結合の問題を修正しました。

  • キーフレームセクションをゼロにのリサイズすると編集不可能になる、UMG アニメーションタイムラインのバグを修正しました。

  • 3D UMG UI ウィジットが現れるフレームで、緑の四角形になる問題を修正しました。

  • UMG ウィジットの名前を階層内で使用済みの名前に変更するとクラッシュする問題を修正しました。

  • On Constructed (構築時)コールバック内で、UMG ウィジットの特定の機能に安全にアクセスできないバグを修正しました。

  • UMG エディタを開いた状態で、PIE (Play In Editor) に遷移する間に起きるクラッシュを修正しました。

  • リアルタイムレンダリング モードでない時、UMG UI ウィジットがワールド内の 3D ウィジットを更新しないで再コンパイルする問題を修正しました。

  • PIE 時に名前付きスロットは消えなくなりました。

  • ウィジットのルート上の結合オプションは、期待した動作をしないのでなくなりました。

  • スクリーンに追加される前のボタンに IsPressed (押されているか) を安全に呼び出すことができるようになりました。

  • ビューポートに追加する時、すべてのUMGウィジットは、Z オーダーが 0 でなく 10 で開始するようになりました。

    • UMG のアイテムは、モバイルの仮想ジョイスティックのようなエンジンによって追加されたアイテムよりも常に上に現れることを保証します。

      • UIはすべての入力を吸収する仮想ジョイスティックと交互に置かれ、UMGで遭遇する一般的な問題を避ける事ができるようになります。

  • 仮想ジョイスティックは、クリックした時、指のインデックスをロックすることができるようになりました。スクリーン上の他の UI と共に動作でき、指が他の UI エレメント上に移動したら、キャプチャーを失うようになりました。

  • エディタがまだ使用できない段階での、ウィジットのブループリントの再コンパイルがクラッシュする問題を修正しました。

アニメーション

  • New:スキンメッシュ コンポーネントのボーン トランスフォームのためのダブル バッファリングを追加しました。

    • これは、アニメーション システムによる変更がまだ完了しないうちにボーン トランスフォームを使う時の問題を解決します。アニメーション システムは、パブリックなボーン トランスフォームの更新の前に、すべてが完了するまで待つようになりました (ブレンドする物理シミュレーションも含みます)。

  • New:ペルソナ内の Anim Notifies (アニメーションの通知) コンテキストメニューに、(ブループリントから来たなら) 通知されたブループリントのソースを開く、新しいオプションを追加しました。

  • New:プロパティをプレビューするための変更がアセット内に保存されないのを明確にするための警告をペルソナに追加しました。

  • New:分岐点としてのブループリントと AnimNotify_State (アニメーション通知状態) をサポートするようになりました!

  • ブランチポイントをリファクタリングしました。BranchingPoints (分岐点)は、MontageTickType (モンタージュ チック タイプ)が「Queued」(キューに入っている)の代わりに「BranchingPoint」に設定された、標準の AnimNotifies になりました。

  • New:Static Mesh Morph Target (スタティック メッシュ モーフィング ターゲット) MAXScript が Engine/Extras/3DSMAXScripts に追加されました。

  • New:State Transition Even t(ステート遷移イベント) のための、Blueprint Notify (ブループリント通知) がなくなりました。

  • New:剛体メッシュを作成するためのパスを無くして、スケルタル メッシュがボーンの階層を持たないなら、代わりに FBXインポーターが自動的に剛体メッシュをインポートするようになりました。

  • New:特定の環境下でクラッシュを引き起こす、メッシュ パーティクル エミッタ上の動的パラメータに関するバグを修正しました。

  • New:Trail Notify ステートからブループリントを作成できるようになりました。OverridePSTemplate (パーティクル システム テンプレートのオーバーライド)関数を実装することにより、デフォルトのパーティクル システム テンプレートを上書きできます。

  • Anim Blueprint (アニメーション ブループリント)編集モードの時、アニメーション アセット ブラウザ内の前進/後退ボタンを隠すようにして、アセット リストの縦のスペースを増やしました。

  • スケルトンの再ターゲットや再インポート後に、しばしば起きるインデックスのミスマッチによるクラッシュを修正しました。

  • ステート マシンの遷移ルール内で、変数ノードを右クリックした時のクラッシュを修正しました。

  • ブレークポイントで停止した時に、安全でないためペルソナ内のプレビュー プロパティの編集ができないようにしました。

  • 「Post Physics」(物理後)呼び出しをなくすことで、スケルタル メッシュ コンポーネントのティック オーバーヘッドは小さくなりました。

  • ロード時に正しい長さが使われることを確認するための調整をモンタージュへ追加しました。ミスマッチが見つかったら、アセットの再保存を促す警告がログ出力されます。

  • スケルタル階層が多く変更されると起きる再インポート中の問題を修正しました。

  • イベント ディスパッチャは、アニメーション グラフ内では意味が無く、クラッシュを引き起こすので無効にしました。

  • クックされたプラットフォーム上でクラッシュする、クックされたものからカーブを変換するだけのエディタを無くしました。

  • スケルタルメッシュとそのアニメーションを一緒にインポートする時、「保存されたローカル トランスフォーム」が FBX からインポートした UI 中に現れない問題を修正しました。

  • ループの補間が時間に従って動作しない問題を修正して、全く時間で補間しないようしました。

  • アニメーション モンタージュをロードする時の空のアニメーション トラックによって起きる問題を修正しました。

  • 新規カーブの追加をアンドゥする時に起きるクラッシュを修正しました。

  • 選択されたアイテムが割り当てられたプレビュー メッシュを持たない時のツールチップのペルソナのプレビュー内のクラッシュを修正しました。

  • モンタージュやコンポジット アセットが空のアニメーション セグメントを持つ時のルート モーション システム内のクラッシュを修正しました。

  • ブレンドスペースの 1D アセットのパラメータ範囲を変更する時のクラッシュを修正しました。

  • ペルソナ内で IK ノードを選択する時のクラッシュを修正しました。

  • アニメーション通知が時間ゼロになってしまう問題を修正しました。

  • イベントノードを置こうとする時、アニメーションアセットで定義されたアニメーション通知イベントが、正しくブループリントのコンテキストメニューに現れない問題を修正しました。

  • 「Root Motion from Everywhere」(どこからでもルート モーション) がオンの時、キャラクタの移動が動作しない問題を修正しました。

  • スケルタルメッシュが評価中に変更された時の Parallel Animation Evaluation (並列アニメーション評価) 内でのクラッシュを修正しました。

  • リンクされたモンタージュ エレメントがトラックから取り除かれたことに関するクラッシュを修正しました。

  • アニメーション通知をコピー&ペーストする時のクラッシュを修正しました。

  • レイヤーノードが破損している時のクラッシュを修正しました。

  • null のスケルトンからアニメーションを再ターゲットする時のクラッシュを修正しました。

  • トラックがスケルトンと一致しない時のアニメーションのクラッシュを修正しました。

  • いくつかのインスタンスのアニメーション モンタージュ エレメントの異常な移動を修正しました。

  • ルートモーションの回転を破壊する、不正なルートモーションの乗算順序を修正しました。

  • ペルソナ内のペーストされたアニメーション通知の回数が正しくない問題を修正しました。

  • 補間の設定が正しくない時、ブレンドスペースが開始しない問題を修正しました。

  • アニメーションデータを更新する時にビューポートが更新されない問題を修正しました。

  • スケルタル メッシュのローカル スペースのバウンディング ボックスが不正になる問題を修正しました (メッシュ境界を使うマテリアルで問題が起きました)。

  • モンタージュ コンポジット セクションが時間ゼロになってしまう問題を修正しました。

  • ブレンド スペース評価ノードで1フレームの遅延が起きる問題を修正しました。

  • ペルソナのモンタージュ パネルがエディタのリスタートなしでは、正しいシーケンスの長さに正しく更新しない問題を修正しました。

  • 親が存在しない時、不正な移動を適用しないように再ターゲットの問題を修正しました。

  • アニメーション システム中のスレッド セーフでないコードによって起きるスケルタル メッシュの破損を修正しました。

  • マップ遷移をサポートするための一時的な状態でない場合でも、アニメーション モンタージュのインスタンスの参照が正しく保たれるように修正しました。

  • AnimMontageの末端のデリゲートが適切な参照を呼び出すように修正しました。

  • 「Ignore Root Motion」モードが適切にルートボーンからルートモーションを適切に取り出さない問題を修正しました。

  • クロスフェードの遷移ルールを修正したので、同じ遷移を1回のティック中に複数回実行する場合の遷移の更新中でのゼロ割りが起きないようになりました。

  • ペルソナ内に遷移ルールの通知パラメータが現れない問題を修正しました。

  • 問題のある最適化によって起きるアニメーションの引き伸ばしを修正しました。

ブループリント

  • New:新規に作成されたブループリントは、ブループリント構築をすぐに始められるように事前に配置された少数のノードを持つようになりました。このノードは、何かを実際に接続するまで無効になっています。

    GhostNodes.png

  • New: イベント グラフで使用される全ローカル変数は、永続的なフレームに保存されるようになりました。 (ブループリント コンパイラーの最適化)

  • New:ブループリントのローカル変数にデフォルト値を設定しました。ブループリント関数のローカル変数にデフォルト値を容易に設定できるようになりました。関数に入るたびに、その変数はデフォルト値に設定されます。

    DefaultValues.png

  • New:アクタのティックを有効にしたり、無効にしたりする新しいノードを追加しました。

    ActorTicking.png

  • New:シーンでないコンポーネントのサブクラスの Add Component ノードは、未使用の RelativeTransform (相対トランスフォーム) と bManualAttachment (マニュアル アタッチかどうか)のピンを表示しなくなりました。

    AddComponentNodes.png

  • New:純粋にノードをキャストしたブループリントへのブーリアン出力を追加しました (ですから、キャストが成功したかどうかを検出することができます)。

    BooleanOutput.png

  • New:Moved (移動) を扱うタッチイベントのピンを追加しました。

PinforTouch.png
以前は、Pressed (押されたり)、Released (離されたり) したものだけが対象でした

  • New:渡されたクラスが使用可能なクラスなら true を返す「Is Valid Class」(妥当なクラスかどうか)ノードをブループリントに追加しました。

  • New:「Infinite Loop」(無限ループ) エラー メッセージが、何かが起きたことをユーザーに知らせる有用な通知付きで、メッセージ ログにポストされるようになりました。

    • メッセージは、クラッシュの起きたノードへのリンクやたブループリント アセット、クラッシュまでのコール スタックを提供します。

  • New:Blutilities (ブループリント ユーティリティ)で、名前によるアクタの参照ができるようになりました。

  • New:ブループリントの変数型として Actor Component (アクターコンポーネント) を追加しました (ですから、すべてのコンポーネントを共通の基本型によって参照できます)。

  • New:(実行ピンなしで) 純粋なフォームへのデフォルトのキャスト ノードにする、実験的なブループリント設定を追加しました。

  • New:アクタのコンポーネントを探すのに使用されるブループリントで呼び出せる関数、Get Components By Tag (タグでコンポーネントを取得)を追加しました。

  • New:入力のブール値に基づいて 2 つの与えられたクラスから1つを返す、新しい「Select Class」(クラスを選択) ノードをブループリントに追加しました。これは、オブジェクトがクラスでない場合の他の「Select Object」(オブジェクトを選択)のようなノード選択と同様になります。

  • New:変数設定ノードにパディングを追加したので、実行ワイヤーは他のノードと一列に並びます。

    PaddingToVariable.png

  • New:ブループリントのノード入力で指数表現をサポートしました (ですから、次のような入力を受け付けます: 1.2e5)。

  • New:Blutility (ブループリント ユーティリティ)名によるアクタの参照をサポートしました。これで、現在のレベルに存在するかどうかに関わらず、オブジェクトへの参照を作成するチュートリアルを実行できます。

  • New:現在のエディタ選択の情報と配置されたBlutility (ブループリント ユーティリティ)へのビューポートの全体像を取得する UI ヘルパー関数を追加しました。

  • New:クラス ブループリントにインターフェースが追加され、ピンまたは変数型の設定はアンロードされたブループリント アセットがリストされ、そこから選択可能になりました。

  • New:ブループリントのコンテキスト メニュー「scoring」(スコアリング)を改良しました - 「もし」「Branch」ノードをデフォルトで選択するなら、アクタ コンポーネントで作業中の時、「parent」と「owner」はGet Ownerを選択します。

  • New:ブループリントのDiff (差分)ツールを改良しました。

    • コンポーネントとデフォルト値のビューを Diff ツールに追加しました。

    • コマンドライン アクセスを追加:UE4Editor.exe -diff [options] LEFT_FILENAME RIGHT_FILENAME

    • ブループリントのすべての部分の差分を表示するツリー ビューに差分のリストを統合しました。

    • 既知の問題: 「マイ ブループリント」パネル内での変更は、変更のリスト中に現れません。

  • New:ブループリント アセットのユーザー説明は、編集フィールドで、Ctrl+Enter を使うことにより複数行入力が可能になるように変更しました。

  • New: * ブループリントの変数型の変更では、そのすべての変数のノードを取り除く必要がなくなりました。

    • 型の変更と、どこで変数が使用中かを表示するためのグローバル検索を実行するため、ノードの変数ピンが切断されますので、ピンの修復が起きます。

  • New:メッセージ ノードが入力ピンを持たないというエラーメッセージをわかりやすくしました。

  • New:ブループリント ノード「Division (whole and remainder)」(割り算)のツールチップをわかりやすくしました。ツールチップに曖昧な「A」と「B」の参照がなくなりました。

  • New:ブループリント ノード「Random Integer In Range」(範囲付き整数乱数)のツールチップをわかりやすくしました。ツールチップで最小と最大が含まれることを説明するようにしました。

  • New:ノードのクラス ピッカーとコンテンツ ピッカーは、検索可能になり、クリックやタブ移動なしで、矢印キーを使用してフォーカス変更が可能になりました。

  • New:複雑な接続の複雑なグラフのノードをホバーする時に、より良い情報をリルート ノードのコメントのバブルで表示できるようになりました。

  • New:イベント ディスパッチャ ピンから作成されたカスタム イベントは、イベント ディスパッチャと同じシグネチャを持つようになりました。

  • New:データ テーブルに行エディタが追加されたので、エディタ内から直接編集できるようになりました。

  • New:データ テーブル アセットからのテキスト収集! データ テーブル アセット中のテキストは、ローカライゼーションのために自動的に収集されるようになりました。

  • New:2D の内積と外積のメソッドがブループリントで使えるようになりました。

  • New:アクタ コンポーネントが Paused and Set Component Tick Enabled の時、 Set Tickable がブループリントで使えるようになりました。

  • New:Find in Blueprints (ブループリント内の検索) は、生成されたデータキャッシュ (DDC) を使う代わりに、アセット中の検索可能なデータを保存するようになりました。これで、アセットが複数のマシンで使用されている時に、検索データはより信頼性の高いものになりました。

  • New:レベルのブループリントとブループリントで作成したコンポーネントが、Find in Blueprints (ブループリント内の検索) を使用して検索できるようになりました。

  • New:データテーブルカラム中のすべての行の名前を返す、Get Data Table Row Names (データテーブルの行の名前を取得) ノードをブループリントに追加しました。

  • New:新しい 2D ベクトル補間関数をブループリントに追加しました。

  • New:すべてのピンが切断されている時、Make Array (配列の作成) ノードは、ワイルド カードにリセットしなくなりました。代わりに、何もピンが結合されてないなら、Reset to Wildcard コンテキスト メニュー オプションが使えるようになりました。

  • New:Placed Editor Utility ブループリントは、アクタを選択できるようになり、エディタで選択していたアクタをクリアするようになりました。

  • New:チュートリアルの作成を補助するため、レベルエディタのビューポートのカメラと Blutility (ブループリント ユーティリティ) から設定された現在の選択についての情報を取得するためのサポートを追加しました。

  • New:レベルのビューポート内でのアクタの置換は、自動的にレベルのブループリント内のすべての参照を置換するようになりました。

  • New:マイ ブループリントウィンドウ内でのカスタムイベントの選択は、イベント ノードの選択として機能するようになりました。

  • New:「クラス デフォルト」と「クラス設定」のツール バー ボタンは、詳細パネル内でどちらかを編集中の時に明るくなるようになりました。

  • New:すべてのグラフ エディタで使用されるコメント バブルでは、使いやすくなるように配慮しました。これには次のものを含みます:

    • バブルは直接編集可能になったため、コンテキスト メニュー内でコメントを編集する必要がありません。

    • 複数行のテキスト編集をサポートしました。
      MultiLineComment.png

    • バブルの表示/非表示が、表示中のコメントテキストと独立して可能になりました。
      CommentVisibility.png

    • グラフがズームされた時、バブルをどのように動作させるかを決められるようになりました。
      pinned.png

  • New:これで、ブループリントの変数を設定変数としてマークでき、デフォルト値が設定ファイル中に設定できるようになります。

    CPF_Config.png

  • New:現在選択されているレベル アクタのために表示する、ブループリント ノードのコンテキスト メニュー内で、未分類の関数は、「クラス」カテゴリには分類されなくなりました。

  • New:変数を設定するノードは、変数の値を取得するための出力ピンを持つようになり、別の Get ノードを配置する代わりに、Set ノードを再利用できるようになりました。

    SetGetPin.png

  • New:ブループリント関数が非純粋関数から純粋関数へ変更される時、グラフ内の実行ピンは自動的に実行フローを維持するために更新されるようになりました。

    • いくつかのアクタ クラス関数は、純粋関数になりました (Get Distance Toなど)

  • New:ブループリント エディタ内で、コンテンツ ブラウザからビューポートへ、アセットとコンポーネント クラスをドラッグ&ドロップできるようになりました。

    • コンポーネント ツリーにドロップされたようになり、新規コンポーネントが作成され、可能なルートにアタッチされます。

  • New:新しい子のアクタコンポーネントを作成するために、コンテンツ ブラウザからコンポーネント ツリーへ、C++ とブループリントのアクタ クラスをドラッグ&ドロップできるようになりました。

  • New:「Convert Selected Actor to Blueprint Class」(選択したアクタをブループリント クラスへ変換) と「Convert Selected Components to Blueprint Class」(選択したコンポーネントをブループリント クラスへ変換) を、レベル エディタ内のブループリントのツール バーの下に追加しました。

  • New:Print String のように動作しますが、ローカライズ可能なテキスト オブジェクトを取る Print Text (テキストを表示) ノードを追加しました。

  • New:Input Key と Input Actions が、マイ ブループリントパネル内にリストアップされるようになりました。

  • New:継承可能なブループリント コンポーネント:ブループリントで親のコンポーネントのプロパティを変更できるようになりました。

  • New:Get Component By Class ノードが修正されたので、戻り値の型がコンポーネントクラスの入力で設定されたクラスと一致するようになりました。

  • アクタ コンポーネントのブループリントのサブクラスが、クラス設定内のブループリント カテゴリのプロパティを使ったコンポーネントの追加メニューのカテゴリから選択できるようになりました。

    • 注意:現在は、これはロードされたブループリントのみで動作し、ロードされていないブループリントでは常にカスタムカテゴリ内に表示されます。

  • リストがフィルタリングされた時でも、追加コンポーネント リスト内のコンポーネント カテゴリーヘッダが表示されるようになりました。

  • ユーザー定義の列挙は、ブループリント マクロ ライブラリによって使われる時、適切にロードされるようになりました。

  • ユーザー定義の構造体インスタンスは、プロパティ エディタ内でデフォルト値がセットされるようになりました。

  • プロジェクトが閉じられた時にコンパイルされない、ユーザー定義構造体型の変数は、プロジェクトが再び開かれた時に見えるようになりました。

  • 名前が変更されたコンポーネントとウィジットのための適切なテキストをグラフが表示しない問題を修正しました。

  • コンテンツブラウザで新規のブループリントアセットを作成する時、アクタ コンポーネントとシーンコンポーネントをブループリントの親クラスの「クイックリスト」に追加しました。

  • 破壊の一部としてのコンポーネントを作成する構造のシステムによる名前の変更は、トランザクションでないように変更しました。

  • 現在のブループリントから関数とプロパティが、コンパイルが必要なブループリントなら、アクションメニュー内にきちんと現れるように修正しました。

  • チュートリアルのブループリントは、エディタ内の「ソフト参照」アクタとなり、保存するためのロック無しでアクタと相互作用できるようになりました。

  • ブループリントのクラス デフォルト プロパティの編集中のメッセージは、「Blueprint Defaults」や他の名前の代わりに、一貫してコードやドキュメント内で言及される「Class Defaults」に変更しました。

  • 遅延のコメントと秒単位で再トリガーできる遅延ノードをわかりやすくしました。

  • 新規のブループリントコンポーネントと区別するために、Script Component は、Script Plugin Component に名前が変わりました。

  • ブループリント コンパイラは、サポートされていないデータ型に遭遇した場合は、エラー メッセージ中に型名を含むようになりました。

  • ブループリント ノードの「削除」オプションは、何も削除できるものがない場合はグレー表示になりました。

  • ブループリント ノードのアクタ入力ピンは、ノードがレベル スクリプト ブループリント内なら、単にアクタ ピッカーを表示するようになりました。

  • 以前は「Event Dispatchers」(イベントディスパッチャ)カテゴリーの下にあった、On Destroyed (破棄時)と On End Play (プレイ終了時)のカテゴリを追加しました。

  • ブループリント エディタ ウィンドウ メニュー内に表示される各ウィンドウにツールチップを追加しました。

  • ブループリントにインターフェースを追加、またはブループリントからインターフェースを削除、および再び親付けしても、現在の詳細ビューにドロップしなくなりました。

  • クラスのすべてのインスタンスは、強制的にブループリント クラス アセットを削除する選択をした時に、現在のレベルから取り除かれるようになりました。

  • 外部のタイムラインの参照を使用する代わりに、コピー&ペースト操作の後に、外部のタイムラインが、ブループリントに複製する問題を修正しました。

  • 大きなブループリントのコンパイルを速くするために、ブループリント グラフ エディタ ウィンドウは、ブループリントをコンパイルする時にウィジットを再作成しなくなりました。

  • 日付をテキスト変換するためのブループリント メソッドは、与えられた Date Time (日付と時間) をローカル マシンのタイム ゾーンではなく、「未知の」タイム ゾーンとみなすようになりました。

  • 新規オブジェクトが選択された時、ブループリント エディタのデバッグされたワールド コンボボックスが更新されない問題を修正しました。

  • Brush (ブラシ) とそのサブクラスは、「Spawn Actor from Class」(クラスノードからアクタをスポーン) ノードを使ったブループリントによってスポーンできなくなりました。

  • 機能をわかり易くするために、「Convert to Composited Blueprint」(複合ブループリントを変換)を「Convert to Class Blueprint」(ブループリンクラスに変換)に変更しました。ボタンは、選択されたアクタからのコンポーネントを持つ新規のクラス ブループリントで作成されます。

  • ブループリントへのアクタの変換やコンポーネントの選択は、デフォルトの名前にリセットするのではなく、付けられているコンポーネント名を維持するようになりました。

  • 複数の数学表現ノードを一度に編集する時のクラッシュを修正しました。

  • クックした、Game Instance Blueprint (ゲーム インスタンス ブループリント) を使用したプロジェクトをローンチする時のクラッシュを修正しました。

  • カスタム イベントのネット複製フラグは、子のブループリントをオーバーライドしたカスタム イベントによって適切に継承されるようになりました。

  • 現在のクラス ブループリント対して隠された関数は、まだパレットからのコピー&ペーストやドラッグが可能ですので、関数を隠さない他のクラスはまだそれを使うことができます。

  • コンパイラー内での不正な名前の衝突の取り扱いを改良したので、外されたものはアサートによるクラッシュではなく、修復可能なブループリント コンパイル エラーになります。

  • インターフェース出力ピンは、直接オブジェクト入力ピンに接続できなくなりました。オブジェクトピンをドラッグすることによるコンテキストメニューから配置できる変換ノードが必要になりました。

  • 前に作成されたブループリントをリロードする時、タイムライン ノードからカーブ出力ピンがなくなる問題を修正しました。

  • 数式ノードによって作成されたグラフは編集不能になり、こうしたグラフはノードによって自動生成されます。

  • C++で定義されたコンポーネントがブループリントエディタで選択された時、選択されたコンポーネントと無関係なグローバル アクタクラスのデフォルトを隠しました。

  • ロードされたレベル上のレベルアクタは、アクタの不正な表示名を表示しなくなりました。

  • Random Stream (乱数ストリーム)ノードは、その種と初期種を捨てないようになりました。

  • Make Array (配列の作成) は、ピンのタイプが決まると、接続されていない各入力ピンのデフォルト値を持つようになりました。

  • マイ ブループリント パネル内のオーバーライド可能な関数は、関数がオーバーライドされている時と同じツールチップを表示するようになりました。

  • 適切な表示名は、サニタイズされてない C++ の名前の代わりにユーザー定義構造体で表現されるようになりました。

  • サブレベルでのアクタへの参照は、他のサブレベルのレベルブループリントへ追加できなくなりました。

  • 「Save Intermediate Build Products」(ビルド時の中間生成物を保存)オプションは、ブループリント エディタのコンパイル メニューから取り除かれました (エディタの File (ファイル)->Developers (開発者) メニュー には、まだあります)。

  • ピンをドラッグする時(紛らわしい二重の選択肢となるので)、「selected actor (選択中アクタ)」セクションは、レベル ブループリントのコンテキスト メニューから取り除かれました。

  • 「Replace with Composited Blueprint」(複合ブループリントで置換)ボタンは、ボタンが何をするかをわかり易くするために、「Convert to Class Blueprint」(ブループリントクラスへの変換)に名前が変わりました。

  • 変数や関数、マクロ、ピンタイプのセレクタを表示するその他のブループリント アイテムの選択は、パフォーマンスが大いに向上しました。

  • ブループリントエディタ内のコンポーネント ツリーは、アクタ クラスを定義する最初のネイティブ C++ コンポーネント以外の何かにコードで設定される場合、適切なルートコンポーネントを表示するようになりました。

  • ブループリント グラフ エディタ ビュー内のコンテキストメニューは、関数を現在のグラフ コンテキストの中に配置されないように、メタデータで関数をフイルタリングするようになりました。

  • Timespan 変数のデフォルト値は、ブループリントがコンパイルされた時にリセットされません。

  • コメントノードに関する問題に取り組みました。選択されたノードセットの周囲でコメントを作成することができましたが、コメントを再選択するまで、コメントを移動してもノードは移動しません。

  • オフスクリーン ノードを含むために囲まれたノードのコメント検知を改良しました。

  • コンポーネント ブループリントが再び親子付けできるクラスの範囲を制限しました。これで、アクタ コンポーネントとその子のみが表示されるようになります。

  • 正しいデフォルトを表示しないユーザー定義構造体のデフォルト値パネルの問題を修正しました。

  • 詳細パネル フィルタ エリアは、変数がブループリント内で選択された時、隠されないようになりました。

  • アクタ参照のダブルクリックで、レベルエディタ内の参照されたアクタにジャンプします。

  • ブループリント コンパイラーの間違ったエラーを修正しました。

  • 現在のグラフ内での不正に配置可能なノードのマクロの拡張はクラッシュしなくなりました。

  • 自動生成されたブループリント コンポーネント変数の複製時のクラッシュを修正しました。

  • 「Replace with Composited Blueprint」(複合ブループリントで置換)ボタンを使って、アクタ インスタンスから新規のブループリントへ適切にコピーされなかったコンポーネントのプロパティを修正しました。

  • 新規のブループリントクラスが、時々クラス ビュワーやクラス ピッカー インスタンスに現れない問題を修正しました。

  • アセット ブラウザ内でレベルを複製する時に、たまに起きるブループリント関連のクラッシュを修正しました。

  • 次のような事象が起きた時のコメント バブルの問題を修正しました。

    • カスタム イベント ノードのコメントの変更が、コメントを追加する代わりにノードの名前を変更する。

    • ブループリントをコンパイル時や閉じた時に、いくつかの修正済みのコメントの変更が失われる。

  • ノード コンテキスト メニューによって入力するコメントを修正し、ノードコメントバブルを自動的に表示/非表示にするようにしました。

  • 互換性のないデリゲートピンが結合されるようになっているバグを修正しました。

  • ブループリント構築スクリプト中で、同じタイプの他のブループリントを参照する時にクラッシュするバグを修正しました。

  • ブループリントの差分ツール内で、違うものとして空のカーブのタイムラインにフラグを付けるバグを修正しました。

  • ノードのインターフェース入力が未接続のまま残された時、ブループリントのクラッシュを引き起こすバグを修正しました。

  • ブループリントのコンポーネントからの頂点が描画されたメッシュを削除する時にクラッシュするバグを修正しました。

  • コンテンツ ブラウザ内でスタティックメッシュからブループリントを作成する時に生じるバグで、その後コンテキスト メニューを使用するとクラッシュするバグを修正しました。

  • 関連するマチネ ブループリントノードに不正な結合が残されているマチネトラックの名前を変更する時に起きるバグを修正しました。

  • レベル ブループリントから (レベルをリロード後)、ブループリントのイベント ディスパッチャの呼び出しに失敗するバグを修正しました。

  • 削除済みのタイプにノードをキャストしたら、ブループリントがクラッシュするバグを修正しました。

  • エクスポーズされたブループリント変数が Play を押すとクリアされるバグを修正しました。

  • イベント ディスパッチャがブループリント コンテキスト メニュー内に現れないバグを修正しました。

  • ブループリントのデフォルトへの最初の変更が取り消し (アンドゥ) できないバグを修正しました。

  • 自分のノードへの接続ができない (それは不正なオブジェクトとして扱われます) という、ブループリント配列ノードのバグを修正しました。

  • 未保存の変更があるとして、すべてのブループリントがマーク付けされるブループリントの自動テストのバグを修正しました。

  • クックとパッケージングの失敗の原因になるブループリントの数式ノードのバグを修正しました。

  • 構造体配列変数のデフォルトの要素を削除する時にブループリントエディタがクラッシュする問題を修正しました。

  • Canvas Render Target (キャンバス レンダリング ターゲット) オブジェクトを使用するときに起きるクラッシュを修正しました。

  • 子のブループリントの親を変更し、前の親が再コンパイルされた時のクラッシュを修正しました。

  • C++ に追加時に継承されたコンポーネントと衝突する、ブループリントやインスタンス コンポーネントの名前の変更時のクラッシュを修正しました。

    • ネイティブ コンポーネントによって異なるので、コンポーネント オブジェクト名や変数名と衝突する名前の変更は、ブロックされるようになりました。

  • ゲーム インスタンス クラスが、エディタでプレイ中に見つからない時のクラッシュを修正しました。

  • 変数のデフォルト値の変更を取り消しする時のクラッシュを修正しました。

  • フォーマット テキストノードの削除後のブループリントのコンパイル エラーを修正しました。

  • ブループリント ノード のコピー&ペーストを修正し、マクロ ノードを関係のないブループリントにペーストしないようにしました。

  • 間違ったデフォルト値を持つブループリント インターフェースの内部の入力ブール値を作成する時のエディタのクラッシュを修正しました。

  • 詳細パネル内でキーピッカーを持つ入力ノードを使うときのクラッシュを修正しました。

  • 入力タッチノードにツールチップがない問題を修正しました。

  • ブループリント クラス内のスタティック メッシュが事前計算ライティングできない原因になる精度の問題を修正しました。

  • ブループリントで呼び出し可能な関数が正しいワールドに関連付けられてない場合にクラッシュする、いくつかの場所を修正しました。

    • これは、スタンドアロンのゲームで、特に Game Instance (ゲーム インスタンス) ブループリントで Receive Init (受信初期化) イベントを使う場合に起きました。

  • ブループリントの親を他の継承されたコンポーネント階層のクラスに変更する時、失われたりロックされたりするルート コンポーネントのいくつかの問題を修正しました。

  • ブループリント デバッガを修正したので、ブループリントの親のピンの値を表示するようになりました。

    • デリゲート ピンを確実に含むように、ロード時にすでにあるイベントノードを修正しました。

  • アクタ ベースのブループリント インスタンスの構築パス内や周辺でのいくつかのコンポーネント登録問題を修正しました。

  • クラスピッカーを修正したので、ドロップダウン リストのコンテンツを省略しなくなりました。

  • ブループリントのトランスフォーム (変換) 内のベクトル変数の変更時のクラッシュを修正しました。

  • ブループリント エディタで新規コンポーネントを選ぶと、既存ネイティブ コンポーネントと同じ名前でコンポーネントを作成する問題を修正しました。

  • データのみのブループリントで起きる「外部オブジェクトへリンクされたグラフ」の問題を修正しました。

  • レベルエディタ内のインスタンスをブループリント クラスに変換する時の「外部オブジェクトへリンクされたグラフ」のエラーを修正しました。

  • マイ ブループリント パネル内でカスタム イベントや入力イベントを選択した状態でコンパイルすると、選択を解除するバグを修正しました。

  • アクタ選択からブループリントを作成する時、他のコンポーネントによって作成されたエディタのみのコンポーネントが取り込まれる問題を修正しました。

  • 他の何かが選択の変更を強制した場合、マイ ブループリントで新規に選択されたアイテムを表示するためにフォルダーが展開しない問題を修正しました。

  • テキスト配列をユーザー定義構造体に追加する時に起きるクラッシュを修正しました。

  • 選択のハイライトを修正し、ブループリントの編集と C++ クラスのソースのハイパーリンクは選択時およびフォーカスがない場合でも見やすくなりました。

  • ブループリント エディタ内で編集する、デフォルト トランスフォーム値の伝搬や「live」プロパティのデフォルトのさまざまな問題を修正しました。

  • 追加コンポーネント ノードのタイトルのさまざまな問題を修正しました。

    • 小さなハードコーディングされたタイプのリストの代わりに、アセット名の集め方を一般化し、どんなコンポーネント タイプでも正しく動作するようにしました。

    • コンポーネント タイトルが編集不能で、テンプレートが修正された時に更新されない問題を修正しました。

    • フルタイトルを表示する時のアセット情報表示の2行目を追加しました。

  • 前のマップが新規のマップに入る前にアンロードできないという、ブループリントの編集後マップを変更する時のいくつかの問題を修正しました。

  • 新規のブループリント エディタ レイアウト内で、デフォルトの詳細ビューのサポートを修正し、コンパイルなどのリフレッシュ アクションで詳細ビューで問題が生じないようにしました。

  • ブループリント内に保存されているすべてのコンポーネントが公開になっていて、マップにインポートできることを確実にするための修正を行いました。

  • 参照ビューア内に表示されているノード コメント中のオブジェクトパスのテキストがなくなる問題を修正しました。

  • グラフ エディタ内でノード コメントによって見えなくなるウォッチ値のような情報バブルを修正しました。これで、正しくバブルをスタックする機能を修正しました。

  • ユーザー定義構造体エディタを空の名前を許さないように修正しました。

  • ノード コメント バブル (ウォッチ値やアニメーション状態、タイムライン/潜在的な遅延表示など) のリグレッションが、巨大になる問題を修正しました。

  • メンバー変数名とオブジェクト名で不整合のある、継承されたネイティブ コンポーネントのさまざまな問題を修正しました。

    • 構築スクリプトを再実行した時、衝突やクラッシュする名前にコンポーネントの名前を変更できないようにし、ツールチップの表示を改良し、コンポーネントツリーから変数へアクセスするためのブループリント グラフへドラッグ&ドロップできるようにしました。

AI

  • New:基本的なパス追跡サポートを浮動小数点ポーン移動コンポーネントに追加しました。

  • New:ブループリントで実装可能なイベント、On Using Black Board を AIコントローラーに追加しましたので、AI が新規のブラックボード アセットを割り当てられる時、ブラックボードの値を初期化するために使えます。

    • イベントは新規アセットでブラックボード コンポーネントをセットアップ直後で、他の AI アクティビティの前に呼び出され、初期値のあるブラックボードをフィードする最適な位置にします。

  • New:ジオメトリやナビゲーションに投影する Environment Query System (環境クエリ システム) のアイテムの、設定可能な縦のオフセット オプションを追加しました。 EQS_ZOffset.png

  • 後の Line-of-Sight チェックで失敗するレベル ジオメトリを定義上突っ切って進むことができるNavMesh (ナビゲーションメッシュ) に点を投影する時に非常に役に立ちます。

  • New:ブループリントで群衆を迂回する方法を提供する、Crowd Following (群衆追尾)コンポーネントと Detour Crowd AI Controller (群衆迂回AIコントローラー)を持つ専用の AI コントローラーを追加しました。

  • New:ゲームプレイ デバッガとビジュアル ロガー ツールのためのエディタ設定を追加しました。

  • New:ナビゲーションデータのインスタンス (NavMeshのような) がランタイム生成を終了する時にトリガーする、単純でブループリントに割当可能なデリゲートをナビゲーション システムに追加しました。「navmesh generation finished」(NavMesh生成完了) のようなイベントに反応するために使用してください。
    OnNavBuilt.png

  • New:可能なら、任意のアクタから AI コントローラーを引き出すための便利な関数を追加しました。ポーンの場合は、ポーンのコントローラーから AI コントローラーへのキャストになります。コントローラーの場合は、AI コントローラーをキャストした結果を返します。他の場合は、None を返します。

  • New:ビヘイビア ツリー ノードに、別の新しいブループリント実装可能なイベントを追加し、AI コントローラーとポーン インスタンスを提供します。 BT_AIEvents.png

    • これで、一般的な「オーナー アクタ」からコントローラーやポーンを取得するだけで、いくつかのキャストが要らなくなります。

    • この代替版は、既定ノードが AI 駆動ポーンを制御している場合のみ呼び出されます。

  • New:ブラックボード変数で指定された長さの時間を待つAI ビヘイビア ツリー タスクを追加しました。

  • New:ベクトルやローテータの正当性を AI でチェックするブループリント関数を追加しました。

  • New:既存のクエリ パラメータを置き換える、環境クエリ システム (EQS) のための動的なデータ結合を追加しました。

  • New:World Composition (ワールド合成)のためのNavMesh生成サポートを追加しました。

  • New:テスト実行中の決定論的乱数生成のための関数テストインスタンスに乱数ストリームを追加しました。

    • AI スポーン位置のランダム化でこれを使用するようになりました。

  • New:「Simple Move To」ブループリント関数が、パス追跡をサポートできないポーン (例 剛体物理)に使われた時の警告メッセージを追加しました。

  • New:オプションで「待機 (Wait)」ビヘイビア ツリー タスクのためのランダムな偏りが指定できるようになりました。

  • New:ゲームプレイ タグかタグがアクタに存在するかを条件付きでチェックする「Check Gameplay Tags On Actor」(アクタ上でゲームプレイタグをチェック)ビヘイビア ツリー デコレーターを追加しました。

  • New:容易に調整ができるように、クラウド マネージャの基本的なプロパティがプロジェクト設定にも現れるようになりました。

  • New:AIロジックの停止や再開するための Brain Component (知能コンポーネント) の関数がブループリントに公開されました。ついに、ブループリントユーザーが思考から AI を停止することができるようになりました。

    StopLogic.png

  • New:ナビゲーション メッシュの初期のリビルドは、プロジェクト設定で設定可能なオプションになりました。(ナビゲーション メッシュ - Force Rebuild On Load)

  • New:ナビゲーション領域の修正 (動的障害物)は、インスタンス化されたスタティック メッシュとフォーリッジと共に動作するようになりました。

  • New:ナビゲーション システムでサポートされているエージェントは、そのために生成されるべきナビゲーション データ クラスを指定できるようになりました。

    SupportedAgentNavClass.png

  • ナビゲーション関連のプロパティと関数のカテゴリーが、より整合性のあるものになりました。「Navigation (ナビゲーション) 」は、プロパティに対して使用され、「AI|Navigation (AI|ナビゲーション) 」は関数に対して使用されるようになりました。

    • 制御されたポーンのスケルタル メッシュ上でのアニメーション再生のための非常に基本的なビヘイビア ツリー タスクを追加しました。

    BTPlayAnimation.png

  • 迂回 NavMesh インスタンスは、レベルのロード中に作成されたが、ロードされたナビゲーションデータが空の場合にはクリアされます。

  • 指定された時間間隔の後、AI perception stimulus (AIによる刺激の認知) を自動期限切れにするための機構を追加しました。

  • 間違って不正な値をユーザーが入れることを防ぐために、いくつかのNavMesh生成プロパティの妥当性チェックを追加しました。

  • AI コントローラーの回転の更新機構は、AIのフォーカス機構を利用するように更新しました。

  • コンポジット デコレーターを開いたり、編集したりできなくなるビヘイビアツリーエディタのバグを修正しました。

  • ビヘイビア ツリー エディタは、ダーティでないブラックボードをチェックしなくなりました。

  • エンターを押すと、ビヘイビア ツリーの検索結果をリフレッシュするようになりました。

  • EQS Testing Pawn がデフォルトのプロパティの変更に応じて、環境クエリを走らせようとするのを止めました。

  • EnvQueryGenerator_PathingGrid の未使用プロパティ Trace Type は除去されました。

  • ボックス外で、より良い初期セットアップを提供するために、AI Move To (AIで移動) ブループリント ノードの Acceptance Radius (受入半径) のデフォルト値を変更しました。

  • 環境クエリ システム内でEQSテストノードを選択する時、エディタ内で起きるクラッシュ バグを修正しました。

  • 新規リクエストが失敗した (パスが存在しないか既に対象にある) 時、移動のない「Simple Move To」(単純な移動)ブループリント関数を修正しました。

  • 対象のアクタが移動した場合、自動的にパスを更新しなくなる AI Move To ブループリント ノード内のバグを修正しました。

  • NavMeshBoundsVolume がナビゲーションなしのレベルで作成された場合、BSP上でNavMeshが生成されなくなるナビゲーション システムのバグを修正しました。

  • 壊れた NavMesh のデバッグのコリジョンデータのレンダリングを修正しました。

  • ナビゲーション システムが、壊れたナビゲーション データがあるレベル内で最初の NavMesh 生成リクエストを無視するバグを修正しました。

  • ワールド設定でナビゲーション システム作成が無効になっているのに、ナビゲーションデータが保存されたマップのローディングでのクラッシュを修正しました。

  • 移動の到達点に達しているかどうかを決める時に、AI エージェントの半径が誤って使用されて AI が早めに停止してしまう問題を修正しました。

  • AI コントローラーの MoveToLocation (位置へ移動)が、AIが既に到達点に達しているかどうかをテスト中の「Stop on Overlap」(重なったら停止)の使用法が誤っていたのを修正しました。

  • AI 認知システムを使っていない場合でも、Pawn Sensing コンポーネントの検知を効率的にブロックし、AI 認知システムが、エンジンの MakeNoise (ノイズの発生)実装を乗っ取る問題を修正しました。

  • 何も任意の感覚をリッスンしていない時、AI 認知システムが、刺激のソースの登録要求を無視するのを修正しました。

  • ビヘイビア ツリー デコレーターとサービスがループ実行後、アクティブのままになるのを修正しました。

  • ブラックボード アセット エディタがユーザー定義列挙値を適切に表示しないのを修正しました。

  • ブラックボードのアイコンが不適切に変色していたのを修正しました。

  • ブループリントで実装された環境クエリ システム ジェネレータが、誤って間違ったアイテム タイプを保存しているというエラーを発生するのを修正しました。

  • 非常に小さなタイルのためのナビゲーション メッシュ ジェネレータ (複数に重なったポリゴン) が壊れているのを修正しました。

  • 多数の重なったゾーンを作り、NavMesh 生成が壊れているのを修正しました。

  • ビヘイビア ツリー エディタで設定した値が使用されていない Rotate To Face Blackboard Entry タスク内のバグを修正しました。

  • NavMesh のためのクラスターマップの生成時のクラッシュを修正しました。

  • カスタム リンク フィルタを使っているcrowd (クラウド) のパス キューを更新時のクラッシュを修正しました。

  • クックされたコリジョン データのないスタティック メッシュからの動的ナビゲーション障害物の生成を修正しました (Gather Convex Geometry(凸型ジオメトリを集める) フラグ)。

  • クラウド シミュレーションがいくつかのカスタム ナビゲーション リンクをスキップするのを修正しました。

  • 自動ナビゲーションのリビルドが無効な時、マップのロードでナビゲーション メッシュが現れないのを修正しました。

  • ブラシのジオメトリでコリジョン データが二重になるのを修正しました。

  • アクタをクラス ビュワー ウィンドウからドラッグ後、ナビゲーション システム内でコリジョン データが二重になるのを修正しました。

  • ジオメトリ ブラシ(BSP)を含むサブレベルのロード後、ナビゲーション システム内でコリジョン データが二重になるのを修正しました。

  • NavMesh 生成プロパティに非常に大きな値を使ったことで起きるエディタのクラッシュを修正しました。

  • メインタスクがデコレーターでブロックされている時の Simple Parallel (単純な並列)ビヘイビア ツリー ノードの実行を修正しました。

  • ビヘイビア ツリーの完全な再起動がルートノードの最初のブランチだけしかチェックしないのを修正しました。

  • 動的アロケーションのある別のコード パスを追加することにより、複雑な外形からの NavMesh ポリゴンの生成を修正しました。

  • (経路探索を使用しないのと同様に)NavMeshを必要としない移動リクエストが、レベル内にNavMesh が存在しないと動作しない問題を修正しました。

  • Recast Nav Mesh インスタンスを、ナビゲーション システムのサポート済みエージェント用に作成したものに置換するために取り除いた時の NavMesh 生成のクラッシュを修正しました。

  • 再開をしようとして、ビヘイビア ツリー タスクがアクションの終了を待って無制限にハングする時に、ポーンのアクションが失敗を通知しない問題を修正しました。

  • ビヘイビア ツリー ノード上での急速なクリック後のデコレーターのランダムな並べ替えを修正しました。

  • 他のアクタがアタッチしているアクタを移動した時のナビゲーション メッシュの更新を修正しました。

  • 環境クエリ システム エディタのメニューに抽象的な EnvQueryContext_BlueprintBase を表示しないようにしました。

  • 実際のゲーム シナリオの外部で使用されることを意図しないので、構築スクリプト中でキャラクタ移動コンポーネント「Set Avoidance Enabled」メソッドを利用できないようにしました。

  • ブループリントで実装されたビヘイビア ツリー デコレーターに対する大幅な修正

    • ブラックボードのキー監視が全く機能しない問題を修正しました。

      • 継続的に状態をチェックするために、Receive Condition Check (状態のチェックを受信)を毎フレーム呼び出すことができるようになりました。

  • ビジュアル ロガーで収集した冗長な情報を修正しました。ビジュアル ロガー ツールにもそれを正しく表示します。

  • ビヘイビア ツリーのデコレーターが、高い優先度のタスクを選択後、アクティブのままになってしまうのを修正しました。

  • 斜面上のパスをたどるゆっくりとした AI エージェントのジッター (2D の到達テストのしきい値を増やすことで) を修正しました。

  • 経路追跡中のダイレクト ナビゲーション パス (直線) の使い方を修正しました。

  • ダイレクト ナビゲーション パスのためのフィルタのアクセスでのクラッシュを修正しました。

オーディオ

  • New:Looping Sound Node でループ回数の設定を追加しました。

    LoopingSoundNode.png

  • New:1回1つのファイルからサラウンド サウンドを作成するためのサポートを追加しました。

    • これは特殊なファイル命名規則を使います。各ファイルの接尾辞でサラウンドのチャンネルを指定します。

    • インポートするサウンド ファイルは、モノラルで各チャンネルは次のいずれかのタグで終わらなければなりません:fl, fr, fc, lf, sl, sr, bl, br

      • Sound Wave (サウンド波形) アセットは、ファイル名からタグを取り除いたもので作成されます。

    • 既存アセットと同じ名前のインポートしたファイルは、そのアセットの追加チャンネルになります。

  • New:オーディオの音量を更新したので、Ambient zone 設定はブループリントでリアルタイムに変更できます。

    AmbientSettings.png

  • New:オーディオ リスナーの位置と回転を変更するブループリント ノードを追加しました。 リスナーをコンポーネントにアタッチするために一度だけ使います (オプションのオフセットありで)。または、特定の位置と回転を設定するために毎フレーム使うこともできます。

  • ボイス チャットのために生成したオーディオ コンポーネントは、VOICE サウンドグループに属するようにしました。

  • 非常に短いサウンドをストリーミングする時に起きるクラッシュを修正しました。

  • Interior Volume (インテリア ボリューム) の内外へ移動した時、音量の補間が不正確になるのを修正しました。

  • サウンド キュー エディタが実行パスを表示しない問題を修正しました。

ランドスケープ

  • New:ランドスケープに、標準のテクスチャの上にワイヤーフレームをレンダリングする、Visualization Mode (ビジュアライゼーション モード)を追加しました。

  • New:ランドスケープとフォーリッジの描画中は、Ctrlキーを押したままにする必要があるオプションを追加しました。

    • これは、編集->エディタ設定 (Editor Preferences) ->ビューポートの下にあります。

  • New:Play in Editor (PIE) になった時のランドスケープでのデータの複製は少なくなりました。これで、全体として PIE 起動時間とメモリ使用量が減りました。

  • New:ランドスケープは、コリジョン データに、Derived Data Cache (DDC) (派生 データ キャッシュ) を使うようになりました。これで、エディタ内でのランドスケープ マップのロード時間が著しく改善しました。

  • New:ブラシのサイズに関わらず同じ量のスムージングをかけるために、ランドスケープのスムージング ツールを改良しました。

  • New:ランドスケープ編集中のパフォーマンスを著しく最適化しました。

  • New:違う色で各 LOD をレンダリングするランドスケープのビジュアライゼーション モードがワイヤーフレーム モードでも動作するようになりました。

  • 複数のストリーミングレベルに渡って適用されるランドスケープ マテリアルを繰り返し適用する時、多くの重複したシェーダーのコンパイル ジョブがキューに入るバグを修正しました。

  • ランドスケープ編集アクションを実行中に少量のメモリー リークを生じるバグを修正しました。

  • ランドスケープ レイヤー無しで侵食ツールを使う時のクラッシュを修正しました。

  • 2 つ以上のランドスケープ アクタを他のストリーミング レベルに移動する時のクラッシュを修正しました。

  • レイヤーがランドスケープ コンポーネント上に描画されない時、ランドスケープ レイヤー サンプル ノードがシェーダーでコンパイル エラーを起こす問題を修正しました。この問題により、ランドスケープの一部の領域がチェッカーボード マテリアルでレンダリングされていました。

  • 隣接コンポーネント間の整合性のない計算によって、ランドスケープ上にクラックが見えるのを修正しました。

  • 現在開いているランドスケープ レベルを、コンテンツ ブラウザを使って複製後、複製したものを開いた時にクラッシュするのを修正しました。

  • ランドスケープのコピー&ペースト ギズモ データを、全く同じレイヤー設定ではない他のランドスケープにペーストする時のクラッシュを修正しました。

  • ランドスケープのスプラインのペーストをアンドゥする時のクラッシュを修正しました。

  • 再サンプリングモード中に、削除済/欠落コンポーネントがあるランドスケープ上でランドスケープ コンポーネントのリサイズ ツールを使用した時のクラッシュを修正しました。

  • ランドスケープの作成をアンドゥした時にランドスケープ傾斜ツール (と潜在的に他のツール)によるクラッシュを修正しました。

  • ランドスケープが回転した時のランドスケープ上の不正確な静的ライティングを修正しました。

  • ミラーしたランドスケープのテクスチャ ストリーミングの問題を修正しました。

  • Ctrl+C を使う時、円ではなく正しく選択した領域をコピーするように、ランドスケープの「コピー」ツールを修正しました。

  • 特殊サイズのブラシを使う時、ブラシが適切にカーソルの中心になるようにランドスケープ コンポーネントのブラシを修正しました。

  • ランドスケープのコピー&ペースト ギズモの境界が正しく計算されておらず、いくつかのカメラの角度で見えなくなるのを修正しました。

  • ランドスケープのコピー&ペースト ギズモが多くの状況で選択されずに、移動ができないのを修正しました。

  • 「all layers (全レイヤー)」モード中のランドスケープのコピー&ペースト ツールを修正しました。

  • スプラインを他のレベルに移動すると、潜在的に大きなオフセットを加えるのを修正しました。

  • ランドスケープ上の透過マテリアルを使用、およびエディタの OpenGL ES2 プレビュー モードを使用する時のシェーダー コンパイル エラーを修正しました。

  • ランドスケープがあるレベルの play-in-editor (エディタ内プレイ) / シミュレートの開始が遅いのを修正しました。

  • ランドスケープ ギズモ アクタの選択時に遅くなるのを修正しました。

  • いくつかのランドスケープに、セクション ベース値が不正なことによって起きる編集カーソルの異常な振る舞いがあるのを修正しました。

  • ブラシサイズが2以上のコンポーネントを使って、カーソルがランドスケープに載った (しかし、ブラシの部分はランドスケープ外) 時に、ランドスケープの「コンポーネントを追加」ツールが動作しないのを修正しました。

  • ランドスケープのコピー&ペースト ツールでのさまざまなクラッシュを修正しました。

  • LOD Falloff を Square Root に設定した時、リリースビルド中のランドスケープの LOD の視覚的な問題を修正しました。

  • ランドスケープ エディタ内で、「clear gizmo data」ボタンを使うと、クリップボードから任意のコピーされたギズモも取り除くようになりました。

    • これは、前にクリアしているにも関わらず、コピー/ペーストツールに入った時に、前のギズモコンテンツが再度現れる問題を修正します。

マチネ

  • 一番上に新規のトラックをインポートする時、既存の複製マチネ グループの上に重ならないのを修正しました。

カスケード

  • New:パーティクル インスタンス パラメータ内のベクトル / ベクトルのランダム パラメータ タイプでの色のプロパティを追加しました。

  • 種になるパーティクル モジュールの変換とアンドゥの時のクラッシュを修正しました。

プロジェクトブラウザ

  • New:新規プロジェクト ウィザード内に表示するテキストのルック&フィールを改良しました。

  • New:新規の C++プロジェクトを作成後、Visual Studio や Xcode が自動的に開くようになりました (エディタの横に)。

ワールド アウトライナー

  • New:ゲーム固有のクラスに基づくアクタは、ソース コードを開くためにワールド アウトライナー内にハイパーリンクを表示するようになりました。

  • 動的にスポーンされるアクタの色を青色から黄色に変更したので、ブループリントと混同することがなくなりました。

  • Transient アクタはエディタ内プレイで可視になりましたが、プレイ中でない場合はまだ不可視です。

  • AIコントローラー (と他のTransientアクタ) が常にアウトライナーから隠されているのを修正しました。

  • ワールド変更時の PIE 中の過剰なメモリー消費を修正しました。

スタティックメッシュ エディタ

  • 継続的なマウス ホイール ズームが、スタティック メッシュ エディタ内で使えるようになりました。

ソース コントロール

  • New:ソース コントロールのサブミット ウィンドウはリサイズできるようになりました。

  • Subversion の URL がエディタをリロード時に「http:」に切り詰められる問題を修正しました。

  • Subversion を使った「checking for assets to check in (チェックインのためのアセットのチェック) 」のステップを高速化しました。

  • リビジョン インデックスではなく、文字列表示のリビジョン表示に更新しました。

ワールド ブラウザ

  • New:LOD マップ生成のためのオプションを追加しました。

    • ランドスケープ メッシュのプロキシ マテリアルのための Metallic/Roughness/Specular テクスチャのエクスポートのサポート

    • ランドスケープ メッシュのプロキシ テクスチャ内へフォーリッジをベイクするオプション

    • 生成したアセットを別のパッケージに保存するオプション

    • ランドスケープ メッシュプロキシの生成時、使用するランドスケープのLODレベルを選択するオプション

  • New:Tiled Landscape Import (タイル化されたランドスケープのインポート) ダイアログボックスの改良

    • マテリアルのプロパティはマテリアル インスタンスを受け取るようになりました。

    • タイル化ウェイトマップのインポートは PNG 画像をサポートするようになりました。

    • エラー メッセージは入力データ付きでエラーを説明するようになりました。

  • New:ワールド合成が有効にできない時 (例 マップがまだ保存されていないなど)、黙って落ちるのではなく、なぜ有効にできないのかを説明するメッセージが表示されます。

  • New:ワールド合成は、エディタ モード時、現在のカメラ位置もミニマップに描画します。

  • 新規のワールド合成マップを作成した時、ワールド原点のリベースはデフォルトでは無効になっています。

  • LOD マップ生成は、正しい色空間で、ランドスケープの基本色のテクスチャをエクスポートするようになりました。

フォーリッジ

  • New:多数のインスタンスで作業する時のフォーリッジ ツールのパフォーマンスを著しく最適化しました。

  • New:エディタのみのデータの複製を避ける事で、多数のフォーリッジがあるマップの Play in Editor モードでのプレイ開始時間を短縮しました。

  • フォーリッジ タイプでスタティック メッシュを変更後、フォーリッジの UI に古い設定が表示されていた問題を修正しました。

  • 共有フォーリッジ設定オブジェクトに加えた変更をレベル内の既存インスタンスに対して適用する問題を修正しました。

    • コリジョンやライティング プロパティの修正などの共有フォーリッジ設定オブジェクトを変更後、プロパティが変更時に開いていないレベルに変更が適用されませんでした。

    • 共有フォーリッジ設定に加えた変更を、変更時に開いていないレベルのインスタンスに適用するようになりました。

  • World Position Offset マテリアルを使ったフォーリッジ インスタンス上でフォーリッジ選択ツールを使う場合、黄色の線が見えるなどのレンダリングの破損を修正しました。

  • フォーリッジ上の静的ライティングを無効にできるように修正しました。

    • 正しく動作しない「Light Map Resolution」(ライトマップ解像度) を 0 に上書きする必要がなくなりました。

    • これは別の「Enable Static Lighting」チェック ボックスに移りました。

  • BSP上にペイントされたフォーリッジは、生成された BSP メッシュではなく、ブラシ アクタに関連付けられるようになりました。

    • インスタンスは、BSP ブラシを移動する時、移動するようになりました。

    • これで、BSP上にペイントされたインスタンスがリビルド後に現れなくなる問題も修正されます。

      • これは新規にペイントされたフォーリッジのみに適用されることに注意してください。既存のインスタンスは、ブラシアクタの代わりにまだBSPメッシュに関連付けられています。既存のインスタンスを修正するには、投げ縄ツールでそれを選択してBSP上に移動し、床に再度スナップするためにEndキーを押してください。

  • フォーリッジの「Light Map Resolution」のオーバーライドはデフォルトで 8 になりました。以前のデフォルト値の 32 は、メモリー使用とビルド時間の両面で実用的ではなかったからです。

Paper2D:

  • New:最適なブレンド モード (Opaque、Masked、Translucent) を選択するために、新規のスプライトを作成した時、テクスチャを解析する Paper2D プラグイン設定を追加しました。

    OpaqueMaskedTranslucent.png 上のスプライトは、それぞれ Opaque、Masked、Translucent (不透明、マスク付き、透過) です

  • New:タイルセット ビューア内の左上の選択されたタイルにタイル インデックス プレビューを追加しました。

    • これは、タイルマップをコードやブループリントから構築する時、文字のタイル情報構造体を作るのに便利です。

  • New:タイルマップ エディタの背景色を変更し、アセットごとの基礎に保存できるようになりました。

  • New:タイルマップ エディタは、ビューポート内に、直接現在のツール (選択したタイルのインクを含む) を可視化するようになりました。

  • New:タイルセットエディタとビューアの背景色は、アセット単位で変更し保存できるようになりました。

  • New:タイルマップ コンポーネントは、メッシュ コンポーネントから派生し、インスタンスごとにマテリアルをオーバーライドできるようになりました。

  • New:タイルマップが完全に Isometric Diamond 投影モードをサポートするようになりました。

  • New:Isometric Staggered (スタガ (ジグザグ) 配置された菱型) または Hexagonal (六角形)の投影モードのタイルマップは、Tiled からインポートできますが、編集はまだできません。

  • New:* New: タイルセット アセットは、コンテンツ ブラウザのコンテキスト メニュー内のコマンドを使って、テクスチャ アセットから作成できるようになりました。

  • New:タイルマップのレンダリングにドロー コールのバッチ化のサポートが追加されたので、大きなタイルマップのレンダリング パフォーマンスが著しく向上しました。

  • New:下のレイヤーにタイルマップ レイヤーをマージするサポートが追加されました (コマンドはレイヤーブラウザ内のレイヤー アイテムのコンテキスト メニューにあります)。

  • New:スプライト エディタ内で、既存のエッジの上に頂点を追加できるようにしました (Shift+クリック で、既存のプロキシを優先的に選択するのではなく、常に追加します)。

  • New:スプライト シートに、より良い順序付けを生成することによって、スプライトを抽出する動作を改良しました (行とそれぞれに明示的に必要な数の接尾辞を付けた名前によって矩形をソートするようになりました)。

  • New:コメントを改良し、タイルマップ アセットとコンポーネントからブループリントへさまざまなプロパティを公開するようにしました。

  • New:タイルマップ エディタは、タイルマップに対して最後に選択されたタイルセットを保持するようになり、タイルマップ エディタを再び開くとデフォルトでその保持されているタイルセットになるようにしました。

  • New:タイルマップ エディタは、新規のタイルを選択した時、消しゴムモードならばペイント ブラシ モードに切り換えるようになりました。

  • New:タイルマップアセットは、データ アセットの下にリストするのではなく、直接作成できるようになり、作成時に新規の空のレイヤーを常に含むようになりました。

  • New:スプライト エディタとフリップ ブック エディタ内の詳細パネルのために、検索バーを追加しました。

  • スプライトやフリップ ブック、タイルマップのエディタ内のグリッド レンダリングは、デフォルトでオフになりましたが、ツールバーから有効にすることができます。

  • タイルマップのインポートは、最初にインポートされたタイルセットを選択セットとして覚えているので、即座に編集可能になりました。

  • 「early access preview (アーリーアクセス プレビュー) 」ウォーター マークをスプライト エディタから取り除きました。

  • タイルマップおよび関連アセットは、設定を有効にしなくても、任意のプロジェクトで作成できるようになりました。

  • DoesSocketExist インターフェースのサポートをフリップブックとスプライト コンポーネントに追加しました。

  • フリップブックのアセット タイプの色をシアンでなく緑色にしたので、スプライト アセットと区別できるようになりました。

  • スプライトのコリジョン ジオメトリ タイプを、コリジョンジオメトリで無視される値である Diced に設定できないようにするために、プロパティに制限を追加しました。

  • タイルマップへ新規のレイヤーを追加すると、常にレイヤーリストの最後に追加されるのではなく、選択したものに対して上か下にレイヤーを挿入するようになりました。

  • タイルマップのアセット タイプの色を金色にし、タイルセットをオレンジ色にしたので、スプライト アセットと競合しなくなりました。

  • タイルセットをプレビューするビューポートのためのスムーズなパンニングを妨げる問題を修正しました。

  • 正射影のタイルマップをレンダリングする時の、間違った位置に現れるという問題を修正しました (1タイル分のずれ)。

  • 間違ってタイルマップ コンポーネントがカリングされないように、適切にレイヤー深度を考慮に入れるために、タイルマップ コンポーネントの境界ボリュームを修正しました。

  • フリップブックのサムネイルのプレビュー境界のフレームからフレームへのズームイン/ズームアウトを修正しました (すべてのフレームに共通のレンダリング境界を使うようになりました)。

  • 編集に一貫性がないような感じを与えるタイルマップ編集中の intersection コードの正しくない数式を修正しました。

  • マップレイヤーの可視性のトグルがすぐに反映されないのを修正しました。

  • タイルマップの編集モードのカーソル プレビューでの Z ファイティングを修正しました。

  • タイルマップ編集モードで、インクが選択されていない時に表示されるメッセージを改良しました。

  • レイヤーがない時、タイルマップ内で選択したレイヤーのためのグリッド線を描画しないようにしました。

  • タイルマップ編集モードでピボット クロスを描画しないようにしました。

  • タイルセットからのタイルの選択は、マウス押下後、すぐに反映されるようになり、ドラッグなしでクリックとリリースで期待通りに、1つのタイルを選択します。

  • 多くのスプライト インスタンスがすでにレベルにある時のスプライトのインポートの速度を著しく最適化しました (いくつかのテストケースで、10 分から 18 秒になりました)。

  • タイルマップ レイヤーを編集すると、そのレイヤーを使用する配置されているタイルマップ コンポーネントを再インスタンス化し、変更をすぐに反映するようになりました。

  • タイル選択の改良

    • タイル選択はタイルセットの右と下のエッジ上で動作するようになりました。

    • アクティブなタイルセットを変更すると、選択のプレビューが適切に更新されるようになりました。

  • タイルマップ編集モードは、タイルマップ上で「Enter Edit Mode」(編集モードへ移動)を押した時のみアクティベートされ、違うアクタの選択や別のモードへの切り替えによって終了できます。選択に依存するので、常に可視であるエディタのモード リスト中に表示されなくなりました。

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

  • New:入力コンポーネントとアクタは、Input Priority (入力優先度)の値を指定できるようになりました。これで、入力を扱う順序を細かく制御できるようになります。

    • C++ については、一般的にプレーヤー コントローラーの入力スタックにプッシュする前に、直接入力コンポーネントに優先度を設定することによって処理されます。

    • ブループリントについては、これはデフォルトで設定されています。

    • これは、動的に入力を有効にしたアクタ/コンポーネントだけに適用されることに注意してください。自動的に有効になるポーンやコントローラ、レベル スクリプト ブループリントの入力を処理する順序には影響を与えません。

  • New:アクターの「Is Tick Enabled」は、ブループリントから呼び出せるようになりました。

  • New:アクタのティック ププロパティ「Start with Tick Enabled」、「Tick Even When Paused」、「Allow Tick On Dedicated Server」は、ブループリントのデフォルトを通して制御可能になりました。

  • New:ウェブ ブラウザ ウィジットに、ページが最初にレンダリングされるまでに表示されるロード中のスピナーを追加しました。

  • New:ゲームのデスクトップ ウィンドウ タイトル表示を決めるための、新規のプロジェクト設定が追加されました。

  • New:スプライン メッシュ アクタをレベルに直接配置することができるようになりました。これで、メッシュをビューポートで編集可能な 3D 曲線に沿って押し出すことができます!

  • New:AIポーン (AI コントローラー クラスのセットと一緒に) が自動的に所有されている時のための精密な制御を追加しました。これは、新規の「Auto Possess AI」列挙で実行されます: レベルの開始時に所有、実行時にスポーンする時に所有の両方かどちらもなしになります。

    • 以前は、デフォルト (でしかも唯一) の振る舞いが、レベル開始時の所有でした。

    • わかりやすくするために、既存の「Auto Possess」を「Auto Possess Player」に名前変更して、新規の AI フラグと区別するようにしました。

  • New:Get Materials 関数を SkeletalMeshComponent と StaticMeshComponent に追加したので、コンポーネントの Get Material (マテリアルを取得) 関数と矛盾なく動作するようになりました。

  • New:カメラの Spring Arm (バネによるアーム) コンポーネントに、Camera Lag Max Distance (カメラのラグの最大距離) オプションを追加しました。 ゼロでない値を設定すると、対象はこの距離よりも遅れないようになります。

    • ラグの対象と現在位置のデバッグ時の可視化のために「Draw Debug Lag Markers」(ラグ マーカーを描画) を追加しました。可視化によって、距離がクランプされた時に色が変わります。

    • 参考ビデオ: カメラの Spring Arm コンポーネントの改良

  • New:カメラの Spring Arm コンポーネントに、様々なフレームレートに対応するために、サブステップを追加しました。

  • New:Text Render コンポーネントで、実際の改行文字を使っての複数行のテキストをサポートしました。これは、テキストフィールドに、Ctrl+Enter を使って入力できます。

  • New:CEF3 に Win32 ライブラリを追加したので、Win32 ビルドのウェブブラウザ プロジェクトで使えるようになりました。

  • New: いくつかのゲームパッド制御の UI の表示名をわかり易いものに変更しました。

  • New:Display All Location (すべての位置を表示) と Display All Rotation (すべての回転を表示) を、アクタに加えてコンポーネントでもサポートしました。

  • New:キャラクタ移動コンポーネントの「Disable Movement」(移動を無効) ノードをブループリントで使えるようにしました。

  • New:スプライン メッシュ コンポーネントの「Spline Up Dir」(スプラインの上の向き)プロパティをブループリントで使えるようにしました。

  • New:オーバーラップとヒット イベントのコメントを、必要なフラグなど、より多くの情報を追加するように改良しました。

  • New:新規プロジェクト ダイアログの情報を改良しました。プロジェクトは任意のテンプレート内にどのようなタイプやアセットがあるかを詳しく説明するようになりました。

  • New:多くのフレームワーク クラスのインライン ドキュメントを改良しました。

  • New:移動コンポーネントは、プリミティブ コンポーネントを更新することに制限されるのではなく、シーン コンポーネントと一緒に動作するようになりました。

    • 「Updated Component」(更新されたコンポーネント) を参照する既存のブリープリントは、変数のリンクがプリミティブコンポーネントまたは子のピンに接続されているなら、ロード時に「Updated Primitive」(更新されたプリミティブ)を使うように変換されました。

    • Updated Primitive 関数を移動コンポーネントに追加しました。これは、Primitive Component としてキャストされた Updated Component のバージョンです。

  • New:ブループリントで構築したコンポーネントにアタッチしたネイティブ コンポーネントは、再構築を通してアタッチメントを維持するようになりました。

  • New:スプライン コンポーネントに、選択/非選択のスプライン セグメントのためのスプラインのポイント タイプのget (取得) やset (設定)、エディタ色の設定をするためのノードを追加しました。

  • New:プレーヤー コントローラーの「Client Set HUD」(クライアントに HUD を設定) をブループリントで使えるようにしました。

  • New:ドイツ語やフランス語、スペイン語のキーボード レイアウトのデフォルトのコンソール キーに、それぞれ ^、20を追加しました。

  • New:コンテンツ ブラウザのアセットにフォーカスできるチュートリアルのサポートを追加しました。

  • 「Always Loaded」(常にロード)サブレベルは、ゲームプレイのコードが「Player Start」(プレーヤーの開始地点)の地点に行こうとする前に、完全にロードされるようになりました。

  • シミュレーション中の「Possess」ボタンは、インデックスを0にした「Auto Possess Player」でワールド中の任意のポーンを使うようになりました。

    • 設定されていない場合は、「Possess」はポーンを通常どおりスポーンし、Player Start がなければ、カメラの位置でスポーンされます。

  • New:アクタの「Set Scale 3D」関数は、ブループリント スクリプトで使えるようになりました。

  • ビューポート コントールのポップアップで透過のサポートを追加しました。

  • ローカル プレーヤーからの距離に基づく自動ワールド原点リベースは、XY平面でのみ原点をシフトするようになりました。

  • ブループリントで作成したコンポーネントは、アンドゥバッファによって参照されなくなり、ガーベッジ コレクションの対象ではなくなりました。

  • 「Owner No See」 と 「Only Owner See」は、単にデフォルトではなく、インスタンス中で編集可能になりました。

  • HUD 描画関数はデフォルトのアルファ値を0 (透過) の代わりに1 (不透明) を使うように変更になりました。

  • ゲームモード中の「Player State Class」変数は、「Advanced」にならないように変更になりました。

  • AI コントローラー クラスはないが、キャラクタ移動コンポーネントで「Run Physics With No Controller」が true に設定された、レベル中に配置されたキャラクタは、デフォルトの移動モードを初期化するようになりました。

    • 以前は、このキャラクタは、移動モードが「None」に初期化されていたので、空中に浮遊しました。

  • End Overlap はアクタが破棄された時だけでなく、それが属しているレベルがストリームアウトされることにより、ワールドから削除される時も呼び出されるようになりました。

  • あるチュートリアルのステージから次へ移動する時の主なストールを修正しました。

  • カメラでFOVを0にセットした時のゼロ除算のクラッシュを修正しまた。

  • プレーヤーをスポーンする前に、サブレベルが必ずしも完全にロードされないのを修正しました。

  • ムービー付きのロードはビューポート無しのフレームのためにクラッシュするとエッジケースを修正しました。

  • 初めて設定ファイルをチェックアウトする時、コリジョン プロファイルが正しく表示されない問題を修正しました。

  • 破棄されたルートでないコンポーネント上に立っている時のキャラクタの移動を修正しました。以前は、原点付近にテレポートしました。

  • 物理シミュレーションされたネットワーク キャラクタのメッシュの位置が不正に変化するキャラクタの移動を修正しました。

  • ライフスパン カウンタの期限前にストリーミングを通してワールドから取り除かれる、ライフスパンを持つアクタによるクラッシュを修正しました。

  • マチネ シーケンスが、シーケンスを早めに停止してしまうイベントを呼び出した時のクラッシュを修正しました。

  • クライアントで、Set Game Paused (ゲームを一時停止)を呼び出す時のクラッシュを修正しました。

  • デフォルトのタッチ インターフェースが、プロジェクトの入力設定でNoneに設定され、タッチ インターフェースがアクティベートされた時のクラッシュを修正しました。

  • エミッタを可視にすることを含む、前もって隠されたストリーミング レベルを作成する時のクラッシュを修正しました。

  • 不正なクラスを Create Canvas Render Target 2D 関数に渡す時のクラッシュを修正しました。

    • プリミティブ コンポーネントでないシーン コンポーネントにアタッチされたデカールをスポーンする時のクラッシュを修正しました。

  • シームレス トラベルを使う時、エディタ内プレイ中にレベルのリスタートを使った時のクラッシュを修正しました。

  • エディタ内プレイ時に、コンソールが立ち上がる時のフォーカスの問題を修正しました。

  • トグルが正しくないビューポート コントロールのポップアップの問題を修正しました。

  • ウェブブラウザがMac上でキーボードに応答しない問題を修正しました。

  • 「Run Physics With No Controller」(コントローラーなしで物理を実行) が有効で、プレーヤーによって所有されているネットワーク クライアントが不正に移動するのを修正しました。

    • クライアントの移動を受信した時と同様に、サーバーは移動コードをローカルで走らせているので、更新でジッターが生じているクライアントに補正を送ります。

  • PIE中に、スタンドアロンのマップからワールド コンポジション マップへ移動後にたまに起きるクラッシュを修正しました。

  • フォーカスを確実にチェックしないチュートリアルノードを修正しました。

  • close ハンドラーのバグが原因で、チュートリアルのウェルカム バブルが絶えず表示されるのを修正しました。

  • 新規にスポーンしたアクタがコリジョンを表示しないという「Collision」(衝突)表示モードのバグを修正しました。

  • 特定のタイプのクラスのみでしか動作しない「expose on spawn」プロパティのためのツールチップを修正しました。

  • フォース フィードバックの振る舞いが様々なプラットフォームで同じようになりました。

    • PS4 は、大と小のモーターの平均の代わりに最大値を使うようになりました。

    • XInput (Xbox OneとPC)は、右の大と左の小を無視していた代わりに、大と小のモーターの最大値を使うようになりました。

  • ツールチップで説明しているように、Auto Possess Player がポーンで設定されているなら、ポーンの Auto Possess AI オプションを正しく無視するようになりました。

  • エディタ内プレイのワールド名の接頭辞は、マップ名が妥当かどうかをテストする時に、正しく分離されるようになりました。

  • 「UI」コリジョンプロファイルから「Weapon」チャンネルの使用を取り除きしました。

  • エンジンは、ゲームプレイを開始する前にプレーヤーのスポーン位置に依存したすべてのサブレベルを完全にロードするようになりました。

  • ゲーム中で静的な可動性を持つコンポーネントを移動しようとした時、警告がメッセージログに追加され、PIE 終了後に見れるようになりました。

物理

  • New:Physical Constraint (物理的制約)の角度がブループリントのスクリプトで読み込めるようになりました。

  • New:力や撃力をアクタが所有するすべてのコンポーネントで無視できるように、「Ignore Owning Actor」(所有するアクタを無視する)オプションを Radial Force Component に追加しました。

  • New:「Locked Axis」オプションを使用する物理ボディのために、「Lock Translation」(移動をロック)と「Lock Rotation」(回転をロック)フラグを新たに追加しました。

    • これで、移動や回転をロックするかどうかを独立して制御できます。

  • New:最適化を追加したので、PhysX は自動的にラグドールに「aggregates」(集合)を使います。aggregation のしきい値は、プロジェクト設定の物理セクション内にあります。

  • New:Set Mass Scale 関数と Set All Mass Scale 関数をプリミティブ コンポーネントに追加し (ブループリントとC++の両方)、物理で使われる質量のスケーリングを変更できるようにしました。

  • New:コンポーネントごとにシーン クエリをフィルターすることができるようになりました!

  • New:カスタムの力を一段と正確に適用できるようにサブステップ単位のシミュレーションのコールバックを登録できるようになりました。

  • New:コリジョン アナライザー内の ID カラムで昇順又は降順にソートできるようになりました。

  • New:Destructible (被破壊) コンポーネントは実行時に重力を有効または無効にできるようになりました。

  • New:「Use Complex As Simple」が設定されているスタティックメッシュは、「show collision」を使った時、メッシュに重ねてワイヤーフレームが描画されます。

    ComplexAsSimple.png

  • New:コンボボックスでコリジョン プロファイルを選択した時、ツールチップにそれぞれのプロファイルの説明が表示されるようになりました。

  • コリジョン設定は、ゲーム コリジョン チャンネルだけを表示し、編集できないのでエンジン コリジョン チャンネルは表示しないようになりました。

  • エディタ外部での描画制限を無効にしました (限られたマテリアルはロードされなかったため、いずれにしろ動作していませんでした)。

  • カプセル コンポーネントの高さと半径の編集は、常に高さでクランプするのではなく、編集した値でクランプするようになりました。

    • また、カプセルの半分の高さはカプセルの半径より大きくなくてはならないという、ことを明確にしたコメントに変更しました。

  • コリジョンの描画がスタティック メッシュのコリジョン編集時に正しく更新されないいくつかのバグを修正しました。

  • 物理コリジョンの描画コードを修正し、ソリッド ボックスをレンダリングする時に、プレーヤー コリジョン ビュー モード内でアセットのフリッカを抑えて、与えられたスケーリング係数が適切に適用されるようにしました。

  • 物理アセットのルートボディがメッシュのルート ボーンに一致せず、スケールが1より小さい時、メッシュが地面をすり抜けて落ちるというバグを修正しました。

  • 保存後にプロジェクトを再オープンした時に布 (クロス) アセットの値が 0 にリセットされるバグを修正しました。

  • エディタを閉じたり、布のプロパティを変更後アンドゥした時、布アセットの解放でクラッシュするのを修正しました。

  • 結合したオブジェクトがガーベッジ コレクションされる時に起きる切り離しのコード内部のクラッシュを修正しました。

  • 車両マネージャで使われるマテリアル数が大きすぎる時のクラッシュを修正しました。

  • Continuous Collision Detection (連続したコリジョン検知)を有効にしたアクタがシミュレーションしない時に起きるクラッシュを修正しました。

  • 集合を作るのに充分なボディがあるラグドールの自由度をロックする時のクラッシュを修正しました。

  • 遅延物理コマンドがシーンが解放されるまで実行されなくてクラッシュするのを修正しました。

プラットフォーム

  • New:コードとコンテンツ プロジェクトのための Windows XP のサポート

    • Windowsのプロジェクト設定内で「Minimum OS Version」(最低OSバージョン)で有効にできます。

  • New:エディタ内クックは、関連するini設定の変更に基づいて、クックされたコンテンツを無効にするようになりました。

  • New:Housekeeping - ファイル処理に使う、いくつかの中間の設定ファイルを中間ディレクトリに移動しました。

  • New:Cook on the Side (裏でクック)を使った時のエディタのパフォーマンスを改善しました。

  • New:「Cook on the Side」(別々のコマンドレットの代わりに、エディタがその場でクックするサーバーとして動作する) は、experimental(実験的)オプションが有効であればLaunch On を使う時に使われます。

  • Windows 上で DirectX を使う時、フルスクリーンの解像度の変更が動作しないのを修正しました。

  • 利用可能な OpenGL デスクトップ プラットフォームで解像度がソートされるようになりました。

  • プロジェクトがオープニング ムービーを持たない場合にクラッシュする問題を修正しました。

  • SDK がまだインストールされていない時、GitHUB リリース内の Android と iOS プラットフォームを対象とするモジュールのビルドでの問題を修正しました。

  • いくつかのケースでクック オン ザ フライがシェーダーをコンパイルできないのを修正しました。

  • プラットフォーム ソースを解凍後、生成したプロジェクトファイルに、XboxOne/Playstation 4 ターゲットがないのを修正しました。UnrealBuildTool は、新規ファイルの存在を反映してリビルドしませんでした。

  • デバイスが適切に検出できない稀な問題を修正しました。この問題は一般的ですが、実際にはどのように検出されるかのタイミングに起因し、PS4 と XboxOne しか影響していませんでした。

  • 分割した画面に渡って、間でジオメトリがリークするという、分割した画面のレンダリングエラーを修正しました。

  • PS4 SDK 2.00だけをインストールしたユーザーのためのWindowsの DualShock 入力プラグインを修正しました。

  • デフォルトのマテリアルがクックされたエディタなしビルドで表示されるという、2つのクック中のバグを修正しました。

  • テクスチャをキャッシュ中の時のエディタパフォーマンスを改善しました。

  • マージされたクックコードのパスはデフォルトで有効になりました。古いクックコード パスは、コマンドライン オプションの「-oldcook」を使って、まだ使うことができます。

  • クッカ起動時間のパフォーマンスを改善しました。

Android
  • New:Android は、クック オン ザ フライ (その場でクック)でストリーミングしないモードをサポートするようになりました。Android はエディタから cook on the side (裏でクック) 実験的オプションもサポートするようになりました。

  • New:アプリケーションのライフ サイクル イベントが Android OS 上で動作するようになりました。ブループリント内でアプリケーションを観察するアプリケーションのライフ サイクル コンポーネントを使うことができます。

  • New:Android のアプリ内課金サポートを追加しました。iOS と同じブループリント フレームワークで、商品購入を開始できるようになり、該当する場合は、 success/failure (成功/失敗) のデリゲートをレシート付きで返すようになりました。

  • New:いくつかの Android デバイスの開始時のロード時間を改善しました。

  • New:プロジェクト設定で、完全に Android パッケージ作成を制御できるようになりました (AndroidManifest.xml と SigningConfig.xml は使わなくなりました)。 Androidpackaging.png

    • Android のプロジェクト設定を見直して、必要に応じて変更してください。

    • AndroidManifest.xml は、パッケージするたびに毎回再生成されます (プロジェクトに保存されている元のファイルは安全です。それは使いません)。

    • すべての関連した設定を、チームで共有するためにチェックインする .ini ファイルに保存するようになりました。

    • SigningConfig.xml から読み出される設定は、同様に .ini ファイルに保存するようになりました (また、パッケージング中に取り除かれます)。

    • 「Package .pak in APK」の設定は、ProjectSettings (プロジェクト設定)へ移したので、「Package game data inside .apk」と呼ばれるようになりました。

  • Java Native Interface と AndroidManifest.xml 変更でのフォース フィードバック機能に関するいくつかの問題を修正しました。

  • Launch On メニュー内で、テクスチャ タイプを取り除き、接続されたデバイスに基づいて最適なタイプを使います。フルパッケージではなく、強制的にテクスチャ フォーマットを指定したいなら、ゲーム ランチャー タブを使ってください (これはもう実験的ではありません)。

  • デバイスのシリアル番号をメニューに追加したので、同じタイプの複数のデバイスを持っているなら、両方共表示されます。

  • ターゲットにしたい Android SDK と NDK のバージョンをプロジェクト設定で指定できるようになりました。推奨はSDKは「最新」、NDKは「19」です。

  • 初期化とログイン中に GooglePlay ゲームが潜在的にフリーズするのを修正し、早期のタッチイベントのための戻り値のコードの問題を修正しました。

  • いくつかの国際化文字がレンダリングされないのを修正しました。

  • Java Native Interface (JNI) 呼び出しと ART Android ランタイムとの互換性に関するさまざまな問題を修正しました。

  • モバイル デバイスでランドスケープがあるレベルをローンチするために、エディタを使った時のクラッシュを修正しました。

  • HTC One での不正なランドスケープ(横向き)方向の画面解像度を指定する BaseEditorUserSettings.ini の タイプミスを修正しました。

  • Androidのためのパッケージング中に存在しないディレクトリを削除しようとするのを修正しました。

  • バッチファイルを正しくインストールし、外部のストレージのパスを見つけるために、適切な ADB パスとオプションのデバイスのシリアル番号を使います。

  • 妥当 (8x8 より大きい) であれば Android のウィンドウ解像度だけをキャッシュするようになりました

HTML5
  • New:HTML5 SDK の要件を緩和しました。HTML5は、最低限必要な SDK バージョンより上の任意の SD バージョンでコンパイルできます。

  • New:HTML5 SDK のパスの、ini ファイルからの読み出しサポートを追加しました。これで、HTML5 SDK をセットアップする任意の環境変数を使う必要性を避けることができます。

  • New:HTML5でのゲームパッドのサポートを有効にしました。

  • New:HTML5 での SDL2 を有効にしました。

  • HTML5 はパッケージングを .pak ファイルを通して実行するようになり、圧縮されます。

  • Mac上の HTML5 でのクック オンザフライ の問題を修正しました。

  • HTML内で扱う GLSL 文字列のエラーを修正しました。

  • Slate (スレート) カーソルのヒット検出が、HTML5 では正しく再スケーリングされないのを修正しました。

  • HTML5 における浮動小数点レンダリング問題を修正しました。

  • HTML5 でのリサイズ問題を修正しました。

  • HTML5がプラグインをコンパイル中に不正にライブラリをリンクするのを修正しました。

iOS
  • New: iOS プロジェクトの設定は、すべてプロジェクト設定を通して設定するようになりました。この設定はプロジェクトのパッケージング中に使用され、.plist を生成します。 iOSprojectsettings.png

    • iOSプロジェクトの設定を見直して 、必要であれば変更してください。カスタマイズされた .plist 設定は持ってこれません。

    • 必要とする特殊な設定があれば「Extra PList Data」セクションで追加できます。

  • New:Launch On 機能を利用する時、イテレーション時間は改善されました。Launch On は、エディタ内クックと Incremental Deploy (インクリメンタル デプロイ) を使用し、最初のデプロイ後のイテレーション時間を減らすようになりました。これは最後にLaunch On を使用して以来のコンテンツの変更量に応じて、デバイスへのデプロイ時間を 10〜15 秒短縮させます。

  • New:iOSプロジェクト設定内にプロビジョニングと証明書ビューアを追加しました。このビューは、現在インストールされているプロビジョニングと証明書を表示し、有効なもの(緑色)か期限切れかを区別し、コードの署名のために選択しているプロビジョニングと証明書も示しています。

    • 便宜上、証明書の期限満了日を表示します。

    • プロビジョニングの状態メッセージは、プロビジョニングの現在の状態と共にコード署名に選択されていない理由を表示します。

  • New:Metal が有効なデバイスで、コンピュート シェーダーのコンパイルのサポートを追加しました。

  • New:iOS上のMetalにASTCテクスチャのサポートを追加しました (Androidも近日)。iOSプロジェクト設定で有効にできます (PVRTC と ASTC の両方または片方でクックできます)。

  • New:Metal のためのディファード(デスクトップ)レンダラーの早期実装を追加しました (A8X デバイス向け)。これは、コードで MetalMRTとして知られています。iOS プロジェクト設定で利用可能です(GitHub/Perforce ユーザー向け)。

  • New:Metal を使うデバイスは、ハードウエア アクセラレーションを使ったスタティック インスタンス メッシュでレンダリングします。

  • New:プロジェクトのコンパイル設定は、IOSEngine.ini で設定するようになりました。この機能は実験的で、ファイルをマニュアルで作成したり編集したりする時だけに使えます。このファイルは、バイナリ リリースではコンテンツのみのプロジェクトには影響しません。

  • iPad Air 2 の DeviceProfile を BaseDeviceProfiles.ini に追加しました。

  • iOS ゲームは実行ごとに新規のログを作成するのではなく、毎回ゲームログを上書きするようになりました。

  • 適切な修正が終わるまで、dsym 生成ボタンをプロジェクト ランチャーから除去しました。

  • エンジンによるデフォルトの最小 iOS バージョンのサポートは、iOS 6.1 です (iOSプロジェクト設定で必要に応じて変更可能です)。

  • パッケージング時に、.ini ファイルの特定行を取り除くことをサポートしました。パッケージング中に使われるパスワードがある行を除去するのに使います。現在は取り除くキーを追加するのに、UAT コードの修正が必要です。

  • コンテンツのみのプロジェクトがバイナリ リリースでビルドできないので、バイナリ リリースでのアーキテクチャ選択は無効になりました。

  • デバッグ シンボルは、バイナリ リリースの再配布ライブラリに含まれなくなりました。これはバイナリ リリースの全体のライブラリのサイズを減らします。

  • 画面をロックした時の iOS 8 のオーディオのクラッシュを修正しました。

  • 実行サイズがPC上でコードを署名中に更新されない問題を修正しました。これで、IPAをリリースのために App Store へアップロードする時の問題は修正されます。

  • 別のインポートを実行中に、証明書やモバイル プロビジョニングをインポートする時に、たまにクラッシュするのを修正しました。

  • iOS 6 上のローンチ イメージの向きやすべてのiOSデバイス上でのランドスケープ イメージの問題を修正しました。

  • プロビジョニングや証明書をインポートする時のクラッシュを修正しました。

  • iOS 6 上でヘッドフォンを抜き差しする時のクラッシュを修正しました。

  • Landscape Left (横で左)がなくて、Landscape Right (横で右)が選択される時のレンダリングの問題を修正しました。

  • エディタ内部からモバイル デバイス上でランドスケープを含むレベルをローンチする時のクラッシュを修正しました。

  • iOS 6 または iOS 7 を使って、モバイル コンテンツのスケーリング係数を 0 に設定した時のクラッシュを修正しました。

  • Metal を利用している時にゲームがバックグラウンドに入った時のクラッシュを修正しました。null の描画対象が OS によって返され、クラッシュしていました。

  • iOS デバイス上で2 番めのキーボード ウィジットを使う時のクラッシュを修正しました。

  • Mac上で Launch On を利用し、デバイス上のゲームを閉じる時のエラーメッセージを修正しました。この自動化ツールは、デバイス上でアプリケーションをローンチする別の(速い)機構を利用するようになりました。

  • iOSデバイスで Cook on the Fly (その場でクック)サーバーを利用する時、自動化ツールで無限ループするのを修正しました。

  • 追加のダイアログがあればエディタ ウィンドウの後ろに表示されるという、エディタから証明書とプロビジョニングをインポートする時の問題を修正しました。

  • Windows上での「fat binaries」(1つのバイナリ中に32ビットと64ビットアーキテクチャ)の署名を修正しました。

  • コードベースの iOS プロジェクトを PC 上でパッケージにしようとする時に二重にメッセージが表示される問題を修正しました。

  • エディタから署名証明書をインポートしようとする時にパスワードダイアログが表示されない問題を修正しました。

  • プロビジョニングを同じものにインポートしようとする場合に削除されてしまう問題を修正しました。

  • Mac 上のビルドで不適切な SDK がデフォルトでビルド コマンドに渡される問題を修正しました。使用したい SDK を明示的に渡すようになりました。

  • ステージング処理で、特定のカルチャー(例 トルコ語)でインストールしたPC上のファイル名がカルチャーに依存した小文字の名前にならない問題を修正しました。

  • Xcodeプロジェクトの生成で、重複したスキーム名が作成される問題を修正しました。

  • Xcodeプロジェクトの生成で、プロジェクトファイルを含むフォルダ名がゲームの名前と同じものを必要とするのを修正しました。フォルダ名は好きな名前にすることができるようになりました。

  • iOSプロジェクト設定ダイアログ内の歪んだ success/failure (成功/失敗)イメージを修正しました。

  • iOS上での向きの実装の問題を修正しました。単一の向きが指定できるようになり、upside down portrait (縦で上下逆)の向きも適切にサポートされました。

  • 使用する正しいプロビジョニングを見つけるためのプロビジョニングのテスト順を修正しました。次の順序を使うようになりました: bundle identifierが一致、ワイルドカードのidentifierで会社名が一致、会社名のワイルドカード。

    • iPhone 4 上で、スプラッシュ画面が歪む問題を修正しました。

  • Mac上で、署名証明書の検出を改良しました。

  • Metal内でメッシュ エミッタでのレンダリングのアーティファクトを修正しました。

  • オープニングムービーは、Metalグラフィックスオプションを利用時でも適切にプレイできるようになりました。

  • Metal シェーダーで他のプラットフォームと同じように NaN を扱うために clamp/saturate の精度をを正確なバージョンに変更しました。

  • 前のバージョンはもちろん iTunes 12.1 でも動作するように、IPhonePackagerを更新しました。

Linux
  • New:エンジンは XDG ドキュメントディレクトリをデフォルトのプロジェクト パスとして使うようになりました。

  • New:クッキングは Unreal 自動化ツールの Linux の下の「Build Cook Run」を使ってサポートされるようになりました。

  • New:Linux版エディタの安定性を改善しました!

  • Linux上の表示モードを変更しないようにして (問題が多いので)、ウィンドウ表示のフルスクリーンのみにしました。

  • Linux上でのクッキングは、ファイルハンドルの数の制限で失敗することはなくなりました。

  • Linux上でのクラッシュ レポートは、より信頼性の高いものになりました (クラッシュ レポート クライアントがビルドされている場合)。

  • CPUトポロジーを決めるための、処理ごとのトラバースがフレームごとに複数回になることによるパフォーマンスの小さな問題を修正しました。

  • エディタ開始時の断続的なクラッシュを修正しました (スレッドの問題)。

  • LANでプレイする時の問題を修正しました (Debian とその派生パッケージで、実行中のサーバーにジョインできない問題)。

  • エディタ内でのオブジェクトの移動を修正しました。

  • エディタ開始後、スプラッシュ画面が時々残ってしまうのを修正しました。

  • オーディオをプレイ中の時のUBTロックを修正しました (/dev/snd/pcmC0D0p がビジーの時、モノラルの処理モジュール群はブロックします)。

  • メニューのちらつきはなくなりました。

  • ウィンドウ表示とフルスクリーン モードとの間のトグルと、ウィンドウの解像度の切替えはより信頼性の高いものになりました。

  • ブループリント エディタなどのアセットエディタ ウィンドウは、メイン ウィンドウで不適切に覆われることがなくなりました。

Mac
  • New:PlayStation 4 コントローラーのサポートを追加し、ボタンのセットとして扱うのではなく、実際にハット スイッチの状態を報告するようにコントローラー上での DPad の扱いを修正しました。

  • New:タイトルバーのダブルクリックすると、ドックの設定とOS X のバージョンに応じて、ウィンドウが最小化又はズームするようになりました。

  • New:GL_EXT_depth_bounds_test が設定されている時、深度境界テストのサポートの追加により、Macのシャドウ レンダリングを最適化しました。

  • 最適化されたMacのテキスト入力方法の変更通知によって、ブループリント エディタでコンポーネントを追加する時のヒッチングが著しく減少しました。

  • メニューバーを更新中の遅延イベントの処理によるエディタのクラッシュを修正しました。

  • まだサポートされていない Retina の解像度ではなく、実際にレンダリングする解像度のみを Retinaディスプレイを持つ Mac に与えるようにしました。

  • Mac OS X 上で低レベルのイベントを扱う中でのデッドロックのリスクを修正しました。

    • -[NSEvent window] のアクセスは、内部的に排他制御されるので、この関数を別のスレッドから呼び出すことを避けるために、メインスレッド上のイベントウィンドウのポインタをキャッシュします。

  • 2 つの GPU があるラップトップ上の Mac のグラフィックス切り換えプラグイン設定を使った時、明示的なレンダラー選択を修正したのでクラッシュしなくなりました。

  • エディタ内で Mac OS X のシステムのタイトルバーを使ってフルスクリーン モードへ移行する問題を修正しました。

  • Mac OS X で ATi 4000 シリーズのGPU上でレンダリングする時の問題を修正しました。

    • これらの GPU は、glClearBuffer で、まとめて深度とステンシルのクリアをサポートしていないので、深度をクリアしてからステンシルをクリアするようにします。

      • Depth-Fetch-During-Depth-Test は、これらの GPU で動作しないので無効にしました。

  • Mac OS X で OpenGL 3.3 GPU 上のエディタが、ボリューム レンダリングができないため、透過ボリュームライティングを無効にすることで問題を修正しました。

  • Mac OS X で Intel HD GPU 上でのポイントライトのレンダリングを修正しました。

    • シェーダーの uniform 配列から間違った値を読み出すという、Intel GLSL コンパイラーのバグを回避するため、Mac OS X 上で、多くのブランチや定数インデックス値を使わなければなりません。

  • 特定のウィンドウの高さを不正に設定する、Mac の OpenGL 初期化コードのバグを修正しました。

  • エディタがディアクティベートされた時、コンテキスト メニューが開いているのに不可視になるバグを修正しました。

  • UnrealFrontend内で、2 つの GPU を持つ MacBook Pro のGPUで切り換えによるクラッシュを修正しました。

  • 可視になっているウィンドウがない場合に、マウスが離された時に最小化されたウィンドウがアクティベートされる問題を修正しました。

  • 通知ウィンドウが Mac 上で特定の場合に入力を受け付けない問題を修正しました。

  • アクティブでない画面上のメニューバーをクリックした時のエディタ ウィンドウのアクティベーションの問題を修正しました。

  • エディタ内でウィンドウを閉じることに関連するクラッシュを修正しました。

  • 「drag anywhere」(どこでもドラッグ) が有効なウィンドウのドラッグの問題を修正しました。

  • ビューをトラック パッドのジェスチャーで操作している間のエディタのマウス カーソルの下にあるビューポート内のアイテムのハイライトを修正しました。

  • エディタがアクティブでない間にドラッグされたタブのレンダリングを修正しました。

  • アプリケーションがアクティベートされたり、ディアクティベートされた時のMac上のウィンドウの順序の保存と復旧を改良しました。

Playstation 4
  • New:デプロイされたアプリケーションがデバイスのサンド ボックスに入るようになりました。デプロイ処理は繰り返すようになりました。PS4 のための Launch On ワークフローは、非常に速くなりました!

  • New:Companion App サポートは、プロジェクト設定で制御するようになりました。デフォルトは、Companion App サポートなしです。

  • New:実験的な並列 rhi 実行の最初のドラフト!デフォルトでは無効。次のリリースで大幅に最適化したものを発表予定であるため、ご興味があればテスト目的に限り有効にしてください!

  • New:フレーム管理を Morpheus のヘッドトラッキングの精度を改善するために修正しました。

  • New:ログとスクリーンショットは、デバッグと開発ビルド中に常に PS4 のローカル ハード ドライブに書かれるようになりました。このビルドタイプのインストールされたパッケージは、適切にログとスクリーンショットを書き出します。

  • New:TestKitsがキーボード入力をサポートするようになりました。

  • 多数の Reflection Capture アクタを持つレベル内のリフレクションのキャプチャー時のクラッシュを修正しました。

  • Morpheus ビルドのための Follow HMD Rotation を修正しました。この振る舞いは他の HMD プラグインと一致するようになりました。

  • デプロイしたファイルでなく、ホスト PC から読み出して、エディタからローンチするバグを修正しました。

  • 作業ディレクトリがステージング ディレクトリでない時、ファイルサーバーを使うことによって起きるクラッシュを修正しました。

Xbox One
  • New:Xbox One のファイル システムを改良。

    • Xbox One のローカル ドライブ文字のためのパスのサポートを追加しました。

    • Xbox One のログは、取り出し易いようにデフォルトで開発者用スクラッチ パーティションに保存されるようになりました。

  • New:エディタから Xbox One にデプロイされたプロジェクトは、UE4Game ではなくプロジェクト名を使うようになり、複数のプロジェクトを同時にインストール可能になりました。

  • New:Xbox One タイトルは、CPUパフォーマンスを向上させるために、7番目の CPU コアをデフォルトで使うようになりました。

  • アプリケーションのサスペンドとリジューム時のクラッシュを修正しました。

ネットワーク

  • New:さまざまなネットワーク デモの再生時間の遅延の問題を修正しました。

    • -1にならない限り、遅延時間を cvar で上書きしません (ですから、ゲームのコードは遅延時間も制御できます)。

    • 一時停止をサポートするようになりました。

    • スペクテーター(観戦者)の遅延時間のキャンセルの扱いを改良 (移動コンポーネントでIgnore Time Dilation を使います)。

  • ゲームモード内で設定されたゲームセッションインスタンスは、期間中に新規プレーヤーがジョインした場合にクラッシュしないようにシームレスな移動を通じて保たれます。

  • アクタ チャンネルを以前に閉じて再オープンしたが、キューに入っているものをまだ処理している場合に検知できるようにしました。これによりプロパティの複製が不適当に終わる問題を修正しました。

  • ネットワーク デモ ファイルフォーマットを整理して、将来のオプション(チェックポイント、ストリーミングなど) 追加に役立ちます。

  • マルチプレーヤーでのゲームプレイ中のネットワーク越しのオブジェクトの参照をリセットするためのより堅牢な方法を実装しました。これで、シームレスな移行後、参照がすぐに解決できないというサーバーかクライアントの警告がでる問題を修正しました。

  • アクタの作成に失敗した時のクラッシュは起きなくなりました。しかし、アクタチャンネルを不正なままにします(アクタはクライアント上から見えなくなります)。

  • サーバーがクライアントに不正なサブオブジェクトを送信した時、サーバーからクライアントが切断されなくなりました。

    • 代わりに修復しようとし、出力ログで警告します。

    • しかしサーバーは不正なサブオブジェクトを送信したクライアントを切断します。これはセキュリティのためです。

    • 空白のテキスト構造体を複製する時に起きるクラッシュを修正しました。

  • アクタコンポーネントが、エディタ内プレイセッション中に適切に複製されないバグを修正しました。

  • クライアント/サーバーが、コネクションが既になくなっているのに、まだアクティブだと報告するバグを修正しました。

  • サーバーがクライアントが削除したアクタを参照する時にクライアントで起きるクラッシュなどの問題を修正しました。

  • 閉じたばかりのコネクション上のマップされていないプロパティの処理や更新時にクライアントで起きるクラッシュを修正しました。

  • クライアントへプロパティを複製する時に起きる問題を修正しました。

  • アクタ チャンネルをシャットダウンする時に起きる問題を修正しました。

  • ネイティブ構造体のためのマップにないオブジェクト参照の追跡時に起きる問題を修正しました。

  • 特定のネットワーク パケットが不正なシーケンス ロジックのために落ちる問題を修正しました。

  • マルチキャストの RPC パラメータ中で参照されるオブジェクトが、(サーバーで正当であっても) クライアントで NULL になる問題を修正しました。

マテリアル

  • New:0-1 のアルファ値で3-4 色から補間する、新規のマテリアル関数を追加しました。

  • New:ワールド座標での texture_complex 関数にマテリアル属性出力を追加しました。

  • New:スクリーンとバッファ解像度を取得するマテリアルノードを追加しました。

  • New:マテリアル関数 RotateVector:入力されたベクトルを指定された向きに回転します。

  • New:マテリアル関数 SkyboxImage: 無限に大きい球にイメージを投影します。スカイボックスにイメージを置くのに便利です。

  • New:マテリアル関数 TriPlanarCameraVector: テクスチャを背景に適用します。キューブマップと似ていますが、同じ2Dテクスチャをすべての面に使います。

  • New:Time (時間) のマテリアル式は、ラップアラウンド時間の期間をサポートしました。このマテリアル式はモバイル プロジェクトの精度向上のために CPU 上でもラップアラウンド時間を評価します。

  • 「Const A Equals B」マテリアル式は、特定のマテリアルの中間に線が現れるので、非推奨になりました。

  • シェイプをビューポートに正しくフィットしない、シェイプのプレビュー(F キー)のフォーカスを修正しました。

  • 可視なマテリアル インスタンスのパラメータリストは、マテリアルのブループリントが関数内に関数を含む時、正しく追加されるようになりました。

  • 修正済み:基本のプロパティの上書きを使うマテリアル インスタンスは、常に基本のマテリアル設定を使うのではなく、親を上書きしたものを正しく継承するようになりました。

  • New:「Transform to Clip Space」(クリップ空間に変換)マテリアル関数を追加しました。

  • 高解像度のスクリーンショット機能に必要なマテリアルは、エディタ内でのみロードされるようになりました。

  • マテリアルのためのシェーダーのコンパイル エラーをダブルクリックできないバグを修正しました。

  • マテリアルをエクスポートする時に起きるクラッシュバグを修正しました。その際、一部のコードをリファクタリングしてマテリアルのリソースが独自のシェーダー マップIDを作成できるようにしました。

    • デカール ブレンド モードが DBM_DBuffer_ColorNormalRoughness に設定されているゲーム中で、ディファード デカール マテリアルが表示されない問題を修正しました。

VR

  • New:SimpleHMDプラグインを実験的なプラグインに追加しました。このプラグインは新規の VR HMD デバイス タイプのサポートを追加するためのテンプレートとして使うことができます。固定の IPD で立体的にレンダリングし、ポスト プロセッシングが有効な場合に簡単なメッシュ ベースの歪みをエミュレートします。

  • New:ビューポート内プレイモード時にヘッドマウントディスプレイの向きを使えるように、エディタ設定 (Viewport Gets HMD Control) を追加しました。

  • New:Android ビルドは、GearVR プラグインを有効にし、Androidパッケージのプロジェクト設定中でGearVRを選択することによって、GearVR を対象にするようになりました。

  • Follow HMD Rotation を使う時、VR デバイス全体で一貫したカメラの振る舞いをするように修正しました。この設定はVRデバイスを使うプレーヤーを、移動するプラットフォームか車両にアタッチする時に使います。

  • クックするプロジェクトで Morpheus が有効な場合にクッカがクラッシュする問題を修正しました。

コア

  • New:クラッシュ レポート クライアントは、クラッシュ後のより良いエクスペリエンスのために大幅にアップグレードされました。

  • New:クラッシュ レポートのデータは、バンド幅を節約するために圧縮されるようになりました。

  • New: 「-UserDir」コマンドライン引数は、異なった設定ファイルを持つ同じディレクトリから複数のゲーム インスタンスを容易に実行できるようにしました。

  • ランドスケープに関連するオブジェクトの複製のパフォーマンスを改善しました。

  • フルパスでないアクタのプロパティのコピー&ペーストを修正しました。

  • デフォルトの設定ファイルは、「プロジェクト設定」で変更後、2回ディスクに保存されることはなくなりました。

  • ICU 国際化ライブラリの複製データは、エンジン/コンテンツ/ローカライゼーション ディレクトリから除去されました。データはエンジン/コンテンツ/ローカライゼーションには残されています。

  • 緊密に結合したアセットの複雑な集まりを非同期のロードは、とてつもなく遅い問題を修正しました。

  • ホットリロード時に、コンストラクタ内でデフォルトのサブオブジェクトのプロパティのプロパティ値が更新されない問題を修正しました。

  • 非同期 IO スレッドが、1つのコアだけが使えるデバイスで実行中の時に停止する問題を修正しました。

  • Windows 8.x でクラッシュレポート クライアントが動作しない問題を修正しました。

  • OSの言語/地域設定がエンジンの言語/地域に適切に設定されていない場合の iOS の問題を修正しました。

  • 実行可能スレッドがメイン スレッドのCPUコアのアフィニティを上書きするのを修正しました。実行可能スレッドは自身のコアのアフィニティを適切に設定するようになりました。

  • Unreal Swarm が、32 ビットプロセスから 64 ビットプロセスのモジュールにアクセスできないという、エラーを時々報告するのを修正しました。

  • クラッシュレポートクライアントがクラッシュ関連のファイルを全然送信しないバグを修正しました。

  • シャットダウン時のクラッシュを修正しました。最後のガーベッジ コレクション パスの間に、クラス(とそのサブオブジェクト)は、すべての正規のオブジェクトの後で破棄されます。

  • 終了パージを実行中に、永続的なプール中のオブジェクトのデストラクタを呼び出さないという、ガーベッジ コレクター内のバグを修正しました。

  • プロパティ名が空白を含む時に、オブジェクトとアクタのコピー&ペーストが動作しない問題を修正しました。

エディタ内のヘルプ

  • New:* New: アクタ上のコンポーネントを使って動作する、新規のエディタ内チュートリアルを追加しました (レベル内コンポーネント編集)。

  • New:チュートリアル ダイアログに戻るボタンを追加しました!

  • Q と E のキーの情報をビューポートのエディタ内チュートリアルに追加しました。

  • Android と iOS の各クイック スタートのエディタ内チュートリアルへのリンクを追加しました。

  • エディタ内部に現れるチュートリアルのバブルのルック&フィールを改良しました。

  • コンテンツ ブラウザの概要チュートリアルがソース パネル ボタンを正しくハイライトするように修正しました (折りたたみ/展開時)。

  • チュートリアルを完了していない場合でも、チュートリアルのビーコンが一度開くと二度と現れなくなる問題を修正しました。

  • エディタ内チュートリアルを、新規のインターフェースアンカーのために改良しました。

サンプルゲーム

  • New:新規のプロジェクト テンプレートを、Player Starts を使う代わりに、レベルに直接配置する関連するゲームオブジェクト (ポーン、キャラクタ等) を持つように変更しました。

    • Player Starts はまだ存在しますが、主にネットワーククライアントのためです。

  • New:テンプレートのコンテンツは、コンテンツのサブフォルダに移動しました。

    • これで、プロジェクト内で他のコンテンツとの混同を避ける事ができます。

  • すべてのテンプレートは、BSPではなく、スタティックメッシュを使うように修正しました。

  • 戦略ゲームは起動時やパッケージ作成時に失敗しましたが、修正されています。

  • ブループリント オフィス サンプル内のセキュリティボタン内の不正なコンポーネントアクセッサを修正しました。

ドキュメンテーション

  • New:* New: Unreal Engine 4 の専門用語のページでは、 Unreal Engine 4 で作業する時に一般的に使われる用語に短い解説をします。

  • New:環境クエリ システムのドキュメントを追加しました。

  • New:基本操作方法 - エンジンの使用を開始し、使い方を学ぼう...

    • プロジェクトの作成とオープン

    • アクタの配置

    • アクタの操作

    • アクタの編集

    • プレイとシミュレーションでゲームをテスト

    • ヘルプを見つける

  • New:ブループリントの操作ガイド - ビジュアル スクリプティング システムをもっと活用して、使い方を学ぼう...

    • ブループリントのデバッグ

    • 変数を使う

    • マクロを作る

    • 配列を使う

  • New:ネットワークの操作ガイド - マルチプレーヤー ゲームを作成したい? 使い方を学ぼう...

    • アクタの複製

    • 関数の複製

    • 変数の複製

    • マルチプレーヤーのテスト

  • New:ゲームプレイの操作方法: OnHit を使おう

  • New:アニメーションの操作方法 - クイックガイドで使い方を学ぼう...

    • 再ターゲットされたアニメーションを使う

    • 加算アニメーション ブレンド - AnimMontage/Slots およびブレンドノードを使って、シューティング アニメーションに歩き/走り/しゃがみをブレンドします。

    • ブレンド空間の作成 - ボタンを押して、歩きのアニメーションからジョギングになるようにブレンドします。

    • Aim Offset の作成 - このページは、Aim Offset で使用するためにモーション シーケンスの範囲から、ポーズを抽出する方法について説明します。

    • アニメーションのプレビュー

  • New:マテリアル操作方法 - このチュートリアルを使って使い方を学んでゲームにリアルな輝きを...

    • UV 座標のアニメート

    • テクスチャ マスクの使用

    • フレネルの利用

    • 透過マテリアルの作成

    • 屈折の利用

    • 詳細なテクスチャの追加

    • 光沢のあるマテリアルの作成

  • New:簡単なブループリント マルチプレーヤー サンプルの概要

  • New:コンポーネント ディレクトリ

    • Unreal Engine 4 のコンポーネントについて学ぶなら、このいろいろなタイプのコンポーネントの一覧をクリックしてください。

      • コンポーネント ページからリンクされている各ページには、そのタイプのコンポーネントと利用法についての追加の情報があります。新規のページに含まれているのは次の内容です:

      • AI

      • オーディオ

      • カメラ

      • ライト

      • 移動

      • ナビゲーション

      • Paper2D

      • 物理

      • レンダリング

      • 形状

      • スケルタルメッシュ

      • スタティック メッシュ

      • ユーティリティ

      • ウィジット

  • New:Paper2D

    • Paper2D セクションは、次の新しいページを含むように更新しました:

    • Paper2D スプライト (概要、スプライト エディタ リファレンス、スプライトソースの範囲とレンダリング ジオメトリ、スプライト コリジョン ページ)。

    • Paper2D フリップブック (概要、フリップブックエディタ リファレンス、フリップブック コンポーネント ページ)。

    • Paper2D コンテンツ サンプルとビデオチュートリアルへのリンクもメインの Paper2D ページで提供しています。

  • New:ゲーム内カメラでレイヤー アニメーションをするために、CameraAnims ページで CameraAnims の使い方を学んでください。

  • New:UMG UI デザイナの更新

    • アンカで作業するページを追加しました。

  • New:新規の SDK ダウンロードステップ付きの Oculus クイックスタートガイドを更新しました。

  • UMG の使い方 - 3Dウィジット

    • わかり易いようにコンテンツを更新しました。

  • 更新ページ:

    • ブループリント クラス (親クラスのセクションも含む)

    • ブループリントの作成 (コンテンツと画像の少量の更新)

    • レベル ブループリント (概要のテキストを更新)

    • ブループリント タイプ (概要セクションの追加)

  • 更新: ブループリント ユーザーガイド

    • 新規レイアウト

    • コンテンツの更新 (重複情報の削除)

    • リンク ページの説明の更新

    • 画像の更新と各セクションへの概要の追加

  • 更新: アンリアル エディタのクイックスタートガイド

    • アンリアル エディタ クイック スタート ガイドの修正と更新

  • ブループリントの操作ガイドの更新 (グラフの折りたたみ)

  • 「Launching to Devices (デバイスを起動する)」ドキュメントページの更新

  • 更新: アーティスト向けクイック スタート ガイド

    • アーティスト向けクイック スタート ガイドの修正と更新

  • なくなった Layered Material (レイヤーマテリアル) ページを復活し、インターフェースの変更を説明する更新をしました。

  • New:Class Specifier(クラス指定子) ページを、現在のマクロのキーワードを反映するように更新しました。

プログラミング リリース ノート

AI

  • 引数に BehaviorTreeComponent を取るビヘイビア ツリー関数は、参照を取るようにリファクタリングしました。

  • FEQSHelpers::FindNavMeshForQuery が、NavMeshインスタンスがないためのクラッシュをしないようにするための小さなサニティー チェックを追加しました。

  • New:ブループリントに NavigationSystem の getter を追加したので、ナビゲーション システムを直接操作できます。

  • New:NavMeshで指定された位置から「壁」までの距離を計算する RecastNavMesh 関数を追加しました。

  • New:指定したパス セグメントの「向き」を問い合わせるために、ナビゲーション パスに機能性を追加しました。

  • ポーンのアクションを操作するためのビヘイビア ツリーのタスクのクラスを追加しました (BTTask_PawnActionBase)。

  • New:結果として常にアイテムのインデックスが1になる、*演算子無しで環境クエリシステムのアイテムのイテレータを渡すような無意味な間違いを防ぐために、整数ではなくイテレータを引数に取る UEnvQueryTest::GetItemActor の改訂版を追加しました。

  • New:再キャストした NavMesh 生成のビットが派生クラスによって拡張できるような柔軟性を持つようになりました。

  • New:仮想の AIController::GetFocalPointOnActor を追加し、ゲーム固有の AI コントローラーがフォーカスがあるアクタの位置でフォーカスのデフォルトの振る舞いを変更できるようにしました。

  • New:正当なツリー構造を持つが、グラフデータが破損している、ビヘイビア ツリー アセットに自動リストア機能を追加しました。

  • New:* ゲーム固有のGameplayDebugger (ゲームプレイ デバッガ) を持てるようにしました。UGameplayDebuggingControllerComponent から派生し、BindAIDebugViewKeys を実装して、キーボード設定を追加又は修正することができるようになりました。

  • New:エディタでのシミュレーション中にゲームプレイ デバッガのデフォルト設定を設定できるようになりました。

  • New:GameplayTags のための環境クエリ システムのテストを作成しました。このテストは、ActorBaseから派生したアイテムが必要になります。アクタがないかIGameplayTagAssetInterfaceが実装されていない場合は、このアイテムのスコアリングをスキップします。

  • UNavigationSystem::NavDataClasses と UNavigationSystem::RequiredNavigationDataClassNames は除去されました。

  • New:ナビゲーション システムは、インスタンス化されたスタティック メッシュとフォーリッジを効率的にサポートするようになりました。

  • AIController の移動要求が、Visual Logger を使って容易にデバッグするために使われるナビゲーション フィルタの情報をログに書き出すように拡張しました。

  • 骨盤ではなく足の位置を返すために GetNavAgentLocation のオーバーライドを、Character (キャラクタ) クラスに追加しました。これは、かつて小さな問題の原因になっていました。

  • ナビゲーションのオクトツリー作成ポリシーを変更したので、動的なNavMesh生成が無効な時、ゲームのメモリを使いきらないようになりました。

  • FOnBlackboardChange デリゲートのシグネチャを、ポインタではなく BlackboardComponent の参照を必要とするように変更しました。

  • UNavMovementComponent::UpdateNavAgent のシグネチャをポインタではなく参照を引数に取るように変更しました。

  • 環境クエリ システムのクエリのオブザーバーにクエリの終了が通知される時の通知元が内部のクエリの処理ループから外部の別のループへ変更されました。

  • 環境クエリ システムのロギング: ゲーム中のログの不要なスパムを避けるために、デフォルトの LogEQS レベルを Log から Warning に変更しました。

  • 環境クエリ システムのロギング: ジェネレータ「On Circle」は、アイテムを生成する中心点がない場合の警告のスパムを出さなくなりました。生成する中心点の候補がなくても、正当な場合があります。

  • Toggle AI Logging の不正に関するクラッシュを修正しました。

  • ゲームプレイ デバッガが、navigation-corridor-based (ナビゲーションの通路に基づいた) AI パスを描画する方法を修正しました。

  • ゲームプレイデバッガの初期化を、シミュレーションで正しく動作するように、再度純粋なブループリントプロジェクトを使って修正しました。

  • ゲームプレイ デバッガは、ゲームでないワールドやキル保留状態のワールドに DebuggingReplicator を作成しなくなりました。これで稀に起きるクラッシュは修正されました。

  • 関連する StringClassReferences が空かどうかをチェックせずに、サブシステムのクラスをロードしようとする AI システムのバグを修正しました。

  • 群衆の最大サイズが増加してクラッシュするという、群衆迂回ラッパー内のバグを修正しました。

  • GoalActor がクラッシュを引き起こすキルを保留している時の移動のポーンアクション内のバグを修正しました。

  • 感知されない刺激をマークして満了として登録するようにした AI 認識システムのバグを修正しました。

  • 誰もリッスンしていない AI 認識システムのイベントが報告された時のクラッシュを修正しました。

  • 4.7 プレビュー 2 のユーザーが経験した、ゲーム固有のソース内に CrowdAgentInterface.h をインクルードしたことに関するコンパイルの問題を修正しました。

  • ゲーム依存の NavigationSystem クラスを使わないプロジェクト設定で、常に UNavigationSystem のデフォルトのオブジェクトを変更する代わりに、オブジェクトを実装した場合の問題を修正しました。 *UNavigationSystem::GetRandomPointInRadius が、NavigationData のインスタンスが見つかった場合に、実際のクエリの結果に関係なく、常に true を返す問題を修正しました。

  • 即時ではなく、PawnActionsComponent のティック中に処理される他のアクション イベントと同じように、PawnAction の中止を取り扱うようにしました。

  • INavAgentInterface::GetNavAgentProperties をポインタではなく参照を返すようにリファクタリングしました。

  • New:ナビゲーション システムと AI エージェント間のプロキシとして働くナビゲーション コンポーネントを除去しました。

    • 行き先 (destination) が変更される (アクタを移動する) と自分自身で、パスの更新を操作するようにしました。

    • パスを追跡するのではない直接の移動は、整合性のために特殊なナビゲーションデータ(AbstractNavData)を使います。

  • 「現在の」キューの処理中に、キューに追加された環境クエリ システムのクエリを制限しました。新規のクエリを受け付けますが、次のティックまで処理されません。

  • 移動負荷が 1 より小さいエリアに対して補償するために経路探索のためのヒューリスティックな重みの自動スケーリングを追加しました。

アニメーション

  • New:SkeletalMesh アセットへ「AssetUserData」オブジェクトの(C++での) 追加/読み出しのサポートを追加しました。これは既に、StaticMesh アセットでは使えていました。

  • 廃止された/未使用のLODのコードをいくつかを削除しました (FLODSettingsWindow、FLODUtilities::ImportMeshLOD、FLODUtilities::CreateLODSettingsDialog)。

オーディオ

  • New:AudioVolume をエクスポートとしてマークしたので、他のモジュールのサブクラスになることができます。

  • FAudioDevice::SetClassVolume と、コンソール コマンドの ModifySoundClass を除去しました。

  • 「ListSoundDurations」コンソール コマンドからの出力は、正しく出力位置に送られるようになりました。

  • サウンド キューによって生成された複数の波形インスタンスが同じハッシュ値を持つ確率を下げました。

  • オーディオの音量テストを更新して、カメラの位置ではなくリスナーの位置を使うようになりました。

オートメーション

  • New:エディタ内での LaunchOn 機能のテストを可能にするオートメーションの機能が追加されました。LaunchOn するマップとプラットフォームの指定が必要になります。

    • このテストを有効にするには、 Engine.ini かオートメーション設定の Launch on 設定のどちらかを適切な「Launch on Testmap」とDeviceId で更新してください。

    • このテストの実行は、次のコマンドライン構文の例に従ってください: 「FLaunchOnTest /Game/Path/To/MapName.MapName Platform@DeviceName」

  • 独立して開かれたアセットのテストは(一時的にだけ) simple テストになっています。

ブループリント

  • New:ブループリント ランタイムの最適化:

    • 実行フローのスタックが必要なときだけ使われます。

    • ジャンプと goto の数は減りました。ステートメントはソートされます。隣接したステートメントはマージされます。

  • New:再コンパイルしたブループリントで生成されたクラスのインスタンスを再インスタンス化しなければならないかを区別するメカニズム。(BPコンパイラーの最適化)

  • New:アクタやコンポーネントの任意のブループリントのサブクラスがデフォルトでティックするようになりました。

    • 新規のブループリント設定「Can Blueprints Tick By Default」(デフォルトでブループリントをチック)を追加しました。デフォルトは true です。

    • 新規のクラスのメタデータフラグ ChildCannotTick (子はティックできない) を追加しました。これは、ブループリントのサブクラスをティックしないようにするために使えます。

    • ティックできない時の警告メッセージを改良しました。

    • ブループリントのサブクラスは、最派生 C++ 親クラスで、次のいずれかが true である場合にティックできるようになりました。

      • C++による親クラスが、最初のティック関数で、bCanEverTick = true

      • C++による親クラスが、AActor または UActorComponent

      • C++による親クラスに ChildCannotTick メタデータがなく、 bCanBlueprintsTickByDefault がtrue

      • C++による親クラスに ChildCannotTick メタデータがないが ChildCanTick メタデータがある

  • 標準のディスプレイやクラスのルートの名前を取得するためにユーティリティ メソッドを FBlueprintEditorUtils に追加しました。

    • GetClassNameWithoutSuffix は、ブループリントで生成したクラスの_C 接尾辞を取り除きます。新しい名前の元を生成するのに便利です。

    • GetFriendlyClassDisplayName は、DisplayName メタデータを見て、可能であればちょうどいいローカライズした表示名を引き出し、そうでなければ、_C を取り除くようにフォールバックします。

  • ブループリント親クラスの NewAssetDefaultClasses という ini キーで素早く選択するために、ローカライゼーション/表示処理を改良しました。C++New内のハード コーディングしたリストの代わりに、GetDisplayNameText と短いツールチップを使うようになりました。ブループリントのスケルトンクラスは、生成されたクラスではなく、親のスケルトンクラスを継承するようになりました。

  • ブループリント中の AddComponent ノードのためのコンポーネントのテンプレートは、RF_Public として作成されるようになりました。

  • C++でのルートコンポーネントの明示的な設定のないネイティブのシーン コンポーネントを定義するアクタのサブクラスは、そのクラスに基づいたブループリント内での構築時に不正なシーンコンポーネント階層にならなくなりました。

  • ノードの割り当てを確実にマクログラフ内だけに配置できるようにするチェックを追加しました。

  • コマンドレット実行中のブループリントの Save-On-Compile (コンパイル時に保存) 設定のサポートを除去しました。

  • BlueprintReadWrite とマークされたプロパティにブループリント内でアクセスできない (EditAnywhere とマークされていない限り) バグを修正しました。

  • 自然に派生したインタフェース関数がブループリント ノードのメニューに表示されないバグを修正しました。

  • 解決できない ClassGeneratedBy によるクラッシュを修正しました。

  • 特定のブループリントをコンパイル時に、TRASHCLASS コンパイルとなり、古いスケルトンで生成されたクラスを修正しました。

  • New:「const」として宣言されているネイティブのC++メソッドと BlueprintImplementableEvent とタグ付けされているブループリントにおいて、エディタ内のブループリント グラフのビューが読み出し専用になりました (即ち 「self」は、変更されていません)。これは、プログラマが実装側で、さらにいくらかの制御ができるようにします。

  • 暗黙的に作成されたブループリント コンポーネントの変数を、NonTransactional にしました。

  • 新規のコンパイル エラー:「Static array cannot be exposed to blueprint」 (スタティック配列はブループリントに現れません)

  • ブループリントの直接の親に配置する時、showCategories や hideCategories、AutoExpandCategories、AutoCollapseCategories メタデータの継承ができないようにする、クラスメタデータ IgnoreCategoryKeywordsInSubclasses のサポートを追加しました。

  • IgnoreCategoryKeywordsInSubclasses メタデータを暗黙に持つ、新規の UCLASS() 識別子 ComponentWrapperClass を追加しました。

  • ピンをウォッチするコード内で、修復できる(まだ)不正の場合に、エディタがクラッシュしないように、once-per-session (セッション当たり一回) になるように、いくつかの IsValidLowLevel チェックのレベルを下げました。

コア

  • New:FStatMessage クラスのための基本的なネイティブの Visual Studio ビジュアライザーを追加しました。これは、統計システムのデバッグに便利です。

  • New:Git サブモジュールを通してエンジンを使うチームは、EngineAssociation フィールドを .uproject ファイル中に、相対パスで設定することができるようになりました。これは将来のリリースでは変更されるでしょうけど、ローカルビルドのデフォルトの振る舞いは、まだローカル ソースのビルドに GUID 文字列を使います。

  • New:メインのグローバル ヘッダ中から多数のインクルードを減らした後、エンジンのコンパイル時間が速くなりました。

  • New:コマンドレットは、エディタの実行形式ではなく、ゲームの実行形式を使って実行するように書かれるようになりました。

  • New:新規の Visual Studio プロジェクトファイルの生成は、デフォルトでソリューションに各プロジェクトを折りたたむようになりました。

  • New:引数付きのオプションの解析は、完全にクォーテーションで囲まれた文字列をサポートするようになりました。例 「-Option=Value」

  • New:スタートアップの統計 (-LoadTimeStats) は、240 フレーム後に結果をダンプします。手動で止める必要はありません。

  • New:いくつかの Visual Studio のコード スニペットをソース リリースに追加しました。

  • New:オプションのローカライズできる短いツールチップメタデータのサポートを追加しました。

    • 短いツールチップは、関連するフィールド マクロ (UCLASS、UPROPERTY など) のメタデータとして、meta=(ShortTooltip="The short tooltip") のように指定できます。

    • UField::GetToolTipText は、短いツールチップを使うかどうかを示すオプションのパラメータを取るようになりましたが、何もしてしてなければ長いツールチップにフォールバックします。

  • New:「GetSignVector」を FVector2D に追加しました。

  • New:ブループリントのみのプロジェクトへのコードの追加は、自動的にコンパイルされ、新規モジュールをエディタのリスタートなしでロードします。

  • New:「explicit operator x」が、Visual Studio 2013以降で使えるようになりました。

  • New:Assertion マクロは、コア内部ではなく、現在のスタック フレーム内でデバッガを停止します。

  • CastChecked は、シッピング ビルド中でキャストが正当であるとみなすチェックをしなくなりました。

  • New:BuildPatchTool は、属性のリストのテキスト ファイルのファイルパスを取らなくなりました。現在は、読み出し専用で圧縮済みをサポートしています。メインの cpp のコメントを見てください。

  • New:ClosestPointOnSegment2D 関数を FMath に追加しました。

  • UObject 派生クラスの「演算子 new」が非推奨になりました。

  • New:FArchive サブクラスは、プロパティのカスタム フィルタリングをするために、ShouldSkipProperty 関数を実装するようになりました。これは、標準的にフィルターされていたプロパティのフィルタリングを回避できませんが、フィルタリングされていなかった追加のプロパティはフィルタリングできます。

  • New:C++のイテレーションの高速化: Unreal のクラスが中にある状態でソース ファイルを変更していない限り、UnrealHeaderTool を実行する必要が無くなりました。

  • これは、UCLASS や USTRUCT が宣言されていないソース ファイルのイテレーションをかなり高速化します。

  • New:GitDependencies は、 -proxy=、-proxy-user=、-proxy-password= コマンドライン オプションを使うことで、HTTP プロキシをサポートするようになりました。

  • オプションパラメータを OsExecute に追加したので、コマンドライン パラメータを容易に ShellExecute 関数にも引き渡すことができます。

  • FAsyncPackage::Tick()、FAsyncPackage::PostLoadObjects()、FlushAsyncLoading() の関数内に合計経過時間の累積統計を追加しました。

  • 作成したパッケージの名前がダブルスラッシュを含まないようにする、セーフガード チェックを追加しました。

  • 並列に ini 階層をロードするのを高速化するために、Ini ファイルキャッシュを追加しました (最後の値を処理する時、各プラットフォームは、ほとんど同じ .ini ファイルをロードし、処理します)。

  • ObjectBase.h に、MultiLine プロパティ メタデータのドキュメントを追加しました。

    • このメタデータは、 FString と FText プロパティで指定可能であり、エディタが複数行の入力を許可するかどうかを示します。

  • すべてのランタイム プラグインは、デフォルトで有効になっているものだけではなく、モノリシックなゲームのためにスタティック ライブラリを含むようになりました。

  • デリゲートによる比較や識別形式としてデリゲートを使う関数は非推奨になり、ハンドルベースのシステムに置き換えられました。

  • FAsyncPackage のパッケージ名は、非同期ロードのコード内での文字列比較のオーバーヘッドを減らすために、FString から FName に変更されました。

  • FCoreUObjectDelegates::OnObjectModified は、呼び出される Modify() を持つ各固有のオブジェクトに対してフレーム毎に一度だけ呼び出されるようになりました。これにより一部のエディタ動作のパフォーマンスを高めます。

  • FIntPoint のハッシュ関数を改良しました。前のハッシュ関数 (FMemCrc_Deprecated) は、ランドスケープの編集コードのプロファイル中に現れていました。

  • 最も頻繁に構築される FNames のいくつかは、既存の FNames を検索するオーバーヘッドを避けるために、スタティックになりました。

  • メモリ割当てクラスから、使われなくなったメソッド QuantizeSize を除去しました。

  • 使われなくなった UEBuildConfiguration.bBuildDedicatedServer を除去し、より正確な Target.Type.Value == TargetRules.TargetType.Server で置き換えました。

  • 古くなった GameName ini エントリーを除去しました。ini ファイル中の [URL] GameName セクションは使われなくなりました。

  • Interpolation Tracks (トラックの補間) クラス内の Track Icon (トラックアイコン)は、クックされなくなったか、エディタ内でのみ必要であるためクックされたビルドで使用されます。

  • WaitForMovieToFinish (ムービー終了まで待つ) の間に PollGameDeviceState (ゲーム デバイス状態のポーリング) を呼び出すので、タッチ/コントローラーイベントは処理され、MoviesAreSkippable (ムービーのスキップ) が動作するようになります。

  • ムービー完了を待つことができるように、MinimumLoadingScreenDisplayTime のデフォルトを -1 に変更しました。

  • 設定の Ini 階層のキャッシュは、強制リロードのヒント (force reload hint) に従います。

  • UnrealHeaderTool で生成されるコードの CRC は、同じソースコードに対して、プラットフォーム全体で一致するようになりました。これは、マルチプレーヤー ゲームを異なったプラットフォーム上でプレイする時のネイティブ パッケージのGUIの違いを修正します。

  • http:// の形のURL の適切な保存を妨げる設定ファイルの解析問題を修正しました。

  • 要素を削除後、配列内にある要素を不正に再構築する TArray<>:RemoveSingle を修正しました。要素内でのリークするのは TSharedPtr/Ref タイプです。

  • 統計システム内で、レンダリング スレッド ID が十分に早く初期化されないために起きるクラッシュを修正しました。

  • オブジェクトが同じフルパス名を持つが、FName から番号接尾辞を取り除いていない異なるパスになる時のミスリードするエラーメッセージを修正しました。

  • FFileManagerGeneric::Copy が、Unixプラットフォーム上でコピー元とコピー先が同じ場合に、ファイルを破損する問題を修正しました。

  • フルパスでないオブジェクトのパス名がフルパスになりうるエクスポートの問題を修正しました。

  • cvars が特定の順序で set を取得する時の check() を修正しました。

  • FLegacyTextHelper::Format がスタティックな空の FText インスタンスを mutate することによるクラッシュを修正しました。

  • FArchive::SerializeCompressed が間違ったサイズの圧縮バッファにシリアライズする問題を修正しました。

  • スプラインの FindBounds 関数中の潜在的なゼロ割りを修正しました。

  • クラス TChunkedArray 内の Reserve/Empty メソッドが、正しい数のアイテムを保存/破棄しない問題を修正しました。

  • UWorld::RemovePIEPrefix が、特定の場合に初期化されていない値を戻さないように修正しました。

  • エディタを通したパッケージング時に、クラッシュ レポーターが常にステージングされる問題を修正しました。

    • クラッシュ レポーターは、すべてのプロジェクトをパッケージングするのに使われていましたが、ブループリント ベースのプロジェクトのみパッケージングするようになりました。

    • 「Include Crash Reporter」プロジェクト パッケージング設定を通して、プロジェクト単位で含まないようにすることもできます。

  • fpschart プロファイリング コマンドの HTML 出力が、クックしたビルド内で使えるようになりました。

  • アセットからのテキストの収集は、ネイティブの固定サイズの FText 配列の要素に不適切にアクセスしなくなりました。

  • 名前による removed/renamed 変数を検索するコードをキャッチするために、GET_MEMBER_NAME_CHECKED をもっと使うようにしました。

  • エディタ実行中に、UnrealAutomationTool を実行することが、UnrealBuildTool 内でホットリロードするトリガーにならないようにしました。

  • クラス TIndirectArray 内のメソッド GetAllocatedSize は正しいサイズを返すようになりました。

  • 間違って除去された InterpEaseInOut 機能を回復しました。

  • SafeCopyFile のタイムスタンプのチェックは、exFATでのコピーの失敗を防ぐために、2 秒を許容するようになりました。

  • ゲームのパッケージングのためのステージング設定は、ハイフン付きや下線付きの形式でステージングするカルチャーを受け付けるようになりました。例 en-US も en_US も正当です。

  • 統計システム内のメモリ リークを修正しました。

  • SQLite モジュールは、iOSとの互換性を高めるために、UTF16 の代わりに UTF-8 を使うように切り換えました。

  • TIndirectArrayの Reserve と Empty 関数は、正しい数のアイテムを保存/破棄するようになりました。

  • サブオブジェクトのプロパティを除去しないで、クラスのコンストラクタからデフォルトのサブオブジェクトの作成のためのコードを除去した後にホット リロードを実行した時のクラッシュを修正しました。

  • 非推奨の UObject 派生クラスを持つプロジェクト内でホットリロードを実行した時のクラッシュを修正しました。

  • UnrealBuildTool の開始を妨害する環境変数に関するエラーを修正しました。

  • 特定の状態でホット リロードを実行時の無限ループを修正しました。

  • Unreal Build Tool が、bEnableFastBuildIteration が有効の時、間違って反映されたコードが生成されるバグを修正しました。

  • ホットリロードが、特定の場合に実際にゲーム モジュールをリロードしないのを修正しました。

  • ホットリロードが、クラスに新規のプロパティを追加後、時々クラッシュするのを修正しました。

  • double 型に対して TNumericLimits::Max関数が間違った値を返すのを修正しました。

  • 分割している UHT が生成したCPPファイルを修正しました。

  • C++での FStringClassReference プロパティに関する以下の 2 つの問題を修正しました:

    • プロパティをあるクラスに設定して、None に戻したら、正当なものとして表示されていました (IsValid() メソッドを使って)。

    • C++で、UPROPERTY マクロ内に、MetaClass を入れ忘れたら、エディタはクラッシュしていました。

  • UnrealBuildTool の Clean が、プロジェクト関連の中間ファイルをすべて削除しないのを修正しました。

  • スレートウィジットのある特定のエンジンのソース ファイルのコンパイルが非常に遅いのを修正しました。

  • メディアプレーヤーが何も画像をレンダリングしないバグを修正しました。

  • New:アンリアル エンジンの C++プロジェクトで、C++の IDE コードの完了とエラー チェックの品質が大幅に改善されました。

    • Xcode と Visual Studio のプロジェクトは、より信頼性の高いコード補完 (インテリセンス) をするようになりました。

    • もっと包括的に、コンパイラー定義と (ランタイムの対象ではなく) エディタの対象のインクルード パスを出すようになりました。

    • 他のターゲットのプロジェクト ファイルの IntelliSense 定義に「影響を与える」プロジェクト ターゲットを修正しました。

  • UClassA::StaticClass() が、UClassB のコンストラクタ内で使用されていて、UClassA と UClassB が同じリロード モジュール内にある時、ホット リロードが失敗する問題を修正しました。

  • New:存在しないアセットへの ConstructorHelpers 名前空間を使用して、クラスのコンストラクタ内に参照を追加した場合、結果としてスタートアップ時の警告は参照したクラス名を含みます。

  • New:UObject 派生クラスのコンストラクタ内で、プロパティの値を変更した場合、プロパティはホット リロード後、同じクラスの既存のすべてのインスタンスに伝播するようになりました。

  • Slate (スレート) ヘッダをゲームモジュール内にインクルードしないようにして、コンパイル時間を改善しました。

    • これは、小さなゲーム プロジェクトをリコンパイルするのにかかる時間の半分くらいです!

    • EngineMinimal.h をインクルードしたゲームは、スレート ヘッダのインクルードは不要です。必要なら、ご自身でインクルードする必要があります。

    • ゲームが以前、C++ でスレート機能を使っていた場合は、手動で SlateCore.h か SlateBasics.h をインクルードする必要があることに注意してください。

  • CDO 作成前に親のデフォルトのサブオブジェクトが確実にロードされることによって LinkerLoad の循環依存の問題を修正しました。

    • 派生したブループリント内のコンポーネントが、親のブループリントからデフォルト値を継承しない問題を修正しました。

  • UELinkerFixups が生成したファイルをコンパイル時に、コマンドラインが長すぎることによるコンパイラーの失敗を防ぐために、UBTにかなり短いコマンドラインを生成させるようにしました。

  • FPropertyChangedEvent の 3 つの引数の形式は非推奨になりました。

  • FPaths::IsRelative を期待通りに、かつ正確に、より整合性のあるものになるように修正しました。前に付けるスラッシュは必要ありません、相対パスにしてください!

  • New:パフォーマンス: キャスト フラグは、non-intrinsic クラスのために宣言されるようになりました。エンジン内で最も一般的に使われるクラスに対応して、キャスト フラグのサポートを追加しました。

    • AActor と USceneComponent といくつかの派生クラスが追加されました。「Casts.h」に詳しい説明があります。

  • PRAGMA(ENABLE/DISABLE)DEPRECATION_WARNINGS は、すべてのプラットフォームで統一されました。

  • New:ClampSize と SafeNormal ベクトル関数は、わかり易くなるように名前が変更されました。

  • 国際化のための不変なカルチャーは、「en-US-POSIX」 (英語、米国、POSIX標準) になりました。

  • 2 つの新規の .ini の場所があります。

    • 1つ目は、 /AppData (またはMac上でサポートされる ~Library/Application) ディレクトリ内で、Epic/Unreal Engine/Engine/Config/User*.ini で呼び出されます。

    • もう1つは、プロジェクト ディレクトリ Config/User*.ini です。

    • どちらか、または両方がある場合は、他のすべての .ini の 後 の適用になります。

    • これは、プロジェクト設定の Android SDK セクション内の保存する Android SDK ディレクトリの位置に使用されます。しかし、それを自分で使うこともできます。

  • New:バイナリ:Unreal Build Tool は、バイナリのみのリリースで、ゲームプロジェクトをコンパイルする時に、(可能なら) IncrediBuild を使います。

  • 統一したビルドを強制するための UnrealBuildTool の設定は、統一ファイルを使うことなしの試行やコンパイルを速くするための設定より優先されるので、すべてのモジュールで実際には統一したビルドを強制することができます。

  • New:UnrealHeaderTool は、自動的に関数の宣言を生成しなくなったので、手動で実装する必要があります (GetLifetimeReplicatedProps、 Implementation と Validate 接尾辞を持つすべての関数)。

  • コンポーネントで作成されたコンストラクションスクリプトで呼び出された UObject::GetArchetype は、コンポーネント クラスのデフォルトのクラスオブジェクトを使うのではなく、アーキタイプとして参照するために、SimpleConstructionScript からコンポーネントを見つけるようになりました。

  • UObject::Modify は、ガーベッジ コレクション中に何かするのを妨げられていました。

  • 生成コード中の構造体/クラスのミスマッチを修正しました。

    • FIntervalは、非推奨になり、FFloatInterval に置き換えられました。

  • UnrealHeaderTool: FText::FromString などのデフォルト値の解析を改良し、C++の型を大文字小文字の区別なしで扱う箇所を直しました。

エディタとツール

  • New:FEditorViewportClient にアクセッサ GetModeTools() を追加しました。

  • New:アクタをワールドへドラッグする時に、PostEditMoveの呼び出しを追加しました。

  • New:PAK ファイルの全ファイルを保存サイズ付きで一覧表示するための、-List オプションを UnrealPak に追加しました。

  • New:New Class (新規クラス) ダイアログに、生成されたヘッダが既存のエンジンのヘッダと衝突するようなクラスを作成できないようにする、チェックを追加しました。

    • これは、エディタを通して、ビルドを失敗させるような新規のコード クラスの作成ができないようにするものです。例: クラス名が Platform (これはエンジンのヘッダ Platform.h と衝突します)。

  • New:現在選択されているものでなくても、指定したアクタのリストを置換する UEditorEngine::ReplaceActors を追加しました。

  • New:エディタを使って、C++クラスを追加した後、コードの編集用 IDE が自動的に開くようになりました (プロンプト無しで)。

  • C++ のホットリロードに失敗したのに、エディタ内で成功通知を表示するのを修正しました。

  • New:不正なクランプ範囲持つプロパティがプロパティ名を含むように、プロパティの警告メッセージを改良しました。

  • モードツール内で参照するいくつかの選択セットを「ローカル」選択セットを使うようにしました (インスタンスによってはまだグローバルであるかもしれません)。

  • New:SLevelViewport/FLevelEditorViewportClient から SEditorViewport/FEditorViewportClient へ、統計の表示/トグル機能をプッシュしたので、アセット エディタでも使えるようになりました。

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

  • New:プロジェクトへ新規のクラスを追加する場合の、スターター C++ ソース ファイルを新しくしました。

    • エディタを通しての、新規の Actor クラスや ActorComponent クラスの作成時、ちょうどいいサンプルソースから始められます。

    • サンプル ソースは、便利なデフォルト値や BeginPlay()、Tick() 関数を含みます。

  • New:UWorld::GetNumPawns() を、ポーン イテレータを使ったループなしで、ワールド内のポーンの数を返すようにしました。

  • New:AActor::GetComponents() が、様々なアロケーター タイプの TArrays をサポートするようになりました。

    • 潜在的なメモリ割り当てコストを低減するために、TInlineAllocator を持った TArrays の使用が推奨されるようになりました。

    • TInlineComponentArray は、これを容易にするために定義されます。

  • New:WebBrowser と CEF3Utils プロジェクトは、Runtime フォルダへ移動したので、ゲーム内で使用することができます。

  • New:TimerHandles を使った時の TimerManager のパフォーマンスを最適化しました。

  • New:プラグインは、クックされたビルド内で自動的にマウントされる PluginName/Content/Paks/ 中にpakファイルを置くことができます。

  • New:オプションの Thickness パラメータと DepthBias パラメータを DrawOrientedWireBox に追加しました。

  • New:Chromium Embedded Framework (CEF) ライブラリのビルドをしないようにする、ビルドオプションを追加しました。

  • New:2 つの境界の交差や重なりをテストする、 FBoxSphereBounds::SpheresIntersect() と FBoxSphereBounds::BoxesIntersect() を追加しました。

  • New:オプションで許容誤差付きの、2 つの球の交差をテストする、 FSphere::Intersects() を追加しました。

  • New:UPrimitiveComponent API に新規メソッドを追加しました。

    • 選択したボックス (それぞれ、正射影、透視投影のビューポート内の) が、コンポーネントと重なっているかどうかを、エディタが決めるために使用する UPrimitiveComponent::ComponentIsTouchingSelectionBox と UPrimitiveComponent::ComponentIsTouchingSelectionFrustum を追加しました。

  • New:FSkeletalMeshMerge に、参照したボーンのポーズのオーバーライドを追加しました。

    • FRefPoseOverride 構造体のオプションの配列は、 DoMerge() に渡すことができます。

    • これで、マージされた参照スケルトンが、ソース メッシュの順序に無関係に、異なるソースメッシュから合成できるようになります。

  • New:XML パーサー関数を XML ノード属性の anonymous discovery (匿名ディスカバリ)に追加しました (FXmlNode::GetAttributes)。

  • New:エンジンとサンプルのプロジェクトが、デリゲート ベースのタイマー参照の代わりに、Timer Handles を使うように変更しました。

  • New:CharacterMovement (キャラクタ移動) ネットワーキングは、バンド幅や精度を微調整します。

    • Acceleration (加速度)は、クライアント/サーバーの整合性をより高め、バンド幅の利用を少なくするため、ネットワークゲームで、小数点以下第1位で丸められます。RoundAcceleration() 関数を通して使うことができます。

    • CanCombineMove(): 加速度ベクトルの間の角度は、調整可能です (また、8 度から 5 度に下がります)

      • カスタムクラスは、CanDelaySendingMove() が false を返す場合に、移動の遅れを避けるように決めることができます。

  • New:次の GameNetworkManager 関数を仮想にしました。仮想関数: WithinUpdateDelayBounds()、ExceedsAllowablePositionError()、 New:ToMatchingText() 関数を、整合性とエディタ内のGameplayTags の比較をする必要のあるさまざまな他のクラスによって変換されたテキストで使い易くするために、GameplayTagContainer に追加しました。

  • AActor::SerializedComponents は、BlueprintCreatedComponents に名前が変更になりました。

  • AActor::SetActorTickEnabled は、仮想関数ではなくなりました。

  • 最初のティック関数を有効にしておくために、ActorComponents をアクティブにする必要はなくなりました。

  • デバッグ版の Chromium Embedded Framework (CEF) DLLラッパー ライブラリをデバッグ用の C ランタイム ライブラリ (CRT) を使う時の問題を避けるために追加しました。

  • UpdatedComponent がキル保留の時は、移動コンポーネントのための PhysicsVolumeChanged の登録をやめました。また、UpdatedComponent がキル保留の時、 CharacterMovementComponent 中のオーバーラップイベントの登録もやめました。

    • これらの(稀な)状態でのトリガーを確実にするように修正しました。

  • ランドスケープのコリジョン データから物理マテリアルを取り出す時、潜在的に不正な面インデックスを使うのを避けるようにしました。

  • Pawn::PostNetReceiveLocationAndRotation() で効率化のため、 TeleportTo() ではなく、SetActorLocationAndRotation() を使うようにしました。

  • CharacterMovementComponent のヘルパー関数 SafeNormalPrecise() と ClampMaxSizePrecise() は変更ずに値を返すことを示すために、「Get」を前に付けた名前に変更しました。

  • FTimerDynamicDelegate の定義は、TimerManager.h から EngineTypes.h へ移して、FBlueprintTimerDynamicDelegate を削除し、代わりに FTimerDynamicDelegate を直接使えるようにしました。

  • 関数の登録後に動的に変更できるため、bEnablePhysicsInteraction が無効の時、UCharacterMovementComponent::CapsuleTouched() 内でアサートしないようにしてください。また、同じ理由で、この変数のデリゲートの除去を gate しないでください。

  • EGameplayContainerMatchType を名前空間の列挙から列挙クラスに変更しました。 すべての TEnumAsByte<> と ::型 の部分を、列挙を使用する変数とパラメータから除去しました。

  • カメラコンポーネントによって作成されたプロキシ メッシュをNotForClient と NotForServer としてマークしました。エディタ外ではビルドされなく、ゲーム中で不可視になっているからです。

  • シームレスな移動を使ってレベルを変更する時、前のサブレベルのオブジェクトもキル保留にマークされるようになりました。

  • ビジュアライザー コンポーネントを作成するコンポーネントを破棄する時、ビジュアライザー コンポーネントも確実に破棄されるようにしました。

  • GameMode.h は、EnginePrivate.h から除去されました。

  • UCameraComponent 内での WITH_EDITORONLY_DATA と WITH_EDITOR 間の使用法の不一致を修正しました。

  • 正規化されていない法線が、コリジョン結果の処理ができる場合を修正しました。「TraceDir」変数と「Direction」変数を、実際に正規化されていないことが、より明確になるように名前を変更しました。

  • CharacterMovementComponent::CalcVelocity() が、ApplyRequestedMove() の加速の結果を、実際にはクランプしないのを修正しました。

    • 誰かが ApplyRequestedMove() をオーバーライドし、内部的にクランプしない場合に限り問題になっていました。このエンジンのバージョンでは、まだ内部的にクランプしていたからです。

  • MovementComponent での UpdatedComponent への無効な参照を続ける可能性を修正しました。

    • キル保留オブジェクトは、SetUpdatedComponent() で使用できなくなりました。

    • MovementComponent::TickComponent() は、キル保留なら、UpdatedComponent を null にするようになりました。

  • NetworkVelocityNearZero().

  • FComponentInstanceDataBase::MatchesComponent は、仮想関数ではなくなりました。

  • CharacterMovementComponent::PhysicsVolumeChanged() を、オーバーライドとしてマークしました。

  • UpdateOverlaps() のための統計カウンタを、「Quick」から「Game」グループへ移動し、UpdatePhysicsVolume() に統計カウンタを追加しました。

  • 自動的にインクルードされるモジュール/プロジェクトの量を減らすため、SWebBrowser を WebBrowser モジュールに移動しました。

  • MovementComponent と ProjectileMovementComponent の自動登録は、登録順の問題を避けるために、InitializeComponent へ戻ります。

  • ネットワーク化されたシミュレーション プロキシーは、コンポーネントがクライアントを解決するのに失敗したかどうかをテストする時、複製されたサーバー状態をチェックするようになりました。

    • 以前は、クライアント上で正しくない、ローカル版をチェックしていました。

  • Optimized TArray::RemoveAt() と TArray::RemoveAtSwap() を、これらが配列をシュリンクすることが許される場合、CalculateSlack だけを呼び出すように最適化しました。

  • UpdatePhysicsVolume() のパフォーマンスを、ゲームワールド毎に保存されているすべての PhysicsVolumes の新規リストを使って、最適化しました。

    • オーバーラップ イベントを無効にした (こうしたオーバーラップは通常、物理ボリューム テストをするのに使用するため) 多くのキャラクタがいるテストシーンでは、3 ms が節約できました。

  • パフォーマンス: クリティカルパス上のいくつかの GetComponent() 呼び出しを、配列のコピーの代わりに直接アクセスを使うように変更しました。

    • これは、コンポーネントが所有権の変更や破棄されないことがわかっている場合にだけ可能です。

  • PlayerController の SetPause は、元の実装に戻りました。一時停止したネットワークゲームは、再度元々意図したように動作します。

  • ネットワークがコンポーネントの参照を使うように変更される前に、BSP上のキャラクタのネットワークでの移動に使われていた WorldSettings で作成されたダミーの StaticMeshComponent を除去しました。

  • FColor / FColorList のエントリーのいくつかの色リテラルを置き換えました。

  • FSkeletalMeshMerge ボーンのオーバーライドの子のソケットも、オーバーライドされるようになりました。

  • ULocalPlayer::ControllerId は private になりました。

  • UPrimitiveComponent::UpdateOverlaps() の最適化:

    • 現在オーバーラップがない場合、新旧のオーバーラップを決定しようとするのをやめました。

    • 新旧のオーバーラップを決める時の動的配列アロケーションをやめました (RemoveSingleSwap は、配列のシュリンクを避けるように変更されました)。

    • 少量のオーバーラップの場合の動的アロケーションを避けるために、小さなサイズを初期値として持つ、TInlineAllocator を使用します。

  • UActorComponent の EditReregisterContexts は、PostEditChangeChainProperty が呼び出された時、適切に取り扱われるようになりました。

  • インスタンスで BlueprintCreated のコンポーネント配列は、OwnedComponents 配列から要素を取り除く時、正しくクリーンアップするようになりました。

  • OnComponentCreated は、アクタのコピー&ペーストやコンポーネントの複製後、コンポーネントのために呼び出されるようになりました。

  • ToggleFPS コマンドの説明のタイプミスを修正しました。

  • Windowsプラットフォームでの SSafeZone のパフォーマンスの問題を修正しました。

  • CharacterMovementComponent が、移動中に設定されて移動モードが「None」の場合、新規の UpdatedComponent を受け入れないのを修正しました。

  • タイマー ハンドルを使う時の TimerManager のバグを、修正しました。

ランドスケープ

  • New:完全に XY のオフセットデータを除去し、ランドスケープを純粋にハイトフィールドの位置に戻すために「RemoveLandscapeXYOffsets」コンソールコマンドを追加しました。

  • 「FBodyInstance::UpdateBodyScale NegX does not exist」(FBodyInstance::UpdateBodyScale NegX は存在しません) という警告を修正しました。

ネットワーク

  • クライアントとサーバーの接続方法をとても簡単にしましたが、ニーズに合うように機能をオーバーライドすることもできます。

    • 単にエンジンのバージョン、プロジェクト名、およびプロジェクトバージョンの文字列の組み合わせを使用して、単一のチェックサムを計算します。このチェックサムは、クライアントとサーバーが互換性があるかどうかのベリファイに使います。

    • この機能をオーバーライドするために、FNetworkVersion に 2 つの新規のデリゲートを提供します。GetLocalNetworkVersionOverride でサーバーに送るバージョンをオーバーライドし、IsNetworkCompatibleOverride で、サーバーとクライアントが互換性があるかどうかの比較をオーバーライドするようにします。

  • New:ゲームコードに、デモの記録と再生の失敗を取得する機能を追加しました。

  • New:ゲームコードから、デモの再生位置を取得できるようにし、それが見えるように、デモの再生タイムラインバーを ShooterGame に追加しました。

  • New:「DemoRec=」 URLオプション付きで、マップをロードする時、デモを記録する機能を追加しました。

  • New:ETravelFailure::PackageMissing というタイプの移動の失敗が発生する時、エラー文字列は、サーバーから取得したリダイレクト URL になりました。これは、クライアントが失われたマップをダウンロードするアドレスとして使うことができます。

  • New:さまざまな重要なネットワークの問題のログの冗長性を改善しました。

  • New:IOnlineFriends::QueryRecentPlayers を追加して、最近出会ったプレーヤー (友達かそうでない場合あり) へのアクセスを提供しました。

  • 未使用のネットワークプロパティをアクタ基本クラスから除去しました。

  • ネットワークの様々な親切な警告を簡潔にしました。

  • APlayerState::UpdatePing と APlayerState::RecalculateAvgPing、APlayerController::UpdatePing を仮想関数にしてオーバーロード可能にしました。

    • AGameSession から、廃止されたシームレス移動機能を除去しました。

  • 論理的には定数であるネットワーク関数に、指定されていなかった以下の const 修飾子を追加しました。

    • AActor::IsNetRelevantFor, UNetDriver::IsLevelInitializedForActor, UNetConnection::ClientHasInitializedLevelFor, および FNetGuidCache::SupportsObject

  • オンライン機能にアクセスできるように、ULocalPlayer の UOnlineSession クラスの変数を公開しました。

  • ローカルのリッスン サーバー ホストはログイン URL に、クライアントと同じ「ユーザー オプション」を渡すことができない問題を修正しました。すべてのプレーヤーは同じ動作になりました。

  • サーバーが同じマップをトラベルしている時に、最後にロードされたクライアント パッケージ マップ名の名前をリセットします。クライアントが辿り着く前に、サーバーが PostSeamlessTravel に辿り着くことが可能であり、クライアントがまだ存在しないのにクライアントが既にたどり着いているとサーバーは認識するでしょう。

  • ワールドのネットワーク ドライバは、サーバー トラベルに備えてティック中に破棄されたのはクライアントであると、適切に返すようになりました。以前は、GetNetMode() が、動作が未定義のティックの残り分はサーバーであると返していました。

オンライン

  • ロギング カテゴリー 「LogHttp」が、http.h をインクルードすると、可視になるようにしました。

  • Null online subsystem を使用するセッションの検索時に、稀に起きるクラッシュを修正しました。

  • EOnJoinSessionCompleteResult 中の一組の列挙値は、残りのセッションコードとより整合性を持つように名前を変更しました。

  • HTTP WinInet 実装で、遅すぎて役立たない GetLastError 呼び出しを修正しました。

  • BuildPatchServices 内のシャットダウン問題を修正しました。

  • オンライン サブシステム モジュールが、他のモジュールに相対的にロードしたのと逆順でアンロードされない問題を修正しました。

    • オンライン サブシステム モジュールと別のモジュール間に依存関係がある場合のアンロードを安全にします。

  • いくつかのオンライン サブシステム クラスは、構築時と逆順でインターフェースを破棄しませんでした。こうしたケースは修正されました。

    • 特定のインターフェース オブジェクトが、同じオンライン サブシステムの他のインターフェースへのポインタや参照を持つ場合に確実に安全にします。

Paper2D:

  • New:特定のスプライト アセットがフリップブック アセットによって使われているかどうかを示す、ContainsSprite メソッドを UPaperFlipbook に追加しました。

  • New:タイルマップ レンダリング コンポーネントが、インスタンス化されるのか、アセットの参照なのかを決定するメソッドを追加しました (UPaperTileMapRenderComponent::OwnsTileMap)。

  • New:単一のタイルが妥当か、妥当でないかを決定する、FPaperTileInfo::IsValid を追加しました。

  • New:UPaperTileMapRenderComponent を UPaperTileMapComponent に名前を変えました。

  • New:DLL エクスポートをさまざまな Actor(アクタ) クラスに追加しました。これで、他のモジュール中で派生させることができるようになります。

  • UPaperTileMap::SeparationPerLayer のデフォルト値を4に変更しました (64から)。

  • サイズの変更がない場合の不要な作業を避けるために、UPaperTileLayer::ResizeMap を修正しました。

  • UPaperTileMap::PostEditChangeProperty を最適化し、この特定のタイルマップを実際に使用するコンポーネントだけを再登録するようにしました。

  • エンジン初期化後にロードするために、SmartSnapping モジュールを移動することにより、スタートアップの稀なクラッシュを避け、初期化前にレベル エディタ モジュールをロードしないようにしました。

物理

  • New:トレース チャンネルと応答パラメータの代わりに Collision Profile を使って、コリジョンのトレースをする新規の API を追加しました。

    • UWorld トレース関数は、「ByProfile」で終了する以外は同じものです (例 SweepSingleByProfile)。

    • 「CollisionProfileName」という BlueprintType 構造体があり、ブループリント内でコリジョン プロファイルを指定するために使います。プロジェクト用のコリジョン プロファイルの設定とカスタム コンボボックスの作成に使います。

PanelWidget.png

  • Expose on Spawn をサポートするグラフ ピン ウィジットもあります。

PinWidget.png

  • New:エンジン モジュールの外側で、C++によるサブクラス化をするために、ENGINE_API を UTireType クラスに追加しました。

  • コリジョン プロファイルやチャンネル、レスポンスと共に動作する便利なユーティリティ関数を追加しました。

    • 関数「UCollisionProfile::GetChannelAndResponseParams」を追加しました。これは、コリジョン プロファイルから、コリジョン チャンネルとレスポンス パラメータを返します。

    • 関数「FCollisionResponseContainer::ReplaceChannels()」を追加しました。これは、特定のレスポンスと一致するレスポンス チャンネルを、別のレスポンスと一致するレスポンス チャンネルに置き換えます。

    • 関数「FBodyInstance::ReplaceResponseToChannels()」を追加しました。これは、特定のレスポンスと一致するボディのレスポンス チャンネルを、別のレスポンスと一致するボディのレスポンス チャンネルに置き換えます。

  • 車両が移動しない場合に何もしないように、Vehicle UpdateDrag 関数を最適化しました。

  • コリジョン TriMesh (BSP) データをクックする時、非常に小さい領域の三角形を除去しました (領域は、物理設定「TriangleMeshTriangleMinAreaThreshold」により制御されます)。

    • PhysXの三角形メッシュコリジョンデータ中に縮退三角形を持つことによる様々な問題を修正しました。

    • この効果を得るには、ジオメトリをクックしなければなりません。クックされた物理データバージョンは、強制的にジオメトリをリビルドすることにより、バンプさます。

  • インスタンス化されたメッシュ コンポーネント上のインスタンス トランスフォームを更新する時のスケールを設定し、インスタンスの物理状態が正しく更新されるようになりました。

  • ゲームサイドの継承のための WheeledVehicleMovementComponent を更新しました。

  • OverlapMulti クエリの結果を修正し、オーバーラップしているオブジェクトが、自己をオーバーラップしていると返さないようにしました。

  • 凸型メッシュが、「zero distance」(ゼロ距離) ヒット (何かのすぐ隣をヒット) に対して有用な貫通距離を与えない問題を修正しました。

    • Fallback (フォールバック)は、凸型メッシュのために (メッシュ膨らますことができないので)トレースの方向に押したり、引いたり、軸方向に (ヒットしたシェイプに対してだけ)押したり、引いたりした距離を試すことでシミュレーションされるようになりました。

  • 最小の移動方向が失敗した時、初期値としてオーバーラップ (距離 = 0 以下) を持つBSPコリジョン問題を修正しました。

    • 以前のフォールバック FindOverlappedTriangleNormal() は、接点に対して正確にある時、三角形を返せなかったので、テストに失敗したら、わずかに膨張したクエリ ジオメトリを使いました。

プラットフォーム

  • New:GitHub/Perforce ユーザーが、コンテンツだけのゲームを、関連する UE4 バイナリなしで、パッケージ化しようとする時、パッケージング中に詳細付きで通知されます。

Android
  • New:メッセージ ボックスは、適切な時に、ユーザー入力が必要な場合に表示されるようになりました。プログラマは、FMessageDialog インターフェースを使って表示することができます。

  • 複数の CPU や GPU タイプを Android のプロジェクト設定で選択するなら、別個の APK にするようになりました。これにより .apk のファイル名は、-es2 (または -es31)を持つようになります。

  • 画面解像度選択のデバッグログを追加しました。

  • Android用の Java Native Interface のコードをいくつか取り除きました。

  • GooglePlay Game のログイン待ちのタイムアウトを追加して、GPGへの onActivityResult が送り返されないのを修正しました。

  • Android のシェーダーのオーバーライドを取り除いて、シェーダーのコンパイルに失敗した後のキャッシングを無効にしたので、オーバーライドが実際にテストされるようになりました。

  • GL_OES_standard_derivatives 拡張が、ES2 のために検出されるようになり、Androidのシェーダーのパッチによって無くなった dFdxやdfdY、fwidth 関数に対応しました。上記の修正は、こうした関数を適切に更新しないことに注意してください。ただし、距離フィールドのフォントのような場合には回避策があります。

  • Android の OS クラッシュ ハンドラー (今のところ、システムの Logcat から、よりよいスタックトレースが得られます) を無効にしました。これを有効にするには、AndroidJNI.cpp の JNI_OnLoad 内の FPlatformMisc::SetCrashHandler(EngineCrashHandler) の中のコメントを外します。

  • タッチイベントは、OpenGL が初期化される前に、GetScreenRect を呼ばなくなりました。これは、後のクラッシュにつながるイベントスレッドからの初期化を引き起こしていました。

  • パフォーマンスのために、FAndroidWindow::GetScreenRect の結果をキャッシュするようになりました。

iOS
  • デフォルトのレンダリング ターゲット ハンドラーを NoAction ではなく、Load/Store に変更しました (少し速度低下を招く、いくつかのレンダリング エラーを修正しました)。

  • arm64 ビルドで問題を起こす、iOSでの不正な int32 の使い方を変更しました。

  • iOS 用のプラグインのコンパイル時に、サードパーティのフレームワーク内のヘッダを探すのを、コンパイラーが失敗する原因となるエラーを修正しました。

  • iOS アプリケーションデリゲート内の非推奨の handleOpenURL の使い方を修正し、openURL をかわりに実装するようになりました。

Mac
  • New:Mac上のウィンドウのサイズ制限を追加しました。

  • New:バイナリ:Mac の RocketBuild.sh に、マイナスの UBT 終了コードの場合の処理を追加しました。

  • New:サポートされていない OpenGL デバッグ出力拡張についての警告を無効にしました。

  • New:GL_ARB_draw_indirect 拡張がある時に、DrawIndirect レンダリングのサポートを追加しました。

  • New:Mac は、メモリ確保のための FMallocAnsi を使うために、「UE4_FORCE_MALLOC_ANSI」環境変数チェックするようになりました。これは、Apple の「OpenGL Profiler」のアタッチや、それがクラッシュする時に必要です。

  • Apple のコード内でクラッシュするのを避けるために、Crash Report Client (クラッシュレポートクライアント) と他のヘルパー プログラムを除く、すべての Mac OS X 上のコースタックシンボルを無効にしました。

  • 幅広く RPATH を使うことで、dylibの検索パスを単純化しました。

  • Control キーと Command キーの意味は、Mac のプラットフォームレベルで交換されなくなりました。

  • Mac のデフォルトのスレッドのスタック サイズを、2 MB に増やしました。

  • 空のカスタム リソース パスによって起きる、MacToolChain 内のクラッシュを修正しました。

  • Xcode プロジェクトに、Server ターゲットが見つからない問題を修正しました。

  • ICU ライブラリのデバッグ バージョンでのリンクを修正しました。

  • PC からリモートでビルドする時の Mac 上の rpath の設定を修正しました。

  • Unixでないドライブ上での Git 依存性の同期を修正しました。

  • SmallLayoutFont にアクセスするためにスタティック関数を使うことによる潜在的なクラッシュ バグを修正しました。

    • この値は、UObject が、その値を初期化する前に構築すると、アサートを引き起こします。これは、モジュールのロード順に依存した Mac OS X 上で起きます。

    • スタティック関数を使用すると、常に UObject システムが初期化された後の最初に必要な時にだけ、値が構築されるのを確実にします。

  • Mac OS X 上でテクスチャ作成の失敗を引き起こす、GL_UNPACK_CLIENT_STORAGE_APPLE の不正な使い方を修正しました。特に、事前計算された大気フォグのテクスチャ データに影響します。

  • Mono 3.12.0 と共にローンチされた、UnrealBuildTool のクラッシュを修正しました。

  • ApiTrace を使用して、Mac OS X で Unreal の OpenGL の使用を記録するように ApiTrace を修正しました。これは、ApiTrace が正しく実装されない GL_APPLE_texture_range と GL_APPLE_client_storage の拡張子を無効にすることによって行いました。

  • Mac OS X 10.10.1 以降から、テクスチャ作成後に OpenGL をフラッシュする必要がなくなり、パフォーマンスが向上しました。

    • OpenGL コンテキスト全体でリソースを正しく共有するため、サスペンド後にレンダリング スレッドを再開する前に、OpenGL をフラッシュするコードを追加しました。

  • Mac OS X 10.10.1 以降では、このリリースの Mac OS Xから、Unreal 内で動作するため、マルチスレッド OpenGLと共に glBufferSubData を使ってください。

  • Appleのマルチスレッド OpenGL オプション(デフォルト)を使う時、Mac OS X 上でクラッシュしないようにしました。

    • RLM_Write マッピングタイプのための適切なフラグを使うために、FOpenGL3::MapBufferRange を修正しました。

    • glBufferSubData の代わりに使われる FOpenGL3::BufferSubData を追加したので、Mac OS X上で、MTGLの同期化バグを避けるために、glBufferSubData を呼び出す必要がなくなりました。

Linux
  • New:ソースをブラウジング/編集する時、KDevelop を使った相互運用性のためのプラグインを追加しました - 実験的。

  • New:ファイル システムから独立したファイルの大文字、小文字を区別しない読み込みを追加しました (エンジンは、見つからないファイル名を既存のファイル名の 1 つにマップしようとします) - 実験的。

  • New:QMake プロジェクトジェネレーターを UBT に追加しました。

  • New:入力を扱うために、SDL テキスト入力 API に変更しました。

  • New:clang++ が $PATH に見つからない時、UBTは、一緒にインストール可能な clang バージョンの名前を探すようになりました。

  • 多くの警告の抑制の解除 - 前のバージョンで作成したLinuxプロジェクトのビルドを中断できるようにします。

  • OpenGL 関数とエンジンのシンボル間の名前の衝突を修正しました。

  • Mono プロジェクトのコンパイルは、不正なツールのバージョンによって失敗することはなくなりました (ただし最新のMonoサポート ツール 4.0 を使うことを前提とします)。

  • GitDependencies.exe は、Mono がクラッシュした場合にリスタートするようになりました。

  • x86-64上で、SIMD 数学を使わない Linux を修正しました (4.6では、ARMサポート追加時に、誤って無効にしていました)。

  • Vehicle と Vehicle Advanced テンプレート コード プロジェクトを修正したので、大文字小文字を区別するファイル システム上でコンパイルできるようになりました。

Playstation 4
  • New:関数の最適化レベルの制御を追加しました。関数宣言時に、DISABLE_FUNCTION_OPTIMIZATION を使ってください。例: DISABLE_FUNCTION_OPTIMIZATION void TestFunc();

  • New:将来的な機能修正およびアサートと妥当性チェックの切り替えを可能にするように、UE4 のコードベースに、LCUE を追加しました。

  • New:kRenderTargetFormat8 レンダリング ターゲットの CMASK をクリアするサポートを追加しました。

  • New:TPri_Highest スレッド優先順位のサポートを追加しました。

  • New:ProfileGPU コンソールコマンドを実行して、描画イベントが自動的に有効になるようになりました。

  • New:* ディレクトリ7以上階層を深くしたステージングされたディレクトリから実行する時、 missing asset (アセットが見つかりません) エラーを修正しました。

  • New:SDK 2.000をアップグレードしました。 Atomic ライブラリのバグのために、SDK 2.000 を使って構築されたアプリケーションのサブミット時、最低限のSDK パッチ 2.000.081 を使わなければなりません。

  • orbis-crtl と新規の PS4DevKitUtil ツールにシェルアウトすることによって、メイン エンジンからマネージ コード(PS4 のターゲットの管理に使われていたもの) を取り除きました。

  • デバイスからデータを読み出す時、PAK ファイルが GameSavedDir() 内にある時にクラッシュを修正しました。

  • VSI v2.3.0.5 が Visual Studio アドインから、Visual Studio 拡張に変更されたため、PS4 SDK のインストールの検出を修正しました。

  • ProfileGPU コンソール コマンドの実行時に、デバッグ ログにログが重複して出力されるのを修正しました。

  • TestKits 上で、開発ビルドが失敗する問題を修正しました。TestKits は、すべてのビルドで動作するようになりました。

  • SV_Position が、S_POSITION にマップできないのを修正しました。いくつかのシェーダーで不正な振る舞いの原因になっていました。

  • 現在の深度ターゲットが HTILE 解決後にリストアできないのを修正しました。

  • バック バッファのサイズのレンダリング ターゲットに対して不正なガード バンドを修正したので、 DBRenderControl は正しく初期化されるようになりました。

  • RHI スレッドを使った時にグラフィックスの破損を生じうる安全でない uniform バッファ アロケーションを修正しました。

  • UpdateTexture2D が sRGB を使って動作しないのを修正しました。

  • GetHostByName が不正なバイト オーダーでホストを返すバグを修正しました。

  • サブミットしたコマンドリストの妥当性チェック時の null pixel shader (ピクセル シェーダーがない)警告を修正しました。

  • ログイン状態を変更した時、FUniqueNetIds が、適切に状態を更新しないのを修正しました。

  • 失敗時に適切に作成をリトライするように、matching2 のコンテキストを修正しました。

  • MemoryBarrier 呼び出し周りのコンパイラーの潜在的な再オーダリングを修正しました。

  • シザー矩形が期待通りに動作するように設定する時の有効フラグを修正しました。

  • PS4 のスレッド アフィニティ インターフェースを完全に実装しました。

Xbox One
  • New:並列レンダリングに対してより堅牢な WriteQuery API を使う、新規の Xbox One オクルージョン クエリ システムを追加しました。

  • Xbox One ビルドには November 2014 QFE1 XDK が必要になりました.

  • Xbox One のパッケージ名ユーティリティをエンジンのフルパスで呼び出すように修正しました。これで、特殊なパス設定でのビルドの問題はクリアします。

  • Xbox One のコード中の OVERRIDE マクロのコンパイル警告を修正しました。

  • New:Xbox One のデバッグ シンボルが、処理され、実行時のためにキャッシュされるようになりました。これは、将来的に実行時デバッグを改良できるようにします。

VR

  • Oculus SDK を 0.4.4 に更新しました。

  • Oculus Mobile SDK を 0.4.2 に更新しました。

レンダリング

  • New:* New: デバッグ描画のための関数を拡張しました ( SceneManagement.h ファイル内のAPI)。これはデバッグのレンダリングに便利です。

    • ワイヤー状のレンダリングのためにいくつかの関数への「Thickness」(厚さ)パラメータを追加しました。デフォルトでは 0 に設定されています。

    • GetHalfSphereMesh、GetConeMesh、GetCapsuleMesh の各関数を追加しました。

  • New:「r.FullScreenMode」コンソール変数は、目的がわかりやすくなるように更新されました。

    • 「2」の値 (ネイティブ解像度でウィンドウ化) は、単に「1」のウィンドウ化の特別な場合にすぎないため、なくなりました。

      • ウィンドウ モード時に、エンジンは、常に要求された解像度 (「r.setres」からの) に従うようになりました。

  • New:r.SkySpecularOcclusionStrength を追加し、ディスタンス フィールド アンビエント オクルージョンの空のスペキュラへの影響を微調整するようにしました。

  • New:SplineComponent の親クラスを、SceneComponent から PrimitiveComponent にしたので、サブクラスはレンダリング機能を持つようになりました。

  • New:サブクラスのための Decal Component (デカール コンポーネント)のエクスポートを追加しました。

  • New:InstanceInverseTransform 行列を、InstancedStaticMesh のインスタンスごとのレンダリング データから取り除いて、メモリを大幅に節約しました。この行列は、レンダリング コードで一切使われなくなりました。

  • 可能な場合にシェーダーを SV_Position を使うように変更後の OpenGL でのレンダリングを修正しました。

    • シェーダー コンパイラー内で、OpenGLの SV_Position と違う gl_FragCoord.w の値を修正しました。

  • glBufferSubData の使用を FOpenGL::BufferSubData で置き換えて、プラットフォームでその実装をオーバーライドできるようにしました。

  • キャンバス上に DrawMaterial / DrawMaterialSimple を使って描画されたマテリアルが、iOS と Androidで、upside-down(縦で上下逆)に描画されるバグを修正しました。

  • SVPosition.w がカメラからの距離を含むべき場合の Metal 上での問題を修正しました。

  • すべての可能な機能レベルで、グローバルなシェーダーマップをバックアップとリストアするように、Renderer Module を再コンパイルしました。

  • Vector Virtual Machine 内の、すべての操作のサポートを追加しました。現在は、ほとんどはベクトル化されないので遅いです。Sin 関数と Cos 関数のベクトル化実装を追加しました。

  • ダイナミック ディレクショナル シャドウが、いくつかのモバイルプラットフォームで現れないのを修正しました。

  • 並列レンダリング使用時に参照カウンターが、リソース バインディングでクラッシュするのを修正しました。

  • ライトコンポーネントが抹消された時に、ライト シャフトにレンダリング ターゲットが、適切に解放されるようになり、メモリ リークが修正されました。

UI

  • New:スレート内のカスタム通知のサポートを追加しました。これを使って、任意のウィジット コンテンツを通知できます。

    • サンプルとして、新規の FNotificationInfo コンストラクタを参照してください。

  • いくつかのメニュー項目での不正なツールチップを修正しました。UI_COMMAND マクロから集めたローカライズしたテキストは必要に応じて、LOCTEXT_NAMESPACE で定義される名前空間を使うようになり、UICommands 名前空間の下にその名前空間をネストするようになりました。

  • UIMin メタデータが UIMax なしで使われた場合の数値範囲の長い警告をしないようにしました。これは、片方だけ閉じているスライダーウィジットを制約する正当なケースだからです。

スレート

  • New:完全にクリップされた子を描画しないように、SCanvas::OnPaint に最適化を加えました。

  • New:スレートのアトラス ビジュアライザーを改良し、スレート フォント アトラス ページを見られるように、フォントアトラス ビジュアライザーを追加しました。

    • フォント アトラス ビジュアライザーは、スレート ウィジット リフレクターか、「FontAtlasVisualizer」のチートを通して開くことができます。

    • テクスチャアトラスビジュアライザーは、Slate Widget Reflector (スレート ウィジット リフレクター) か、「TextureAtlasVisualizer」のチートを通して開くことができます。

    • アトラス ページにズームとパンのサポートを追加しました。2048x2048 まで大きくできるためフォント アトラスを見るのに、大変役立ちます。

  • New:トリガー アトラスのデバッグ ビューのためのボタンを、Widget Reflector (ウィジットリフレクター) に追加しました。

  • New:スレートの Core Style は、固定幅フォントを含むようになり、テーブル データを表示するのに便利になりました。

  • New:ウィジットへのカーソルのロックは、ウィジットのジオメトリが変更された場合でも、最新のロック領域の境界を保存するようになりました。

  • New:複数の SMenuAnchor の改良

    • SMenuAnchors は、コンテキストに基づいて、EPopupMethod::UserCurrentWindow か EPopupMethod::CreateNewWindow を自動的に見つけるようになりました。

    • EPopupMethod::UseCurrentWindow を利用するメニューは、適切にウィンドウの境界を守って、ウィンドウ内に最適にフィットするようにします。

  • New:スレートは、半径による当たり判定をサポートするようになりました。この機能はまだ鋭意開発中で、APIは変更になるかもしれません。

  • New:スレート ウィンドウは、MinWidth、MinHeight、MaxWidth、MaxHeight をサポートするようになりました。

  • New:Widget Reflector は、スレート パフォーマンス指標を表示するようになりました。

  • New:GetMousePositionScaledByDPI を追加して、行のマウス位置をウィジットと同じ空間に、現在の DPI スケール値によるスケーリング後に、変換できるようになりました。

  • New:STableRow::OnCanAcceptDrop と STableRow::OnAcceptDrop を追加しました。これらのデリゲートを実装することで、可視化、およびリスト ビューやツリー ビュー、タイル ビューへのドラッグ&ドロップの処理がすぐに使えるようになります。

  • リスト ビューは、スクロール範囲外になる場合、スクロールしようとしません。このチェックは、オーバースクロールが許可されていない場合のみ実行されます。

  • float とベクトル定数が見つからないというデバッグ時のみの警告を、他の Get メソッドが動作する方法に一致するスタイルで追加しました。

  • Slate Draw Prepass をトップ レベル ウィンドウ上でのみ呼び出すように修正しました (トップ レベル ウィンドウの子ではなく)。

  • SBoxPanel の InsertSlots 関数は、インデックスの指定がなければ、デフォルトで AddSlot になります。

  • SSearchBox をカスタマイズできるようになったので、ボタンはテキスト入力領域の左に出せるようになりました。

  • スロットのスレートのリソースは、パネルからスロットを除去後に解放されるようになりました。ひとつのパネルに複数の項目の追加や除去後に終了する時に、ドラッグ&ドロップか他の理由でクラッシュするバグを修正しました。

  • スレートウィジットをフォーカスすることで、ゲームがモーション入力を受け取ることを妨げるバグを修正するために、スレート アプリケーションは、モーション検出イベントを渡します。

  • スレートのインライン編集可能なテキストボックスが閉じた時に正しくキーボードのフォーカスを復元しない問題を修正しました。

  • フォーカスされていないと、ビューポートが必要なカーソルを正しく視覚化しないというバグを修正しました。

  • 要求していないのに、常に親のウィジットのフォーカスを失うというメニュー内の問題を修正しました。

  • ゲームパッドからのいくつかのキー入力イベントが、ゲームパッドからのものであることを適切に指定しなかった問題を修正しました。

  • ScrollView Bar Style (スクロールビューバーのスタイル) を設定しても使用されない問題を修正しました。

  • SListView は、選択がクリアされて何も選択されていない場合でも SelectionChanged を出さなくなりました。

  • element batche (エレメント バッチャー) 内で、マージンがある場合に画像がまだボックスとして扱われているというバグを修正し、代わりに適切にフィールドを無視するようにました。

  • ドラッグ&ドロップ終了後に、MouseEnter (マウスが入った)イベントがリセットされるようにするために、カーソルの下のウィジェットを適切にリセットするようにしました。

サンプルゲーム

  • UStrategyAIAction_AttackTarget::MoveCloser 内のクラッシュを修正しました。

  • C++の Flying テンプレート内で spacebase が推進力を適用しない問題を修正しました。

  • StrategyGame(戦略ゲーム): 不要な PlayMovie() の呼び出しをなくしました。

    • PlayMovie() は、UEngine::LoadMap() 内で、FCoreUObjectDelegates::PreLoadMap.Broadcast() によって呼び出されます。

  • Strategy Game サンプル内の潜在的なクラッシュを修正しました。

  • ShooterGame(シューティング ゲーム) サンプル: いくつかのスポーン関数を修正しました。

    • IsSpawnpointPreferred を修正し、スポーン地点が使えるかどうかの判断に必要なカプセルデータにアクセスするために、キャラクタのデフォルトのオブジェクトを使うようにしました。

    • プレーヤーキャラクターオブジェクトが使えない場合に、IsSpawnpointPreferred が false を返すように修正しました。

    • チェックするスポーンが null の場合に、IsSpawnpointAllowed が false を返すように修正しました。

UMG

  • UWidget と UWidgetTree が、現在はその一部になっている UWorld をクエリする方法を持つようにしました。ポップアップを出そうとする時の現在のワールドへのアクセスを持たない MenuAnchor 内でのクラッシュを修正しました。

  • C++ でのウィジット コンポーネントは、UMG モジュール DLL から完全にエクスポートされたシンボルになりました。

  • UserWidgets は、どのワールドにいるかを把握するアウターを探すアウターチェーンに従うようになりました。これは、プレーヤーコントローラークエリ...などのために、静的に定義されているネストした UUserWidget から、ウィジットがどのワールドの中にあるかを知リたい場合に必要です。

  • 明示的に UUserWidget を破棄しようとする場合のための、より安全なハンドリングを追加しました。SObjectWidget または 親の UMG ウィジットからウィジットの参照を強制的に除去できるようになりました。

  • FUMGEditorModule::PostCompile が 2 回呼び出される時のクラッシュを修正しました (プリコンパイルなしで)。

  • 新規のノードをグラフに挿入しようとして null ノードになる時の UMG エディタ内で起きるクラッシュを修正しました。

アップグレード ノート

バージョン

  • 最小のエンジンバージョンは、バージョン 108 から 214 に上がりました。

    • 2013 年 4 月の QA ビルド以降に保存されたすべてのコンテンツは、依然としてロード可能です。すべての古いコンテンツは更新前に再保存されます。

    • 除去されたバージョンのためのすべての下位互換性コードは、P4 変更リスト#1563929 時点で存在した非推奨のプロパティやクラス、関数、すべてのリダイレクトを持つため、除去されました。

    • このフォーラムスレッド内に詳細があります。 Old Sample Content in UE 4.7 [IMPORTANT]

プログラミング

  • Visual Studio 2013 が、Windows上でエディタをビルドするのに必要になりました。Visual Studio 2012 形式のプロジェクトファイルは、それを必要とするプラットフォームのために、まだサポートされていますが、エディタのターゲットのビルドは、常に 2013 のツールチェーンを起動します。

C++ API 変更点

  • ClampSize と SafeNormal は、非推奨となり、まだ使っている場合は警告を出すでしょう。GetClampedToSize と GetSafeNormal などを使うようにしてください。

  • Kinect を使うどんなタイトルも手動で、Deploy.appxmanifest.template と Package.appxmanifest.template 内の新規セクションを4.7用に手動で編集する必要があります。これは将来のリリースでは、プロジェクト設定に移動する予定です。

  • GPixelCenterOffset、GSupportsVertexInstancing、GSupportsEmulatedVertexInstancing、GVertexElementsCanShareStreamOffset、GSupportsVertexTextureFetch 変数を除去しました。

  • FAudioDevice::SetClassVolume を除去しました。

  • プロパティ表示名やフィルタ文字列、ツールチップのために FString を使って get やset していたプロパティエディタのAPIは、FText を代わりに使うようになりました。これは、高い確率で既に適用済みの任意の詳細のカスタマイズに影響します。

  • AActor::SetActorTickEnabled は、仮想関数ではなくなりました。

  • ULocalPlayer::ControllerId の直接使用は、GetControllerId()を使うように変更する必要があります。

  • FEditorViewportClient のコンストラクタのシグネチャが変更になり、FEditorViewportClient のサブクラスを持つカスタム エディタは、親のコンストラクタの最初の引数として、nullptr を渡すように更新する必要があります (FEditorModeTools* InModeTools)。

  • UNavigationComponent を除去しました。

  • 基本のプロパティのオーバーライドを使ったマテリアルのインスタンスは、常に基本のマテリアルの設定を使うのではなく、親のオーバーライドを正しく継承するようになりました。前述の古い動作に依存しているなら、該当ののマテリアルのオーバーライドを更新する必要があります。

  • IHeadMountedDisplayInterface を少し変更しました。この拡張機能を利用するなら、HMD デバイスの他の実装で更新が必要になります。

  • INavAgentInterface::GetNavAgentProperties は戻り値の型を変更したので、オーバーライドしたなら、コードを更新する必要があります。

  • カスタムブラックボード キー オブザーバーを作成したなら、コードを更新する必要があります。コンパイラーは警告を出します。

  • C++ によるご自身の Behavior Tree ノードを実装したなら、親関数のオーバーライドを更新する必要があるかもしれません。

  • AIController::GetFocalPointOnActor の変更に伴い、FFocusKnowledge::FFocusItem は除去され、標準の FVector に置き換えられました。

  • AAIController::UseBlackboard は、不可視になりました。AAIController::InitializeBlackboard を、ブラックボード アセットごとに一度の初期化のために、オーバーライドします。

  • コードで AActor::IsNetRelevantFor または UNetConnection::ClientHasInitializedLevelFor をオーバーライドする場合、関数のシグネチャに const 修飾子を付ける必要があります。

  • EOnJoinSessionCompleteResult 内の一組の列挙値は、以下のように残りのセッション コードとより整合性のあるものに名前を変更しました:

    • EOnJoinSessionCompleteResult::RoomIsFull は、EOnJoinSessionCompleteResult::SessionIsFull に名前が変更になりました。

    • EOnJoinSessionCompleteResult::RoomDoesNotExist は、EOnJoinSessionCompleteResult::SessionDoesNotExist に名前が変更になりました。

  • シーン プロキシの GetDynamicMeshElements パスは、デフォルトで有効になりました。

    • PreRenderView / DrawDynamicElements は、使われなくなり、除去されました。

  • CharacterMovementComponent ネットワーク関数では、加速度パラメータの型は FVector_NetQuantize100 から FVector_NetQuantize10 に変更になりました。

  • EGameplayContainerMatchType は、名前空間の列挙から列挙クラスに変換されたため、EGameplayContainerMatchType::Type の代わりに直接 EGameplayContainerMatchType を使ってください。

  • -touchonly スイッチを使った buildpatchtool.exe を起動するすべてのスクリプトは、代わりに -nopatchdelete を使った呼び出しに変更してください。

  • FLevelEditorViewportClient::ComponentIsTouchingSelectionBox と FDragTool_ActorFrustumSelect::IntersectsVertices は除去されました。メソッド中で特定のコンポーネントの型を扱うコードは、コンポーネント自身の中で、適切なUPrimitiveComponent インターフェース メソッドに移動してください。

  • IContentBrowserSingleton::CreateOpenAssetDialog と CreateSaveAssetDialog は、2番目のデリゲート パラメータ: OnDialogCancelled を使うようになりました。

  • UpdateLevelStreaming と FlushLevelStreaming は、表示情報が不要になりました。

  • FAsyncPackage::GetPackageName() は、FString の代わりに、FName を返すようになりました。状況によっては、既存のコードを壊すかもしれません。

  • USkeletalMeshComponent::UpdateKinematicBonesToPhysics は、ボーンのセットを更新するために、参照パラメータを使うようになりました。

    • USkinnedMeshComponent::SpaceBases のpublicなトランスフォーム配列は除去され、privateな SpaceBasesArray とアクセッサ関数 GetSpaceBases() と GetEditableSpaceBases() に置き換えられました。

  • 新規の純粋仮想関数を IAssetEditorInstance; InvokeTab() に追加しました。

  • 以下の新規の純粋仮想関数をソース コントロール API に追加しました。

    • 新規の純粋仮想 ISourceControlState::FindHistoryRevision(const FString&)

    • 新規の純粋仮想 ISourceControlRevision::GetRevision()

    • 新規の純粋仮想 ISourceControlProvider::UsesChangelists()

  • ScriptComponent から継承するクラスは、代わりに ScriptPluginComponent から継承するために更新する必要があります。

  • デリゲートは、演算子==と互換性がなくなりました。すべてのデリゲートは、GetHandle() で取得できる FDelegateHandle を使って作成されるようになりました。

    • マルチキャスト デリゲートの .Add* 関数は、ハンドルを返すようになり、.Remove(FDelegateHandle)で除去されるようになりました。RemoveAll はまだ使えます。

    • デリゲートの identity に依存するシステムは、ハンドル ベースのシステム、例として、timers、tickers などに置き換えられました。そのようなものを使っている場合は、非推奨の警告に記載されている関数を使って置き換えるべきです。

  • MovementComponent::UpdatedComponent の戻り値は、UPrimitiveComponent から USceneComponent に変更になりました。

  • コンポーネントが現在アタッチされているものと同じパラメータでアタッチする場合のために、AttachTo() に、無駄な処理をしないように早めに終了するように追加しました。

    • 同じパラメータを使った AttachTo() 呼び出しの振る舞いに依存している場合、デタッチと再アタッチになり、明示的にデタッチを先に行う必要があります。

  • FCoreUObjectDelegates::OnObjectModified は、呼び出される Modify() を持つ各固有のオブジェクトに対してフレーム毎に一度だけ呼び出されるようになりました。

  • SListView は、UObjectではないポインタ型でインスタン化できなくなりました。これは、決して SListView の正しい使い方ではありませんが、以前はドキュメンテーションのためにだけ実行されていました。

  • マクロと関数の説明を調整し、関数呼び出しのセクションを追加しました。

  • 仮想カーソルのために、FHittestGrid::GetBubblePath に半径のパラメータを追加しました。これで、カーソルを単一の点よりも大きくすることができます。このビヘイビアが不要なら、0 のままに設定しておいてください。

  • インスタンスごとのオーバーライドという役割を正確に説明するように、MeshComponent::Materials という名前を OverrideMaterials に変更しました。

    • それに伴って、GetNumOverrideMaterials は、オーバーライドされているマテリアルの数を返すようになりました。

  • FEdMode で、 GetModeManager() として所有しているモードツールを公開し、GetWorld() コードをモード ツールの virtual にリファクタリングしました (アセット エディタから使えるシーンを引っ張るために、FAssetEditorModeTools 内でオーバーライドされています)。

  • スタンドアロンのアセットエディタは、所有するモード ツール インスタンスをホストするようになり、レベルエディタの外部で、エディタ モードと関連する仕組みの再利用が可能になりました。

    • この機能はまだ作業中です。選択セットやワールドインスタンスへのパスなどの多くの状態は、まだ通常、GEditor のようにグローバルにアクセスされますが、Paper2Dのスタンドアロンのタイルマップ エディタで実演可能な実装になっています。

    • ほとんどの ModeTools の相互作用とサポートは、レベルエディタから FEditorViewportClient に移されています。

  • UEditorEngine::ReplaceSelectedActors は、未使用のパラメータ NewActorClass を使わなくなりました。

  • いくつかの RF_EdSelected への古い参照といくつかの未使用の選択メソッドを取り除きました。

  • GLevelEditorModeTools() の使用を、エディタのビューポート クライアントのサブクラス内の ModeTools に置き換えてください。

  • FEdMode と FEditorModeTools を別々のファイルに分けてください。

  • グラフの結合の描画ポリシーを個別のファイルに分けて、ConnectionDrawingPolicy.h を、既に外部で使われていたので公開フォルダに移動してください。

  • FWidget::SetUsesEditorModeTools に、DLLのエクスポートを追加したので、別のモジュールで使えるようになりました。

  • UStructs のミラーのクラス、例えば、FTransform、FMatrix、FVector などは、クラスではなく構造体として定義されるようになりました。これらの型の前方宣言は、「class」から「struct」にする必要があります。

    • FFloatInterval、FInterpCurveFloat、FDateRange などの typedef は構造体になり、TInterval などとして使う時に型推論でエラーになるかもしれませんので、ケースバイケースで必要に応じて更新してください。

  • 一緒にエディタ モード ツールが登録されていない時の変形ギズモのデフォルトの可視性は true (可視)になりました。カスタム ビューポートにそのウィジットを表示したくないなら、ビューポートのクライアントの FWidget で SetDefaultVisibility(false) を呼び出してください。

アニメーション

  • 古いブランチ ポイントは、自動的にカスタム Anim Notify に変換されるようになりました。

  • 以前の「adding looping interpolation」を使った場合、その変更をアンドゥし、この変更を適用してください。

  • ダブルバッファリングは、Skinned Mesh Component(スキン メッシュ コンポーネント)のすべてのインスタンスでデフォルトでオンになりました。SetSpaceBaseDoubleBuffering(false) を呼び出して無効にすることもできます。ダブル バッファリングを使い、自分でボーンを更新するようにカスタマイズされた派生クラスは、FlipEditableSpaceBases を呼び出す必要があります。USkeletalMeshComponent や UPosableMeshComponent は、その例になっています。

ブループリント

  • どのブループリントにティックを許可するかを注意深く管理しているなら (例 専用サーバーのパフォーマンスためなど)、Can Blueprints Tick By Default (デフォルトでブループリントはティック可能か) をプロジェクトのために false に設定し、特定の重要でないクラスの ChildCanTick を通してティックすることを明示的に選択したくなるでしょう。

  • シーンでないコンポーネントのサブクラスのための Add Component (コンポーネントを追加) ノードを含むブループリントではトランスフォームの指定は不要になりましたが、結合を持つ既存のノードは、ピンは可視でそのまま残るでしょう。

  • レガシー メニュー システムのユーザー設定を取り除きました。レガシーのブループリント エディタのコンテキスト メニューを使い続けたいなら、エディタ設定で再選択する必要があります。ブループリントのチームは、なぜ新システムに切り換えることができないかの理由を是非お聞きしたいです!

  • いくつかのアクタの関数は、「pure」(純粋)になりました。これは、入力と出力の「execution」(実行)を持たないことを意味します。ブループリントは、自動的に修正されなければなりません。

  • ブループリントの検索機能は、アセット レジストリを使うようになりました。完全にこの機能を使うには、ブループリントを再度保存する必要があります。古い Derived Data Cache (DDC) (派生データ キャッシュ) データは、利用可能であれば、まだ検索に使われます。

  • ブループリントで、FText AsDate ノードを使っているなら、出力がまだ期待通りになっているかを確認して下さい。

  • この変更の前にブループリントに実装された const関数があれば、コンパイラーはイベントとしてそれを渡すことができます。しかし、イベントの削除とオーバーライドの再実装は、読み出し専用「self」コンテキストを持った関数グラフとして開きます。例えば、次の C++ のように宣言された関数を持つ時です:

    UFUNCTION(BlueprintImplementableEvent) int32 MyFunctionThatReturnsSomeValue() const;

  • ブループリントで BlueprintImplementableEvent (BPIE) を実装するなら、「const」としてフラグ付けされます。これは、「self」のすべてのプロパティをグラフのコンテキスト内で読み出し専用にします。そのため、プロパティを設定しようとするとエラーになるか、'self' をターゲットとする 非 const、非 static の関数を呼び出します。

  • この変更の前にブループリント内の実装済みの const 関数を持っているなら、コンパイラーはエラーの代わりに警告を出します。これは、対処すべき問題を警告する一方で、const BPIE 関数のコンテキスト内の const に現在「違反している」かもしれない既存ブループリントのコンパイルを可能にするためです。

コア

  • コードがこの変更の結果によって失敗するなら、FAsyncPackage::GetPackageName() の結果を、FName の ToString() メソッドで FString に変換するようにしてください。

  • 新規の UObject 派生クラスのインスタンスを作成するために、new 演算子を使うすべてのインスタンスは、NewObject または NewNamedObject に置き換えてください。

  • FPropertyChangedEvent のコンストラクタの文法が変更になりました。3 つの引数の形式の FPropertyChangedEvent を 1 つか 2 つの引数の形式に置き換えてください。

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

  • ApplyComponentInstanceData を実装するすべての SceneComponent のサブクラスは、Super::ApplyComponentInstanceData を呼びださなければなりません。そうしなければ、このタイプのコンポーネントのアタッチメントは維持されません。

    • すべての SceneComponent の FComponentInstanceDataBase のサブクラスは、FSceneComponentInstanceData のサブクラスに変更すべきです。

  • WebBrowser と CEF3Utils フォルダを Developer フォルダから、取り除いてください。そうしないと、新バージョンと競合するかもしれません。

  • MovementComponent 内の UPrimitiveComponent* 型と見なされるコードは、コンパイルに失敗するでしょう。これは、キャッシュした「UpdatedPrimitive」を使うか、それを必要とするコード中で手動キャストすれば、簡単に修正できます。

  • 「UI」コリジョン プロファイルで、「Weapon」(武器)コリジョン チャンネルが必要なら、Project Settings (プロジェクト設定) -> Collision (コリジョン) を使って、再度それを有効にしてください。

  • UPaperTileMapRenderComponent への C++ の参照は、非推奨の警告を避けるために、UPaperTileMapComponent に更新する必要があるでしょう。ブループリントの参照は、自動的に修正されます。

  • 状態の変更による変更を適用しないために MatchesComponent を使用したFComponentInstanceDataBase のサブクラスは、UActorComponent::ApplyComponentInstanceData のオーバーライドでこのフィルタリングを実行するようになりました。

物理

  • 非推奨のコリジョン チャンネル ECC_OverlapAllDynamic_Deprecated や ECC_OverlapAllStatic_Deprecated を使いたいなら、FCollisionObjectQueryParams::AllDynamicObjects や FCollisionObjectQueryParams::AllStaticObjects を使ってください。

スレート

  • 入力プリプロセッサとアナログ カーソルをサポートしました。

    • スレートは、入力プリプロセッサをサポートするようになりました。

      • IInputProcessor の拡張と実装をして、それを FSlateApplication::SetInputPreProcessor() で登録してください。

    • FAnalogCursor は、ゲームパッドの左のスティックでのカーソル制御を可能にするプリプロセッサの実装です。

  • スレートのヘッダファイルは、ゲームプロジェクトに自動的には含まれなくなりました。

    • ゲームがスレート機能をC++で使うなら、 #include "SlateCore.h" または #include "SlateBasics.h" をゲームモジュールのソースファイルに追加してください。

    • この変更は、スレート機能を直接使わないプロジェクトのリビルド時間を大きく改善しました。

  • 描画されないウィジットは、ティックしなくなりました。視覚的にクリップされたり、畳まれたり、サイズが 0 のウィジットは、ティックしなくなりました。

  • GIsRoutingPostLoad が true の間に、描画とティックのメソッドが呼び出されないようにしました。これは、クックされていないデータがストリーム入力される必要がある時にエディタビルド内で起こります。これが起きている時、スレートはロード中での呼び出しは安全でない UMG ブループリント コードをティックできます。

プラットフォーム

Android
  • AndroidManifest.xml や SigningConfig.xml に対して行った変更は使われなくなりました。プロジェクト設定のAndroidセクションへ行って、カスタマイズしてください。「Package .pak in APK」を設定したなら、プロジェクト設定内でも同様に設定する必要があります。これは古いプロジェクトのための一度だけの変更です。移行を支援するために、画面上にいくつかの情報を載せました。

  • AndroidJNI.cpp に Java の関数呼び出しを追加したなら、注意深く変更をマージする必要があります。

    • 既知の問題: 特定の Lollipop 5.0.1 OpenGLドライバー上でクラッシュするので、ES 3.1 未満をサポートするAndroidハードウエア上での ES 3.0 シェーダーの使用をやめました。この変更で顕著な副作用は、金属のマテリアルで見られます (highly reflective で表示)。4.7.1 で修正が用意できる前に必要であれば、AndroidOpenGL.cpp の 353 行目のコメントを外すと、前の振る舞いに戻ります。

  • Gear VR を使うには、デバイス上で実行するために、.apk 内の osig シグネチャ ファイルをインストールするための Oculus セットアップノートをご覧ください。

iOS
  • Info.plist 設定に加えた変更は、使われなくなりました。プロジェクト設定の iOS セクションへ行って、すべてを必要に応じて設定してください。混乱を減らすために、Info.plist を削除してもよいでしょう。

PS4
  • Companion App のサポートがデフォルトで長く有効になり、プロジェクト設定の PS4 セクションを通して有効にしなければなりません。

  • PS4 の O をクリアしなければなりません: ディレクトリ パス上のハッシュ アルゴリズムが変更されたからです。

Xbox One
  • タイトルが実行中、パス \\RunningTitle\Drives\Scratch\Logs に行くことで、スクラッチ パーティションから Windows Explorerでログにアクセス可能です。

  • Xbox One ビルドには November 2014 QFE1 XDK が必要になりました.

レンダリング

  • オクルージョン カリングを、階層フォーリッジ管理システムに追加することを計画しています。それまで、カメラがインドアだけれども大量のフォーリッジが視錐台にある状況でパフォーマンスが低下するのにお気づきになるかもしれません。

その他

  • コマンドライン スイッチのためのスラッシュ (例:「UE4Editor /SomeOption」); をサポートしなくなり、ダッシュスイッチ(例:「UE4Editor -SomeOption」)だけをサポートするようになりました。スラッシュを使ったスクリプトや他のツールを持っているなら、ダッシュに変更してください。

  • UnrealVS は、自動更新しません。新バージョンをインストールするために、最新の vsix を、実行しなければなりません。

AI

  • ReceiveConditionCheck は、値を返すように変更しました (FinishConditionCheck を呼び出す必要はなくなりました)。その結果、単純なブループリント イベントとして使うのは不可能になりました。関数のように、このイベントを再実装する必要があります (Blueprint UI 内で、この実装を生成するオプションがあります)。古い ReceiveConditionCheck イベントがイベント グラフ内にある状態では、ブループリント エディタで問題が生じる可能性があります。従って、すべての古いReceiveConditionCheck を削除して、すべてのブループリントを保存し、エディタをリスタートし、新しい ReceiveConditionCheck を実装することをお勧めします。面倒をお掛けしてすみません!

  • AIController クラスは、どのようにして pathfinding リクエストを作成し、実行し、pathfinding システムに渡すかを変更できるようになりました。次の関数で詳細をご覧ください: PreparePathfinding、RequestPathAndMove、RequestMove

Paper2D:

  • Separation Per Layer プロパティのデフォルトは4に変更されたので、64 のデフォルト レイヤー分割に依存する、すべての既存のタイル マップはプロパティを 64 に戻して更新する必要があります。