2014年8月14日

Unreal Engine 4.4リリース!

作成 Brandon Sieprawski Shota Imai

Unreal Engine 4.4では新しいUIデザインツールであり、スクリプティングツールでもあるUnreal Motion Graphics の初のお披露目になります。また、このバーションからAIロジックツールであるBehavior Tree Editorがデフォルト設定で標準搭載されました! また、Persona Animation Editor と Paper 2D でたくさんの機能改善があります。Android と iOS プラットフォームへの対応は前回よりもチューニングされていますし、C++のコンパイルのスピードが格段に上がっています! また、マーケットプレイスで4.4用に最適化されたサンプルコンテンツが多数用意してあります。新しいものでは、Landscape Mountains, Matinee Fight Scene, Maximo Animation Packがあります。Content Example maps に Paper 2D と Networking のデモを追加してあります! サブスクライブしてる方は無料でダウンロードできますので是非チェックしてみてください!!

今回の4.4のリリースにおいて、お手伝いいただきました下記の全ての優秀なデベロッパーの皆様に大変感謝致します。

Alex Silkin (alexSilkin), Allegorithmic, Joe Riedel (joeriedel), Joel Riendeau (joelriendeau), Kevin Rushin (Malfate), Marc Kamradt (MarcKamradt), Martin Palko (MartinPalko), Michael Delva (Zoubi), Pablo Zurita (pzurita), Rama (EverNewJoy), Robbie Newman (Ehamloptiran), Robert Khalikov (nbjk667), Robert Wallis (robert-wallis), Roy (Shammah), Scott Michaud (ScottMichaud), Sebastien Rombauts (Srombauts), Stephen Whittle (stephenwhittle), Steve Anichini (solid-angle), thk123, Wesley Hearn (wshearn).

主要な新機能

新規:Unreal Motion Graphics (UI Editor Preview)

Unreal Motion Graphics (UMG) は全く新しい実験的なUIデザインツールでありスクリプティングツールです!

Editor Screenshot

その新しいWidget Editor ツールはインタラクティブなキャンバス上でリアルタイムにプレビューさせながらUIをデザインすることが出来ます。UMGは Blueprints と深くつながっており、UIにゲームプレイのトリガー要素を簡単に盛り込むことが出来ます。UMG は Slate UI システムの上に設計されており、UIウィジェットの大きな配列など、たくさんの機能を継承しています。

Unreal Motion Graphics は現段階では ’Experimental(実験段階)’とさせてください。まだ、完全にはプロダクションレベルでのゲーム開発には使えないと思ってください。下バージョンへの互換性が今後ない可能性もあります。しかし、ぜひ使って頂いてフィードバックをいただけると嬉しいです。UMGを使うには Editor Preference の項目からExperimentalを探していただきまして、そこのチェックボックスをオンにすると使うことが出来ます。

お使いいただくときは是非、 UMG documentation と demonstration video もチェックしてみてください!

マーケットプレイスのフリーコンテンツ

Landscape Mountains - 広大に広がる山脈の上をハングライダーで滑空できるこのショーケースは World Machine で作ったベースオブジェクトにUE4のフォウリッジとマテリアルシステムでデザインしたものです。UE4だとどれだけ簡単にハイエンドでリアルな背景が作れてしまうのか、是非チェックしてみてください。

Wilderness

Matinee Fight Scene - Matineeを使ってどうやってプロのようにシネマティックな映像を作るのか勉強できるショーケースコンテンツです。アニメーションがついたキャラクターをVFXに、全てがどうやってエディター内でコントロールされているのか是非チェックしてみてください。ドキュメントのチュートリアル基本操作手順も合わせてチェックしてみてください。

Fight Scene

Mixamo Animation Pack - Maximo からフリーで使えるアニメーション付きのキャラクターデータが届きました。15体もの様々なキャラクターが用意されているので、ゲームのプロトタイプ製作は今まで以上に簡単になりました!

Mixamo Character pack

New Paper 2D Content Example Map - 今までのサンプルに2Dゲーム製作に関係するものが追加されました。Splite Editorを使ってスプライトの製作と編集方法、Flipbooksを使って2Dのアニメーションアセットをスプライトとキーフレームで製作する方法、FlipbookをBlueprintsでコントロールする方法、2DのアセットにPhysicsを適用させる方法、クラシックなドット絵でスプライトを作る方法、などなど。あわせて Paper 2D documentation もチェックしてみてください。

New Paper 2D Content Example

New Networking Features Content Example Map - Blueprints をつかってどうやってネットワーク機能を実装するか説明しています。Replicationセクションの例題では、正しくサーバーとクライアントで情報のコミュニケーションを取る方法をいろいろなやり方で説明しています。Relevancyセクションの例題では、アクターが既に起動しているゲームにあとから参加する方法を説明しています。Content Exampleをお使いの際は、同時に the documentation もチェックしてみてください!

New Network Features

Behavior Tree Editor

新規:Behavior Tree Editor が使えるようになりました。

Behavior Tree

Behavior Tree Editor ではインタラクティブなグラフエディターでAIの挙動を編集することが出来ます。ここ数ヶ月は動作の安定につとめてきました。だいぶ安定していると思いますので、今回から標準搭載にしました。ぜひゲーム作りに使ってみてください。

AI 実行順序

Behavior Tree ノードはペアレントスコープのなかでどういう順番で実行されているのか表示することが可能になりました。インディケーターにマウスカーソルを乗せると同じレベルで実行されるインディケーターをハイライトさせることが出来ます。

AI Execution ORder

デバッグの際、ツリーの全体的な順序をインディケーターに表示させることが出来ます。

AI 2

ノードの説明ツールチップ

全てのビルトインノードにツールチップ機能が備わりました。マウスカーソルを乗せると何をするためのノードか表示されます。

ai 3

レンダリング

新規:クリアコートシェーディングモデル

新しいクリアコートシェーディングモデルを使えば、半透明なコーティングマテリアルをマテリアルの上に足すことが出来ます。

Clear Coat

(注:画像のキラキラはクリアコートの機能ではなく、単純にマテリアルエディターで作ったベース素材です)

金属、非金属に関わらず半透明な層が上に乗ったマルチレイヤーのマテリアルを作るのに最適です。特に、無色系の金属マテリアルの上に色がついた半透明層を重ねるような表現に特化して設計されてます。

例としては、金属の上にアクリルやラッカーのクリアコートが塗られていたり、色付きフィルムが被せられた 飲料水の缶やクルマのペイントです。

2つの追加パラメター:

Clear Coat. クリアコート層の量を調整します。0にすると、スタンダードなシェイディングモデルとおなじになります。1でクリアコート層が100%かかります。 このパラメターはマスク素材と相性がいいです。

Clear Coat Roughness. クリアコート層のラフネス(拡散具合)を調節します。ただ、現実的にラフネスが高いクリアコートと言うのは存在しないのでここに入れる数値は小さい数値をおすすめします。

新規:Tube Light のライトマス

ライトマスレイトレーサーでカプセル型のポイントライトを作ることが出来るようになりました。このアイディアはコミュニティから頂きました。ありがとうございました! community submission

TubeLight.png

Paper 2D

Paper 2D ダイススプライト

Paper 2Dのスプライトがダイスに対応しました。これにより、半透明にマスクされた箇所が不透明な箇所から分けて扱われるためGPUレンダリングの計算コストをカットすることが出来ました。

この機能を使うには、レンダリングのジオメトリータイプを Diced にします、不透明用のマテリアルを別で用意します。

2D Sprite Dicing

Persona

アニメーションの編集ワークフローを改善しました!

より合理的な Persona のUI. Personaの全てのモードのレイアウトをシンプルに、かつ使いやすいように改良しました。

Improve Animation Editing Workflow

新しいツールバー! Personaのそれぞれのモードにツールバーを追加して、よく使うオペレーションを配置しました。

Anim Editing 2

New Toolbars

アニメーションサムネイル コンテンツブラウザーでアニメーションを綺麗にサムネイル付きで管理することが出来るようになりました。

Thumbnail Animations

アニメーション オートプレビュー アセットブラウザーでマウスカーソルを載せることでアニメーションのプレビューが見れるようになりました。

Animate Auto Preview

全てのアニメーションアセットの保存 Personaのファイルメニューに新たに、全てのアニメーションアセットの保存が追加されました。

Save

隠れたボーンの選択 ビューポートで隠れているボーンを選択できるようになりました。(メッシュはフィジックスアセットである必要があります)

Hidden Bones

ヘルプリンク 公式ドキュメントの関連項目に直接ジャンプできるリンクボタンが付きました

Inline Help Links

メッシュの LOD ビュー Mesh Detail View で各マテリアルのLODを含むLOD設定を表示できるようになりました。

Mesh Load View

アニメーションインポートヘルプ FBXでアニメーションデータをインポートする際に、エラーが発生したら Message Logに詳細を表示できるようになりました。

Animateion Import Help

Shift+クリック で Skeleton Tree のヒエラルキーを開いたり閉じたりすることがきるようになりました。

Persona の Display Info をより簡潔に必要な情報だけを表示するようにしました。

Montageスロットで使用禁止の名前を使った場合にエラーメッセージが出るようになりました。

アニメーションの"Retargeting"オプションはSkeleton タブのみで表示するようにしました。

Animation Editor のズーム機能はマウスカーソルの位置を元にズームできるようになりました。

ようやく、全ての AnimGraph ノードに存在するリファレンスモデルはダブルクリックで そのアセットを開いて編集することが出来るようになりました。

Blueprints

新規:Blueprint ノード Set Members in Structure 

このノードは簡単にユーザーが定義した変数に簡単に値をアサインすることが出来ます。ノードのDetailsでどの構造変数を表示させるか選ぶことが出来ます。

Blueprints Node: Set Members in Structure

新規:BlueprintノードSet Timer Delegate 

このノードは指定した時間のインターバルでカスタムエベントを実行することが出来ます。"Looping"のチェックボックスをオンにすることで連続させて呼び出すことも可能です。

Blueprints Node: Set Timer Delegate

各プラットフォームへの改善点

A huge number of improvements have been made to mobile workflows, including in-editor tutorials to help with device provisioning. New graphics features are available on mobile, such as instanced foliage.MacバージョンのUnreal Editorはたくさん改善されていますが、メニューの改善により 反応が良くなりました。 Android に関しては更に多くのデバイスをサポートできるようになりました。そして、Blueprints のみでin-app purchase に対応出来るようになりました。

その他の改善点は下記のプラットフォームごとにまとめられたリストをご覧ください。

Editor

新規: Snap Actors to Surfaces!

トランスフォームツールバーに新しいボタンが追加されました。このボタンをオンにするとアクターをワールド上のサーフェスの上をなぞるように動かして好きなところに配置することが出来ます。複雑な地形の受けにたくさんのオブジェクトを配置する際にとても有効な機能です。

Snap Actors

そのスナップの挙動は次の2通りで、3軸自由に動かす場合はワールド上のスクリーンスペースでスナップし、コンストレインされたプレーン上で動かす場合はプレーン上にスナップされます。

SnapEditorExample

Physics

新規:シンプル2DPhysicsコンストレイン

2Dプレーンに3DのPhysicsオブジェクトを簡単にコンストレイン出来るようになりました。この機能はサイドスクロールゲーム等を作る際に非常に有効です。

Physics 2D Contraints

この設定はオブジェクト単位で設定するか、プロジェクト単位で反抗することが出来ます。

Ragdollはデフォルトではルートボディでコンストレインされます。これにより、2Dプレーンにアセットが完全にコンストレインされていたとしても腕等は3次元上を自由に動かすことが出来ます。

新規: Custom Friction Modes

Physical Materials は異なる種類のフリクションを持つことが出来るようになりました。

Custom Friction Modes

デフォルトでは2つのボディがぶつかり合う時はお互いの衝突摩擦係数の平均値をとっていました。しかし、これはいくつかのケースでうまくいかないことがわかっていました。例えば氷でぶつかり合った時に0になるようにプラス値とマイナス値の摩擦を持たなくては行けませんでした。

異なるフリクションモードを持てることは異なるエフェクトを作る際に有効です。氷の例で言うと、摩擦を0にするためにMultiplyかMinモードを使うと簡単に0にすることが出来ます。

フリクションモードはプロジェクト単位、またはPhysicalマテリアル毎にオーバーライドさせることが出来ます。

ラーニング リソース

  • 新たなクイック スタート ディレクトリ - Getting Started (入門) ドキュメントまたはエディタから直接すべてのクイック スタート ガイドに飛ぶことができます!
  • Matinee Fight Scene Tutorial (マチネ ファイト シーン チュートリアル)
  • Matinee How-Tos 3-8 (マチネ ハウトゥー 3~8)
  • Paper 2D とスプライン コンポーネントのためのコンテンツ例のディレクトリ
  • Render to Texture (テクスチャへのレンダリング)
  • AI Quick Start (AI のためのクイック スタート)
  • FBX のためのエラー メッセージを改善しました。
  • Mixamo Import Guide (Mixamo のインポート ガイド)
  • iOS Quick Start (iOS のためのクイック スタート)
    • Mac から iOS
    • Windows から iOS (ブループリントのみ)
  • iOS のセットアップおよびデプロイのためのエディタ内チュートリアル
  • Profiler Overview (プロファイラの概観)
  • UMG – Early Documentation (UGM – 初期ドキュメント)
  • Behavior Trees Overview & Reference (ビヘイビア ツリーの概観とレファレンス)
  • デリゲート – AddStatic/BindStatic に関する追加情報
  • Steam に関するドキュメントの更新
  • エディタ内の Persona のツールチップとチュートリアルを更新

新たに追加されたもの

エディタとツール

  • New: ナビゲーション パスが、自動的に再計算されるようになりました!
  • New: レベルブラウザでドラッグアンドドロップすることによって、レベルのオーダーを再編できるようになりました。
  • New: メインエディタ領域にドッキングされているアセットエディタが、次回再び開かれるとその領域に復元されるようになります。
  • New: カスケードのための新たなマテリアル ワークフローを追加しました。各エミッタから参照可能な名前の付けられたマテリアルをシステムに追加できるようになりました。これらのマテリアルは、その名前を使って外部のブループリントおよびコードからアクセスでき、オーバーライドなどが可能です。
  • New: エディタの多数の場所にリッチ ツールチップ ドキュメントのリンクを供給できる機能を追加しました。
  • New: マテリアルエディタ内の Live Preview (ライブ プレビュー) ボタンによってあらゆる編集のためにプレビュー マテリアルのコンパイルを切り替えることができます。オフになっている場合は、Apply (適用) が押された時にのみマテリアルがコンパイルされます。
  • New: Project Settings (プロジェクトの設定) で非同期のロード時間の制限と動作をカスタマイズできるようになりました。
  • New: アセットをコンテンツ ブラウザに同期させる際に、検索フィルターがコンテンツ ブラウザによってリセットされるようになりました。
  • New: アクタをフォルダに移動する際、必要に応じて、親/子階層が維持されます。
  • New: 選択した BSP サーフェスの詳細パネルに、サーフェス数とマテリアル名を追加しました。
  • New: CallInEditor としてカスタムのイベントのフラグを立て、メインエディタのアクタの詳細ビューを拡張する機能を追加しました。
  • New: アクタがバックグラウンドに置かれる場合、デフォルトで Z-up に合わせられるようになりました。
  • New: Texture Tiles (テクスチャ タイル) プロパティおよび Tiling Distance (タイリングの距離) によってタイリングを制御できるようになりました。
  • New: World Composition (ワールドの合成) のコンテキストメニューにおいて、異なるビュー間における一貫性が向上しました。
  • New: レベルのカラーをレベル ウィンドウで再度表示するようにしました。
  • New: MeshMerging ツールの改善
    • 利用可能なすべての UV チャンネルがマージされるようになりました。
    • ライトマップのアトラスのためのハードリミットを指定できる機能を追加しました。
    • ペイントされた頂点カラーをマージできるようになりました。
  • New: カスケードやマチネなど、より多くのサブエディタで診断分析がレポートされるようになりました。それによって、これらのツールを改善しやすくなりました。
  • ライブ エディタ: 新たなアクタがスポーン (または再スポーン) されると、即座に、現在のセッションからの最新の LiveEdited の値で初期化されるようになります。
  • 大量のアクタを選択した場合にエディタが長時間フリーズする問題を修正しました。
  • レベル ストリーミングでインクリメンタルのコンポーネント登録が使用されます。現在は、イテレーションにつき最大 10 コンポーネントまでです。数値は Project Settings で変更可能です。
  • 既存のスタティック メッシュをインポートする際のオプションを改変して、ユーザーが再インポートできるボタンを有効化しました。
  • 結果が得られなかった場合でもクラス ビューアーがクラッシュしなくなりました。
  • 構造体のカスタマイゼーションを改変して、コンポーネントの Transform 詳細のカスタマイゼーションと同様に、FMatrix と FTransform が機能するようにしました。
  • New: 自動保存中にフィードバック ダイアログ上にキャンセル ボタンが表示されるようになりました。
  • スタティック navmesh が古い場合に HUD 上で 表示される navmesh のエラーメッセージを修復しました。
  • インスタンス化されたパーティクルとスキンされたメッシュのためにタンジェントを計算する際の LocalToWorld のスケーリングを削除しました。メッシュがスケーリングされている場合のアーティファクトを回避します。
  • 法線マップのインポートからアンドゥ/リドゥのトランザクションを削除しました。
  • ジオメトリを配置する際の擬似的な 'set brush' トランザクションを削除しました。
  • レベルのビジビリティを切り替えても、レイヤーのビジビリティが強制されなくなりました。
  • (実行時のリビルドなしで) スタティック navmesh のためのカスタムの navlink ID の割り当てを修正しました。
  • サブレベルのジオメトリからの一貫しない navmesh 生成を修正しました。
  • ナビゲーションの関連性の更新が、子コンポーネントから伝わらない問題を修正しました。
  • 他のパーティクルがソースとしてともなっている場合にスポーンを停止させるリボンのバグを修正しました。
  • root フォルダをドラッグする際に生じるコンテンツ ブラウザのクラッシュを修正しました。
  • 新たなプロジェクトを作成する際にプロジェクト名に / や \\ が認められる問題を修正しました。
  • コンテンツ ブラウザ: すべての親フォルダを子フォルダに移動することができなくなりました。
  • UI 内で重複した値をもたらす、Editor Preferences 内におけるユーザー デフォルトの配列のシリアライゼーションに関する問題を修正しました。
  • Editor Preferences で Selection Color を (おそらくはその他のプロパティも) デフォルトに再設定すると、エディタが再起動するまで UI または ビューポートに反映されない問題を修正しました。
  • ビジビリティ ツールにおいて、ビジビリティ レイヤーがターゲットとして表示されない問題を修正しました。
ランドスケープ
  • New: シーン アウトライナーにランドスケープ アクタのアイコンを追加しました。
  • New:ランドスケープ エディタのアルファ ブラシに手動の回転オプションを追加しました。
  • New: 穴のあるテレインを FBX メッシュにエクスポートできるようになりました。
  • ALandscapeProxy::DataLayer を VisibilityLayer にその名前を変更しました。
  • FLandscapeToolSet を削除しました。
  • リトポロジー化ツールを使用して、 XYOffset がともなっている他のコンポーネントの近くにコンポーネントを追加する場合に生じる問題を修正しました。
  • コンポーネントを削除/追加する場合に生じていた問題を修正しました。削除したコンポーネントまたは近くのコンポーネントに LODBias/ForcedLOD の問題が生じていました。
  • Landscape Spline Control Point Mesh (ランドスケープ スプライン コントロール ポイント メッシュ) のモビリティを static に修正しました。
  • スプライン メッシュ上のフォーリッジ「フィル」ツールの問題を修正しました。
  • ランドスケープのスプラインのアンドゥ/リドゥで生じるクラッシュを修正しました。(再度)
  • 供給されたテクスチャの +X/+Y エッジを読み取ることができたアルファ ブラシのバグを修正しました。
  • レイヤー名が none (なし) にセットされている場合にランドスケープのためにフォーリッジ再適用ツールを使用すると生じるクラッシュを修正しました。
  • LOD バイアスされたコンポーネントのために、ライトマスによるライトマップのビルドを修正しました。
ビヘイビア ツリー
  • New: Delete (削除) および Rename (リネーム) Blackboard キーが、右クリック メニューから再び機能するようになりました。
  • New: 見守っているキーが値を変更した際にビヘイビア ツリーの Blackboard デコレータが実行をリクエストできるようになりました。
  • 修正: ビヘイビア ツリーがダブルクリックによって正しくフォーカスされるようになりました。
  • ビヘイビア ツリーのウィンドウが入力フォーカスを得ることに関する問題を修正しました。
  • ビヘイビア ツリーのループ デコレータが再起動に影響を与える問題を修正しました。
  • ReceiveExecute または ReceiveTick イベントが実装されると、ビヘイビア ツリーのタスクのデフォルト値が InProgress になります。

ブループリント

  • New: UObject から直接継承する型のためにブループリント変数を作成できるようになりました。
  • New: スプライン メッシュ コンポーネントの値のための、ブループリントで呼び出し可能なアクセッサを追加しました。
  • New: デカールのソート順序が、SetSortOrder を使用してブループリントからセットできるようになりました。
  • New: マップのロード中にマイグレーションされるブループリントのためにブループリントのログ警告を追加して、古いブループリントとマップ間の問題が簡単に検知できるようにしました。また、メインエディタの save\load preferences 下にエディタ オプションを追加しました。これによって、ブループリントがマイグレーションされたもののそれらブループリントがまだ保存されていない時に保存されたマップによって引き起こされる問題を解決するのに役立ちます。
  • New: ブループリントのプロパティを使用しているブループリントを非推奨にすることができるようになりました。
  • New: クラス ピッカー ダイアログにおいて動的クラスのロードを可能にしました。
  • New: 動的ロードが実行された時にダイアログにおけるアイテムの拡張状態が保存されない問題にパッチを当てました。
  • New: 関数とマクロのカテゴリがマイ ブループリント パネルで表示されるようになりました。
  • New: アクタベースのブループリントのためのデフォルトのスケールをセットすることができるようになりました。これは、ブループリント エディタ内のコンポーネント モードでルート コンポーネントのスケールを変更することによって可能となります。
  • New: C++ ノード クラスおよびブループリントのノード クラスのための BlueprintDescription テキストからのツールチップ メタデータを使用して、新たなツールチップ テキストを追加しました。
  • New: グラフ パネルのために、新たなウィジェットのオーバーレイ システムを追加しました。現行のブラシのみの実装よりも柔軟性が向上するように設計されています。
  • New: カーブ/タイムラインをコピーする場合に、名前の衝突を検出するコードがより積極的に機能するようになりました。これによって、重複する名前が出現してアサートを引き起こす問題を防ぐことができます。
  • New: 古いウィジェットのブループリントが 4.4 でロードされるはずですが、いくつかのプロパティがデフォルトにリセットされる可能性が高いです。
  • New: 本リリースでは、エディタにおいてアクタ上で呼び出せるユーティリティ関数としてブループリントのカスタムのイベントをみなす機能が導入されています。
    • その考え方は、ブループリントの柔軟性を引き出すことによって、アクタ上で管理/周辺のタスクを実行できるようにすること、または単に、ブループリントの機能でエディタ内プレビューの形態を実現することにあります。
    • カスタムのイベント関数は、ブループリントの詳細パネル内の Call In Editor をチェックすることによって、この機能に利用できるものとみなされます。関数を呼び出す UI は、Blutility セクションにあるメインの詳細パネルにあり、現在選択されているアクタ ブループリントから値が供給されます。
  • New: 未使用の変数のためのアンドゥ/リドゥがサポートされました。
  • ブループリントのオーバーラップ クエリが非同期シーンもチェックするようになりました。
    • ブループリントのシーン クエリは、すでに、同期および非同期のシーンをチェックします。ブループリントのためのオーバーラップ クエリによってこれが実行されていなかったことが判明しました。私たちはこの問題を修正しましたが、古くてこれと相容れない動作に依存している場合は、機能しなくなる動作が出てくると思われます。
  • カスタム イベントのレプリケーション設定を変更するとブループリントがダーティーとみなされるようにブループリントの詳細パネルを変更しました。
  • ブループリント エディタのレグレッションを是正しました。ノード選択後にショートカットキーが無効になっていました。
  • Call Array Function ノードのあらゆるワイルドカード ピンから (Target Array ピンからだけではなく) 型強制が機能するようになりました。
  • エディタ内の呼び出しイベントのためのプレースホルダ アイコンを、最終バージョンに置き換えました。
  • ブループリント エディタにある変数型のドロップダウンからマクロ ライブラリを削除しました。
  • ブループリントで作られた関数すべてから FUNC_Exec フラグを削除しました。これによって、コンソールで名前をタイプするだけで関数が呼び出されることがないようにしています。コンソールからイベントを直接呼び出したい場合は、 ke * MyEvent という構文を使ってください。あるいは、* の部分を、イベントを呼び出したいインスタンスの名前に変えてください。
  • 警告ボックスを繰り返し表示させるブループリントのコードで、無限ループを修正しました。
  • 列挙型ノードのロードに関する問題を修正しました。列挙型が再ロード後に選択されなくなっていました。
  • ブループリントの循環的な依存関係に関する問題を修正しました。(あるブループリントが別のブループリントに依存しているが、その別のブループリントが最初のブループリントに依存している問題)
  • ブループリントの Construction Script の再実行に関する問題を修正しました。レベルロード時にアタッチメントが切れる問題が生じていました。
  • SpawnActorFromClass および AddComponent ノードへの入力として定数値を修正しました。ブループリントで変数を作成しなくてもアサインできるようになりました。
  • 関数または他の畳まれたグラフを含むノードを折り畳んでから展開するとクラッシュする問題を修正しました。
  • ソフトな循環的依存関係をもつブループリントをロードするとクラッシュする問題を修正しました。

レンダリング

  • New: 並列化レンダラへの大きな進歩 (r.RHICmdBypass 0 コンソール コマンドによってプレビューできます)
  • New: リッチ ツールチップをマテリアル ノードに追加しました!
  • New: ディスタンス フィールドのフォントのために圧縮とサンプラーのタイプを追加しました。
  • New: TextRenderActor にオプションを追加しました。これは、Level Coloration などのデバッグ ビジュアライゼーション モードを使用する場合に、テキストを改変さずにレンダリングできるオプションです。そのためのチェックボックスは、詳細パネルの Rendering カテゴリにあり、Alays Render As Text という名前がついています。
  • New: さまざまなテクスチャ クラスにエクスポートを追加して、各種モジュールでサブクラス化を可能にしました。
  • New: Texture プロパティを追加して、最大解像度の制限を変更しました (Advanced ビューにおける Compression セクションの MaxTextureSize)。
  • New: SpawnDecalAtLocation のためのデフォルトの回転を変更して、下向きにしました。
  • New: Skylight LightColor と Intensity (強度) が、マチネによってアニメートできるようになりました。
  • カスケード メッシュ エミッタの改善
    • PSA_Velocity または PSA_AwayFromCenter を使用しないメッシュ エミッタは、時間経過とともにその回転速度が上昇していました。その結果としてメッシュ エミッタが数秒後に制御不能な状態で回転していました。
    • また、パーティクルの Orientation と Scaling 間の操作順序が、期待したものではありませんでした。これらの問題が今回のアップデートで修正されています。
    • さらに、MediumDetailSpawnRateScale が非推奨となり、QualityLevelSpawnRateScale に置き換えられました。この新たな値は、スケーラビリティ設定のエフェクトのクオリティ レベルに結びついており、その結果、Epic からのエフェクト クオリティ レベルが低下する毎に、スポーン速度が QualityLevelSpawnRateScale で乗じられることになります。たとえば、エミッタのスポーン速度が 100 で、QualityLevelSpawnRateScale が 0.5 の場合、エフェクト クオリティを High に下げると、スポーン速度が 50 になります。Medium にするとスポーン速度は 25 にセットされます。QualityLevelSpawnRateScale を 1.0 に設定すると、エフェクト クオリティに変化は生じません。
  • パーティクル エフェクト メッシュがビューモードを正しく守るようになりました。
  • ビームの長さ全体に渡って U の 0 から 1 をカバーする第二の UV セットをビームが渡すようになりました。UV セット 0 が、typedata モジュールのタイリング パラメータにしたがってタイリングするようになりました。
  • メイン ビューポートで GBuffer Hints を有効化するとエディタがクラッシュする問題を修正しました。
  • 拡張性: UMaterialBillboardComponent が ENGINE_API によってエクスポーズされるようになりました。
  • バッチ化されたメッシュが、ライン バッチャーをフラッシュするとクリアされるようになりました。
  • MID のブレンドモードを masked (マスク) に変更する機能が正しく動作するようになりました。
  • ブレンド セパレート ARB 関数をオプションに移動しました。GL_ARB_draw_buffers_blend 文字列のための拡張チェックを追加しました。
  • ベース パスにおいて、SkyLight の計算による負のカラーを修正しました。
  • ワールド空間の法線と屈折を使用するマテリアルのためにコンパイル エラーを修正しました。
  • テッセレートされたマテリアルをランドスケープに追加すると甚だしくスパイクが生じる問題を修正しました。
  • アスペクト比を制約するカメラについて Distance Field AO を修正しました。

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

  • New: 単純なメニューを素早く作成できる GameMenuBuilder モジュールを追加しました。
  • New: マウスが実行中に接続されているか否かを検出する関数を追加しました。
  • New: シャドウのオプションをデバッグ テキストに追加し、HUD で DrawText 関数を除去しました。
  • New: 新たな関数である GetInstanceTransform、UpdateInstanceTransform、GetInstanceCount、RemoveInstance、SetCullDistances を InstancedStaticMeshComponent に追加しました。これらの関数はブループリントから呼び出せます。
  • New: ゲームイベントに基づいてフォースフィードバックの動的操作を可能にする latent ブループリント ノードを追加しました。
  • New: ヒストグラム状のデータを記録する機能を Visual Logger に追加し、そのデータを 2D グラフとしてスクリーン上に表示できるように LogVisualizer ツールを拡張しました。
  • New: チュートリアルのためのサポートを追加して、所定の行で IDE を開くことができるようになりました。
  • New: チュートリアルのためのサポートを追加して、アセットを開いて強調表示できるようにしました。
  • New: 作成後にフィルタをアセット ピッカーで変更できるサポートを追加しました。
  • New: PropertyHandles から FAssetData を使ってオブジェクトのプロパティをセットできるようになりました。
    • New: CameraActor の AutoActivateForPlayer オプションを追加しました。これによって、レベルに配置されたカメラが自動的に PlayerController にリンクされるようにできます。
    • アクタが PlayerController のビューターゲットであることを開始および停止した時に発動するアクタのためのブループリント イベントを追加しました。 (OnBecomeViewTarget / OnEndViewTarget)
    • これらのためのネイティブの C++ イベントはすでに存在していましたが (BecomeViewTarget / EndViewTarget)、ブループリント イベントをトリガーするようになりました。
    • PlayerCameraManager から EndViewTarget / BecomeViewTarget を呼び出す順を変更しました。それによって、最初に End イベントが古いターゲットで発生し、続いて、新しいターゲットで Begin イベントが発生するようになりました (これまでは逆でした)。
  • New: ワールドに完全にまだ追加されていないレベルのために RerunConstructionScripts を実行している時に、スタティックなコンポーネントが移動できるようにしました。また、位置/回転の閾値を追加することによって、コンポーネントの位置を無駄に更新しないようにしました。
  • New: 「非ネイティブ」のルート コンポーネント (すなわち、C++ で作成されていないもの) にセットされた、(1,1,1) 以外の前のスケール値が、ロード時に (1,1,1) に自動的に復帰するようになります。
    • これまで、「非ネイティブ」のルート コンポーネントのためのデフォルトのスケール値は、construction 時に無視されていました。
    • 最終的に、これらの値をロード時に暗黙的に復帰させることによって、既存のインスタンスと新たなインスタンスの両方が、更新前と同様に、同じスケールで表示され続けるようにしています。
  • New: InputComponent に追加された Axis および AxisKey、VectorAxis のための Bind 関数。get value (値取得) 関数を使用する目的で axis (軸) のバインドを容易にするためにデリゲートを取りません。
  • New: ブループリントによるファーストパーソンのテンプレートのためのチュートリアルを制作しました。
  • New: コードによる Rolling のテンプレートのためのチュートリアルを制作しました。
  • New: SkeletalMeshComponents 上を歩くキャラクターが、脚の下にあるボーンを原点とする相対的な位置および回転を維持するようになりました。その場合、キャラクターは、メッシュの原点に関連付けられている場所に留まっているのではなく、アニメートするボーンを動き回っています。
  • New:動的パラメータが、既存の動的パラメータからパラメータ名をコピーするようになりました。
  • New: ブループリント内で Componets モードで Transform (変形) の初期値を編集する方法が若干変更されました。
    • これまでは、位置および回転、スケールがすべてエクスポーズされていましたが、これはデフォルトのシーン ルートおよび Components モードで作成されたルート コンポーネントのためだけのものでした。
    • アップデート後は、位置と回転が非表示になり、スケールが「ネイティブ」の (つまり C++ で作成された) ルート コンポーネントと非ネイティブのルート コンポーネントの両方のためにエクスポーズされるようになりました。
  • New: フォースフィードバックが XInput デバイスのために PC でサポートされるようになりました。
  • New: フォースフィードバックが PlayerController から無効化できるようになりました。
  • New: フルサイズのスクリーンショットが、サイズ変更可能なウィンドウで表示されるようになりました。
  • New: Get Display Name がクラス変数のためにブループリントで利用可能となりました。
  • New: InstancedStaticMeshComponents が、コリジョン イベントにヒットされたインスタンスのインデックスを使って、FHitResult.Item プロパティをセットするようになりました。これは上記関数とともに使用して、特定のインスタンスを削除することができるとともに、本物の StaticMeshComponent と置き換えることによって、フォーリッジまたはその他の挙動にインタラクティブ性をもたせることができます。
  • New: ブループリントでの使用のために UNavigationPath を導入しました。(できることはまだそれほど多くありません。)
  • New: インスティゲータが Spawn Actor Blueprint ノードの一部としてセットできるようになりました。インスティゲータが接続された in ピンによって明示的にセットされていない場合は、インスティゲータは自動的に呼び出しのコンテキストに基づくことになります。Spawn Actor が Pawn コンテキストから呼び出される場合は、Pawn がインスティゲータになります。Spawn Actor が Actor コンテキストから呼び出される場合は、アクタのインスティゲータがインスティゲータとなります。
  • New: PawnActions が AIModule に導入されました。現在はベータ版レベルです。
  • New: Curve Table エディタが、グリッド ウィジェットでデータを表示するようになりました。
  • New: タッチ イベント (タッチ オーバー イベントではなく) が、Player Controller 上でデフォルトで有効になりました。
  • New: VisLog ファイル名が、ゲーム固有のコードによってカスタマイズできるようになりました。
  • New: VisualLog が、ポインタとしてではなく参照として取得されるようになりました。
  • パーシスタント レベルがロードされた後にサブレベルをロードすると、レベルの transform が保持されなくなりました。
  • カスタムのスプラッシュ スクリーンが正しく表示するようになりました。
  • AActor::GetControlledPawn() を非推奨にしました。AActor::GetPawn() との混同を避けるための措置です。
  • アクタが、開いているマチネによって参照されている場合は、アクタを別のレベルに移動できなくなりました。
  • ディフされたアセットが、アセット ピッカーに表示されなくなりました。
  • DestroyApplication バーチャル関数が、FApplication のために正しく呼び出されるようになりました。
  • すべてのクラス メタデータのタグをドキュメント化しました。
  • パッケージのメタデータが、使用しようとする場合に確実にロードされるようにしました。
  • レベルが削除される場合にレンダリング リソースが確実に開放されるようにしました。
  • FSlateApplication::SetJoystickCaptorToGameViewport が、すべてのジョイスティックをキャプチャするようになりました。
  • FNavigationPath のプロパティを public なアクセスから隠しました。
  • ICU の初期化によって、失敗に関する診断が向上しました。
  • LogVisualizer ツールを改善および修正しました。具体的には、ログ項目のダブルクリックによるワールド内の位置表示、ログ項目と 2D グラフのためのフィルタ、パフォーマンスの最適化。
  • ブループリント ノード上のピンの横にある編集ボックスの表示 (非表示) を改善しました。
  • OneSky のローカリゼーション サービスのためのサポートを改善しました。引用コメントおよび参照コメントとしてソースファイルの情報を追加しました。
  • ローカリゼーションの収集物を改善して、カルチャー インバリアント (文化的な普遍性のある) テキストを収集しないようにしました。
  • ローカリゼーションの収集物を改善して、カルチャー インバリアント テキストが、包含するアーカイブまたはパッケージを、ローカリゼーションを必要としているものとしてフラグを立てないようにしました。
  • ローカリゼーションの収集物を改善して、集められていないテキストについて警告とエラーがレポートされないようにしました。
  • テキスト コンテンツに基づいてローカリゼーション収集物のためにパッケージ/アーカイブのフラグを立てる際に行われる空白チェックを改善しました。
  • navmesh のプロジェクションの精度を改善しました。
  • UNavigationComponent のパスの再計算が、パス自身によって実行されるようになりました。
  • PawnMovementComponent を伴わない Pawn は、これまでどおり AddMovementInput を使用することができ、結果を読み取ることができます。
    • ControlInputVector を PawnMovementComponent から Pawn に移動しました。Pawn 上には、アクセス/修正のためにコンポーネントが使用する「内部」メソッドがあります。
    • 移動入力のためのアクセッサを Pawn に追加しました。GetMovementInputVector()、ConsumeMovementInputVector()、IsMoveInputIgnored()
    • PawnMovementComponent::IsMoveInputIgnored() をブループリントにエクスポーズしました。
  • PIE で実行する際に生じる、Shooter Game サンプルの不適切なメニュー オプションを削除しました。
  • パスのバリエーション機能を削除しました。(未使用および破損)
  • Shooter Game サンプルのテキスト チャットを改定しました。ビジビリティのフラグを改善するとともに、クライアントでフォーカスが変更されるのを止めました。
  • Revised the 2D side-scroller C++ template and reduced its Blueprint dependency.
  • 2D 横スクロールの C++ テンプレートを改定し、ブループリントへの依存を減らしました。
  • Platformer ゲームのメニューを改定して、新たな GameMenuBuilder を使用するようにしました。
  • Vehicle (車両) サンプル ゲームにいくつか改定を加えて、マルチプレイヤーのサポートを改善しました。
  • ツールチップを広げて、(主に) クラスのコメントが奇妙なラッピングの挙動を受け取らないようにしました。
  • EQS (Environmental Query System 環境クエリシステム) が不正なタイムスライシングを行う問題を修正しました。
    • 更新によって、現在のステップを実行するために必要な時間に基づいて残っている時間が引かれるのではなく、各ステップ後にすべての前のステップのために残っている時間が引かれていました。
  • Shooter Game のサンプルでクラッシュする問題を修正しました。
  • Player が null の場合に GetMousePosition() がクラッシュする問題を修正しました。
  • ナビゲーション リンクの方向の RightToLeft に関する問題を修正しました。
  • ナビゲーション パスが、所与の FBox と交差するかどうかを判定する機能について修正しました。
  • Functional Testing (機能テスト) がゲームモードでクラッシュする問題を修正しました。
  • プロジェクトのコリジョン設定 (カスタムのプロファイル/チャンネル/オブジェクトの型) が DefaultEngine.ini に保存されない問題を修正しました。
  • コンパイルされていないブループリントが開かれた状態で PIE を起動すると生じる場合があるクラッシュを修正しました。
  • RerunConstructionScript 中に生じる、ブループリントのコンポーネントに関するアタッチメントの問題を修正しました。
  • ルート コンポーネントを欠いているブループリントのユニークなアセットをいくつかロードする際に生じると報告されているクラッシュを修正しました。
  • SplitPin 機能にさまざまな修正を行いました。
CharacterMovementComponent (キャラクター移動コンポーネント)
  • 落下して、歩行不可能な法線をもつジオメトリに激突するキャラクターが、有効な着地点と陸地 (可能な場合) の有無をチェックできます。
    • 走って岩棚にジャンプする動作がより滑らかになりました。これまでなら、キャラクターが着地前に少しの間「浮く」ようになり、速度を失っていました。
    • カスタムの動作のために virtual ShouldCheckForValidLandingSpot() を追加しました。ベースのバージョンは、カプセルの低い部分でジオメトリのエッジにヒットすると true を返します。
  • 回転しているサーフェス上におけるキャラクターの動きに関する問題を修正しました。特に、ネットワーキングに関係する問題でした。
    • いくつかの MovementBaseUtility 関数を変更して、エンジンの規約に合致させました。(position ではなく location)
    • AActor::PostNetReceiveLocation() を変更して、回転を含むようにしました。(現在は PostNetReceiveLocationAndRotation という名称になりました。)
    • UpdateBasedMovement() で計算される誤った回転の差分を修正しました。
    • レプリケートされた回転によって、キャラクターのための相対的回転が上書きされる問題を修正しました。
    • シミュレートされたプロキシが、速度がゼロに達すると、サーバーの位置と合致しなくなる問題を修正しました。プロキシが 1 フレーム多く先に進むという問題でした。
    • bIgnoreBaseRotation が、シミュレートされたクライアントのために無視される問題を修正しました。この問題では、絶対的回転が代わりに送信されます。
  • timestep が閾値を超えると、ApplyVelocityBraking が変化を不正に蓄積する問題を修正しました。(フレームレートが低い時に生じる問題です)
  • 落下中にカプセルの低い部分が何かと激突するとスロープが押し上げられる問題を修正しました。
    • プレイヤーのコリジョンがより自然な感じになり、カプセルを感じさせなくなりました。
    • HandleSlopeBoosting() を追加して、この動作をより簡単にカスタマイズできるようにしました。
New: Game Instance オブジェクト (パーシスタントなゲームプレイ データ)
  • New: Game Instance は、レベル遷移をまたがって存在する、ライフタイムをもつ一時的なオブジェクトです。
  • C++ とブループリント両方のクラスとして、拡張性があります ([プロジェクト設定] の [マップ & モード] セクションで設定します)。
  • レベルをまたがるデータを格納し、ゲームのアプリケーション状態を管理し、ゲーム セッション全体のライフタイムをまたいで存在させたいオブジェクトのオーナーとして振る舞うことができます。
  • GameInstance は、クライアントとサーバーの両方で存在します。ただし、UObject であるため、現在のところ、インスタンス間におけるデータのレプリケーションはありません。

Paper 2D

  • New: スプライト レンダー ジオメトリをダイシングすることができるようになりました。半透明/マスクされたクアッドを不透明なクアッドから分離します (WIP)。
    • スプライトが代替のマテリアルをもち、そのマテリアルを使用して第二のレンダー セクションを定義できるようになりました。(現在のところは、代替のマテリアルは不透明なマテリアルであるとする規則をともなって、ダイシングされたジオメトリについてのみ使用できます)
    • 新たな ESpritePolygonMode::Diced 値を追加しました。レンダー ジオメトリについてのみ有効です。(コリジョンのための SourceBoundingBox のように扱われます)
    • ソース ポリゴンが複数ある場合、コリジョンとレンダー ジオメトリの両方のためにオポチュニスティック トライアングル マージを追加しました。
  • New: スプライトから 3D シャドウをキャストできるようになりました。(FPaperRenderSceneProxy が、ソース コンポーネントからの CastShadow に従うようになりました。)
  • New: フリップブックで、キーフレームの順序をドラッグアンドドロップで変更できるようになりました。
  • New: UPaperFlipbookComponent に OnFinishedPlaying デリゲートを追加しました。ループしないフリップブックが再生を終了した際 (再生の方向に応じて、最後または最初に到達した際) に必ず呼び出されます。
  • New: 回転軸のために、スナップをピクセル グリッドのオプションに追加しました (新規コンテンツでデフォルトで有効化されます)。ソースのレクタングルのために、ピクセル グリッドへのスナップを実施しました (常に有効化されます)。
  • New: Content Examples に、Paper 2D のデモ レベルを追加しました。
  • New: フリップブック コンポーネントのステートをレプリケートできるようになりました。
  • New: JSON として Tiled 0.90 からエクスポートされたタイル セットとタイル マップをインポートできるようになりました。
  • New: UPaperSpriteComponent と APaperCharacter に DLL のエクスポートを追加しました。
  • New: Texture Packer 3.5 UE4 エクスポートのオプションのためのサポートを追加しました。
  • New: FPaperSpriteSceneProxy を追加して UPaperSpriteComponent とペアにしました。共通のである FPaperRenderSceneProxy からコードをいくらか削除しました。
  • New: タイル マップのサポートを大幅に改善しました。(まだ実験的です。2D Project Settings で有効化する必要があります。)
    • タイル マップにおける各種プロジェクト モードに関する限定的なサポートを追加しました。(オーソゴナル、アイソメトリック、スタッガード アイソメトリック。エディタ内の編集ではオーソゴナルのみが機能します。)
    • タイル セットにおいて調整可能な Spacing と Margin 値を追加しました。(Spacing とは、テキスト内のタイル毎のギャップのことです。Margin はボーダーの周りのギャップです。)
    • X および Y においてタイル毎の調整可能な Z オフセットを追加しました。また、レイヤー毎の調整可能な Z オフセットも追加しました。これによって、オーバーラップするアイソメトリックのタイルを使用する際に、Z ファイティングの修正が可能になります。
    • タイル セットをドラッグアンドドロップすることによって新たなタイル マップ アクタを作成できる機能を追加しました。(タイルの幅と高さを適切なデフォルト値にセットするだけです。)
    • プレースホルダーのスタンドアロン型タイル マップ エディタを追加しました。(まだそれほど多くのことを編集できません)
    • コンポーネント アセット ブローカーを追加しました。これにより、タイル マップ コンポーネントがブループリントで使用できるようになります。
    • タイル マップ エディタに、タイル マップ レンダーの境界のための表示テキストを追加しました。
    • タイル マップ アセットをエディタのビューポート内にドラッグしてタイル マップ アクタを作成する機能をサポートしました。
    • タイル セットおよびタイル マップを変更したため、配置されたタイル マップ インスタンスがリフレッシュされるようになりました。
    • レイヤー中のタイル セット ポインタの非推奨化を終え、いくつかの偽の使用法を削除しました。
    • タイル セット ビューアー/エディタが、半透明の/マスクされたテクスチャを半透明として描画するようになりました。
    • ジオメトリの生成部分を、フレーム単位ではなくして、ゲーム スレッドにおけるワンタイム ステップに移動しました。(作業中)
  • さまざまな型とメソッドについてのコメントを改善しました。
  • Texture Packer Json インポーターを改善して、回転、トリミング、回転軸のオプションを正しく処理できるようにしました。
  • Source Region Edit のパフォーマンスを改善しました。
  • UPaperSpriteComponent を変更して UMeshComponent から派生するようにしました。
  • 不透明なスプライトのセクションのためのワイヤフレームの色を、強制的に緑色にしました。(GPU に余裕がある色です)
  • UPaperSprite ための詳細パネルのカスタマイゼーションについて、そのユーザーエクスペリエンスを改善しました。
  • Paper 2D テクスチャの使用法と Editor Style への依存を削除しました。
  • スプライト上でコリジョンが発生していない場合に、コリジョン ジオメトリ デバッグのテキストが表示されないようにしました。
  • テクスチャのコンテキスト メニュー コマンドである Configure For Sprites (スプライトの調整) の名前を Configure For Retro Sprites (レトロ スプライトの調整) に変更して、実行される機能をより正しく反映するようにしました。
  • bSimulatePhysics が、ブループリント エディタの UPaperSpriteComponent 上でセットされない問題を修正しました。
  • PixelsPerUnrealUnit が 1.0 ではない場合に、Source ビューでダブルクリックする時の動作が信頼できない問題を修正しました。
  • Paper 2D コンテンツをクックする際の潜在的なアサーションを修正しました。(関連するテクスチャのために ConditionalPostLoad の呼び出しを追加して、古いスプライトを開く場合に発生するロード時の順序に関する問題を避けます。)
  • デフォルトのプラグインのマテリアルを使用する配置済みアセットに関する、外部コンテンツ参照の警告を修正しました。
  • 光源処理されているスプライト上で偽のライティングを引き起こす、FPaperRenderSceneProxy におけるタンジェント計算の問題を修正しました。

プラットフォーム

Windows
  • New: Win64/Win32 において接続されているマウスを検出する機能を追加しました。
  • New: ゲーム/エディタが稼働中は Windows のアクセスビリティ機能が無効化されるようになりました。
  • Windows XP のサポートが、他のビルドのオプション同様、BuildConfiguration.xml で有効化できるようになりました。
  • Launch On および File|Package / File|Cook のために Editor Analytics にエラーコードを追加しました。これによって、プロセス中にユーザーがどのようなエラーを受け取ったかを調べることができ、ユーザー ワークフローの改善を効率的に実施することができるようになります。
  • インストールされている SDK がエディタの起動時にチェックされるようになりました。これによって、特定のエディタのビルドのためにサポートされているプラットフォームのすべてがメニューに表示されるようになります。サポートされているけれども適切な SDK がまだインストールされていないプラットフォームによって、メニュー コマンドがクリックされた場合に、SDK のインストールのためのチュートリアルが起動されるようになります。
  • Windows における Missing OpenGL extensions (OpenGL のエクステンションがない)、および、OpenGL のためのエントリーポイントに関する問題を修正しました。
  • モバイルのプロビジョンが更新された場合、プロビジョン ライブラリに正しくコピーされる、IPP に関する問題を修正しました。
  • 各種プラットフォームのための新たな API を追加しました。これによって、ゲームをビルド、クック、パッケージング、デプロイ、実行するために準備/インストールが整っているかか否かを検出することができるようになりました。
Mac
  • New: 内蔵の Mac アプリ バンドルで Binaries/ThirdParty にある libs を使用できるようになりました。
  • New: Mac のメニューバーにある Window メニューに Close (閉じる) を追加しました。 (Cmd+W)
  • New: Mac の Ctrl および Cmd キーが、同じキーとして扱われなくなり、別々にショートカットを割り当てることができるようになりました。
  • New: オフスクリーンの 1x1 ツールチップ ウィンドウの更新を遅らせて、Mac のエディタの反応性を改善しました。
  • New: 低速のタスクのために Mac OS X のネイティブのフィードバック ウィンドウを改善しました。進行度とオプションのログを表示し、操作をキャンセルする機能を提供します。
  • New: Destructible Mesh エディタで砕するメッシュが、Mac でも機能するようになりました。
  • New: メニュー コードをリファクタリングして、カスタムのウィンドウ別メニューではなく Mac のメニューバーを使用するようにしました。
    • メイン メニューが、他の Mac アプリと同様に、現在フォーカスされているウィンドウを反映するようになりました。
    • メニューバー内にあったレベル エディタのウィジェットをウィンドウのタイトルバーに移動しました。
  • New: エディタが、プロジェクトの plist (iOS のための Project Settings で見つかります) を Game/Build/Info.plist に保存するようになります。Game/Build/Game-Info.plist に保存していたこれまでのバージョンとは異なります。当分の間、エディタとツールは Game-Info.plist を探し続けますが、将来非推奨となります。
  • New: Mac を p4api-2014.1 にアップデートして、SSL 接続をサポートできるようにしました。
  • New: Mac OS X のバージョン チェックをアップデートして、10.9.4 よりも古いバージョンを使用している場合に警告を出すようにしました。また、10.9.4 よりも古いバージョンとして 10.10 を検出しないようになりました。
  • Mac 上のトラックパッドの検出を変更して、少なくても 2 本の指でタッチした時に限ってトラックパッドの報告をするようにしました。これによって、マウスと WASD キーを使用している時に、誤ってトラックパッドをタッチしてしまう問題を軽減させることができるはずです。
  • MTGL を使用する場合は、glMapBuffer の使用を無効化しないでください。レンダリング エラーの原因となる OpenGL のバグがあるためです。
  • GPU における VRAM の量を OS X の OpenGLRHI にエクスポーズしました。
  • UE4EditorServices 内の、インストールされているエンジン バージョンを列挙するためのコードを改善しました。
  • マジック マウスとトラックパッドのために、SNodePanel における RMB (右マウスボタン) の操作を改善しました。
  • Mac IME のサポートのための改善:
  • ポップアップ グリフ選択ウィンドウによって編集されている範囲を表示します。
  • IME が終了した際にマークされ作成された範囲を適切にクリアするため、更なるタイプとクリックが予測通りに機能します。
  • 作成範囲を編集する際に、キャレットの位置が正しく更新されるようにしました。
  • OS X 上では、独自に GUID の生成を実装するのではなく、uuid_generate を使用します。
  • Mac 上の UBT を最適化しました。ターゲットが旧式であるか否かを判定するのに要する時間が格段に短縮されました。
  • 必要に応じて glTexStorage の呼び出し後にのみフラッシュすることによって、Mac 上で影響を受けない GPU のパフォーマンスが抑制されないようにします。
  • OS X のための GL_TEXTURE_BUFFER のワークアラウンドを削除しました。OpenGL のドライバーの修正は、10.9.4 に入っています。
    • すべての Mac が GL_TEXTURE_BUFFER パスを使用するようになります。10.9.3 を稼働する 2013 Mac Pro を除くすべての Mac が正しく動作するようになります。
  • Cocoa の子ウィンドウのメカニズムを使用することを停止しました。望ましい動作が得られないためです。
    • 切り離し可能な、またはパネルスタイルのウィンドウが持ち上げられて、通常のウィンドウよりも上にフロートするようになります。
    • すべてのウィンドウが Expose/Spaces/Mission Control で表示されます。システム ウィンドウ サイクリング機能の一部です。
    • モーダルなウィンドウがやや特殊な扱われ方をされることによって、最後に表示されて現在も開いているモーダルなウィンドウが、トップに残り、視覚的表示に関するフォーカスの失敗を変更しようとします。
  • 共有 DDC フォルダが Mac にマウントされていない場合に、エディタが /Volumes/UE4DDC フォルダを作成する問題を修正しました。
  • マジック マウスを使ってブループリント エディタとマテリアル エディタのビューポートをズームすることに関する問題を修正しました。
  • その他少数の小規模な修正
モバイル
  • New: iTunes およびモバイル プロビジョンをインストールするためのエディタ内チュートリアルを追加しました。Launch On Device (デバイス上で起動) する場合やアプリをパッケージングする際に、チュートリアルが自動的に表示されます。
  • New: モバイル デバイス上に Foliage Instanced Meshes (フォーリッジ インスタンス化メッシュ) のためのサポートを追加しました。
  • New: 数多くある iOS のデプロイ に関するエラーおよびパッケージングに関するエラーのために、拡張されたエラー チェックとエディタ内ヘルプを追加しました。また、Android デバイスの互換性について引き続き改善しました。
  • New: モバイルのマテリアル上で PerInstanceFadeAmount のサポートを追加しました。
  • New: BlackBody マテリアル表現式が、ES2 上でサポートされるようになりました。
  • エディタが、プロジェクトの plist (iOS のための Project Settings で見つかります) を Game/Build/Info.plist に保存するようになります。Game/Build/Game-Info.plist に保存していたこれまでのバージョンとは異なります。当分の間、エディタとツールは Game-Info.plist を探し続けますが、将来非推奨となります。
iOS
  • New: iOS のアプリ内課金のためのサポートをブループリントに追加しました。
    • 製品の ID に基づいて製品情報をクエリするブループリント
    • ID によって、指定された製品を購入するブループリント
  • New: Metal サポートが改善されました。(Beta 4/5 まで)
  • New: ユニティのファイルサイズを大きくして、iOS におけるジャンプ距離のリンカ エラーを防止しました。
  • New: モジュールの Build.cs ファイルの PublicAdditionalFrameworks で指定された iOS フレームワークのヘッダ ディレクトリが正しくヘッダ検索パスに追加されるようになります。
  • Strategy Game および Platformer Game のために Mac から iOS にデプロイする場合に、デバイスが見つからない問題を修正しました。
Android
  • New: コンソールの履歴を追加しました。テキスト入力で左または右にスワイプすると、前のコンソール入力が選択されます。
  • New: 仮想キーボード Slate ウィジェットのサポートを追加しました。(SVirtualKeyboardEntry)
  • New: adb への呼び出しを追加しました。これは、入力を送ることによって、ゲームを起動する前にスクリーンをロック解除するものです。
  • New: Android Back の入力が、Special Left のエイリアスとして追加され、明瞭さが向上しました。
  • New: エディタからロックされているデバイスにゲームを起動する場合、スクリーンがゲームの起動に先立ってロック解除されるようになりました。
  • half-float 型テクスチャがサポートされていない場合、FloatRGBA をともなったキューブマップを、値が 0.0 から 1.0 までにクランプされた RGBA に変換できるようにしました。
  • エディタでパッケージングを行っている間にコンソール ログに生じる余計な空白行を削除しました。
  • Tappy Chicken
    • Android で特定の戻るボタンをサポートするために Android Back を追加しました。
  • Android で互換性のあるデバイス一覧
    • LG G2 (LG-LS980)
    • Samsung Galaxy Note 3 (SM-N900)
    • Samsung Galaxy Note 3 (SM-N900P)
    • Samsung Galaxy S 2 Intn'l (GT-I9100)
    • Samsung Galaxy S 4 mini (GT-i9190)
    • Samsung Galaxy S 5 (SM-G900H)
    • Samsung Galaxy Tab 3 10.1 (GT-P5200)
    • NVIDIA Shield
    • 詳細については Android デバイスの互換性に関する wiki ページ をご覧ください。
Xbox One
  • New: 孤立した Xbox Live のセッションの処理と除去を改善しました。
  • New: Xbox Live Compute のオンライン サブシステム サーバー モジュールの初期バージョンを追加しました。
  • New: エンジンはデフォルトで July 2014 QFE1 XDK を使用するように設定されています。
  • HandleSpecialUnlock におけるキャッシュのフラッシュを最適化しました。
  • コンテンツ オンリーのプロジェクトのパッケージングによって、空のファイル グループに関するエラーが生じる問題を修正しました。
  • テクスチャのクック時間をわずかに最適化しました。
  • テクスチャのタイリングが破損するバグをいくつか修正しました。
  • Xbox Live のセッション管理でクラッシュする問題を修正しました。
  • ユーザーが Xbox Live ゲームの招待を受け入れた時にゲームが起動していない場合に FOnSessionInviteAcceptedDelegate が発動しなくなる問題を修正しました。
PlayStation 4
  • New: Morpheus DVT 1.1 のサポート!
  • New: Morpheus のサポートを改善しました。DVT ハードウェアのサポート、シェーダー、トラッキングについて Sony から提供された多数の修正が含まれています。
  • New: ICU のサポート!
  • New: PlayGo のチャンクをどのブルーレイ レイヤーに書き出すかということに関するゲーム制御
  • New: ゲーム固有の coredump を処理
  • New: コールスタックのアドレスを関数名に実行時に変換。
    • デバッガに接続していない場合に、アサーションに失敗すると、デコードされたコールスタック関数名が PS4 のコンソール出力にダンプされるようになりました。
  • GPU Timeouts が扱いやすくなりました。 - CPU/GPU Razor のキャプチャによるタイムアウトをデバッグおよび処理する際に生じる無効なタイムアウト検出を修正しました。
  • バッファのクリアに関する修正 - 最初のクリアに CMask がない場合に、MRT ターゲットのクリアが二度生じる可能性がある問題を修正しました。CMask バッファをクリアする前に CMask のキャッシュをフラッシュします。
  • FUniqueNetIDPS4 が非同期の NPID ルックアップを使用します。
  • HTTP Requests が、正しく、200 台のレスポンスコードを処理します。
  • Morpheus のレンダリングに関する問題を修正しました。Game/Render スレッドが再び並列で実行されます。
  • リボン パーティクルの最適化
  • PlayGo および非 PlayGo のパッケージングのために、パッケージングに関するさまざまな修正。
  • シェーダー SDB 出力フォルダのパスを修正しました。(\Saved\ShaderDebugInfo\SF_PS4\sdb にダンプされるようになりました。)
  • GPU パーティクルが、古いユニフォームバッファを使用すると、さまざまなアーティファクトを引き起こす問題を修正しました。
  • Development ビルドが、debug キーワードによって Testkits でクラッシュする問題を修正しました。
  • FGnmDynamicRHI::RHIUpdateTexture2D における不正なキャストを修正しました。
HTML5
  • HTML5 が Emscripten SDK 1.21 を必要とするようになりました。 http://kripken.github.io/emscripten-site/docs/getting_started/downloads.html からインストールできます。なお、これは Emscripten SDK が置かれている新たなサイトです。

テンプレート

  • New: TP_2DSideScrollerBP をアップデートして、マルチプレイヤーのシナリオでよりよく機能するようにしました。
  • New: ローカルの回転ではなくコントローラーの回転を使用します。
  • New: スプライトのフリップブックのコンポーネントにおいてレプリケーションを有効化します。(サーバー->クライアントでは動作しますが、クライアント->サーバーでは依然として RPC が必要です。)

Slate

  • New: Slate ウィジェットの登録/登録解除が可能になり、外部からクリックされると通知を受け取るようになりました。
  • New: Slate のブラシが鏡像をサポートするようになりました。
    • この機能を設定するためには、FSlateBrush において Mirroring 変数を使用します。
  • New: SAssignNew が TSharedRef にアサインできるようになりました。
  • New: SWidget::OnPaint() and SWidget::Paint() のシグネチャが、FPaintArgs 型の特別なパラメータを含むように変更されました。
    • Super::OnPaint() の呼び出しは、単に、FPaintArgs を渡すためです。
    • 子ウィジェットをペイントする場合は、Args.WithNewParent(this) を ChildWidget->Paint() に渡します。
  • ESC キーを押してフォーカスをロックする場合 (Play が終了する)、WidgetReflector が ESC キーを独占する問題を修正しました。
  • まれな条件によって、カスタムの Slate の描画エレメントが使用される問題を修正しました。

物理

  • New: 新たなコンストレイントのビジュアル化。赤緑青の 3 つの扇型を使用すると、PhAT での作業が格段にしやすくなります。
  • New: 放射状ダメージのためにダメージ防止チャネルを追加しました。
  • New: disable constraint physics collision (コンストレイント物理コリジョンの無効化) をブループリントにエクスポーズしました。
  • New: PhysX からより多くのジョイント API をエクスポーズしました。
  • New: コンストレイント角度参照フレームのオフセットをエクスポーズしました。
    • ブループリント エディタの場合、参照のコンストレイント フレームを変更できませんでした。この新たな値によって手動で設定できるようになりました。
  • New: オーバーラップしている、シミュレートされたオブジェクトをよりゆっくりとリゾルブするための最大 depenetration velocity (脱貫通速度) をエクスポーズしました。
  • ドラッグアンドドロップ操作のために、no collision のオブジェクト上でコリジョンを有効化する機能を削除しました。Visibility のトレースに反応するコリジョンはなくなります。
  • ナビゲーション クラスタ グラフを簡略化して、高速な「パスの存在」チェックとしてのみ機能するようにしました。
  • MovementComponent からの動きを停止すると、パス フォローイングが中断されるようになります。
  • APEX において RT 破壊を再度有効化しました。この機能はまだ直接サポートされていませんが、APEX libs によってこのフラグが再度有効化されることになります。
  • オーバーラップのチェック パフォーマンス: ブループリントのオーバーラップ クエリが、非同期シーンをチェックするようになりました。
  • PhAT 内部のアンドゥの動作を改善しました。
  • PhAT のコンストレイントのコピーアンドペースト機能を改善しました。
  • bSimulatePhysics の編集拡張性を改善しました。
    • UPrimitiveComponent::CanEditSimulatePhysics を追加して、個々のコンポーネントがその物理の設定から、シミュレーションが可能か否かを判定できるようにしました。
    • 詳細パネルのカスタマイゼーションにおいて、if-else のキャスト ツリーを置き換えました。
    • ベースの UPrimitiveComponent の動作を変更しました。BodyInstance 上ではなく、コンポーネント上に有効なボディの設定がある場合に、編集可能になります。
  • スプライン メッシュのために UseConvexAsSimple コリジョンに関する問題を修正しました。
  • ソフト頂点をともなって複数の凸包を作成する場合に PhAT がクラッシュする問題を修正しました。
    • 実際にはサポートされていませんが、エディタは、クラッシュしないで警告を正しく発するようになります。
  • BodyInstance に最大角速度を不正に渡す問題を修正しました。
  • 新たなボディを追加する PhAT が、リーフではないボディのためにジョイントを作成しない問題を修正しました。
  • PhAT が、リーフではないボディを削除する問題を修正しました。ジョイントが自動的に修復されるようになりました。
2D 物理コンストレイント
  • New: 簡単に 3D 物理ボディを 2D 平面にコンストレイントすることができます。(ボディ単位で、またはプロジェクト全体で)

オーディオ

  • New: マルチチャンネルのサポートを Opus のファイル形式に追加しました。
  • New: さまざまなサンプル レートのためのサポートを Opus のファイル形式に追加しました。
  • New: Windows 上の Audio Streaming のための早期実験的なサポートを追加しました。次期リリースで改善されます。
  • AudioDecompress.cpp/h から Opus クラスと Vorbis クラスを分離しました。
  • 残存する少数の UE3 音楽システムを削除しました。
  • コンテンツブラウザから SoundClass エディタを開くと、編集された SoundClass が選択されて、その値が表示されます。SoundClass 階層の SoundClass ルートの値は表示されません。
  • 完全なオーディオ データが、サウンドのストリーミング時にクック/ロードされないようにしました。
  • アニメーションのプレビューボタンが再生位置を直接セットしている場合に、サウンドとその他の通知が再生されないようにしました。

Live Streaming プラグインのサポート

  • New: ゲームおよびエディタのための Live Streaming プラグイン API を追加しました!
    • ライブ ストリーミング ネットワークへのライブ ビデオ/オーディオ放送を実装します。
    • エディタおよびゲーム内にビデオ映像を表示する機能をサポートします。
  • New: Unreal エディタからライブ放送をストリーミングするための実験的なサポート (まだ使用できません)。
  • New: Twitch の放送のための実験的なサポート (まだ使用できません)。
    • これを試すためには、Twitch SDK を入手して、ご自分でエンジンをコンパイルする必要があります。
    • Twitch へのビデオ/オーディオ ライブ放送を実装します。
    • ビデオ映像をエディタ内およびゲーム内で表示する機能をサポートします。
    • Twitch にログインするためにはブラウザベースの認証を使用します。
    • 補足: エピックは、Twitch SDK を合法的に配布することができません。詳しくは、 /Engine/Source/ThirdParty/Twitch/InstallingTwitchSDK.txt をご覧ください。

アニメーション

  • New: ルートモーションをプレビューするためのサポートをペルソナに追加しました。
  • New: ペルソナのユーザビリティの改善をさらに追加しました。
    • ペルソナのアニメーション スクラブ メニューとツールチップをよりユーザーフレンドリーなものにするためにその名前を変更しました。
    • AnimNotify を変更して、すべての AnimSequenceBase をサポートするようにしました。
    • タブ単位でペルソナのデフォルトのレイアウトを変更。主にスケルトン/メッシュ タブを単純化するための措置です。
    • Custom ソケットを Mesh ソケットに変更しました。
    • サムネイルサイズのアセット ピッカーをサポートし、ペルソナ用に調節しました。
    • タブ アセット ピッカーを変更して、デフォルトでリストビューになるようにしました。
    • 各タブのためにツールバーを追加しました。- インポート/再インポート/アセットの作成
    • 追加設定を調節して、警告機能を改善しました。
    • メニュー項目を修正して、複数のペルソナが開かれている場合は複数回表示されるようにしました。
  • New: アニメーション アセットのためのサムネイルを追加しました。(AnimSequence, BlendSpace, AnimComposite, AnimMontage, AnimBlueprint)
  • New: アニメーション ブループリントのために、ボーン主導のコントローラー スケルタル制御ノードを追加しました。
  • New: マウスオーバー時に、フローティングするアニメーション アセットのプレビューが表示される機能をペルソナ アセット ブラウザに追加しました。
  • New: Display Info (情報の表示) のオプションをペルソナのビューポートに追加しました。Basic (基本)、Detailed (詳細)、None (なし) などがあります。Basic のオプションは、スタティック メッシュ エディタと同じくらいシンプルなものです。
  • New: Save Animation Assets (アニメーション アセットを保存) メニューをペルソナに追加しました。
  • New: アニメーション エディタのタイプそれぞれについて、ドキュメンテーションのアンカーを追加しました。
  • New: アニメーション モンタージュのスロット名が、エラーメッセージを表示するようになりました。空の場合に有効な名前を供給できるようにします。
  • New: スケルタル ソケットを追加しても、スケルタル メッシュがダーティにならなくなりました。
  • New: ブループリントとネイティブの通知が、新たなネイティブのイベントを使って、通知パネルで名前をカスタマイズできるようになりました。
  • New: メッシュの物理アセットがセットアップされている限り、ペルソナのボーンが、非表示になっていても、選択できるようになりました。
  • New: アニメーション グラフの Player ノードをダブルクリックすると、そのアセットのために関連するエディタが開かれるようになりました。
  • New: ペルソナのトラックにおけるズームを変更して、トラックの中心ではなくマウス位置に基づくようにしました。
  • New: 並行アニメーションの評価のためにカスタムのグラフ タスクを作成して、オーバーヘッドを小さくしました。
  • New: Shift のクリックによる反復的な展開/折り畳みが、ペルソナのスケルトン ツリーでも機能するようになりました。
  • すべてのペルソナ モード バーのスケルトンから、UI の再ターゲット機能を削除しました。
  • ペルソナのツールチップとインタラクティブなチュートリアルへの改善。
  • アニメーションを一回クリックしてプレビューできる機能が、フローティングのプレビューのために削除されました。
  • ペルソナのアニメーション モードのビューポート スクラブ バーが削除されました。
  • 通知パネルの delete hook をペルソナから移動してパネルに移動することによって、ペルソナがすべての delete コマンドを独占してしまわないようにしました。
  • AnimSequence.bLoopingInterpolation フラグを削除しました。最終フレームから最初のフレームまで補間を追加したい場合は、ペルソナのメニューを使ってください。(Add Looping Interpolation ループ補間を追加する)。
  • エンジン レベルのブループリント通知をアップデートして、新たなカスタムの命名関数を利用するようにしました。
  • Static Mesh UVs (スタティック メッシュ UV) のテストを稼働している時にクラッシュする問題を修正しました。
  • サムネイルのコードが、誤ったサムネイルを使用する場合がある問題を修正しました。
  • 新たなアニメーションをセットした場合に、時間がリセットされない問題を修正しました。
  • パラメータが変更する場合に BlendSpace パラメータが正しく更新されない問題を修正しました。
  • ベクトル化された FTransform にある不適合な名前を修正しました。
  • 空のアニメーション アセットが、今後のフローティング プレビューをフリーズさせる問題を修正しました。
  • 外力がともなったルート モーションを修正して、ルート モーション モンタージュが再生されている場合にのみ適用されるようにしました。
  • New: トレース関数が、ベクターのために、リテラル値を受け入れるようになりました。
  • New: アニメーション ブループリントが、イベントグラフで、デフォルトのオーナー ノードの作成およびノードの更新を行うようになりました。
  • 同一の位置にある AnimNotifies が、トラックのインデックス順に保存されるようになりました。
FBX
  • すべての FBX のエラーと警告が、ドキュメンテーションのページにリンクされ、説明のためのツールチップが付くようになりました。
  • 存在しないボーンの影響をもつ頂点をインポートするとクラッシュする問題を修正しました。

オンライン

  • VoIP デリゲート処理に変更することによって、start/stop talking (話の開始/停止) が必ずキャプチャされるようにしました。これによって、潜在的なクラッシュを防ぐことができます。
  • Xbox LIVE の実装におけるクラッシュ バグを修正しました。

ネットワーキング

  • New: ネットワーク プロファイラにおいて各種 UI を改善しました。
  • Stat Net が正しく機能するようになり、command not found (コマンドが見つかりません) という表示が出なくなりました。
  • 非同期ネットワーク オブジェクトのロード コードについて多数修正を行いました。
  • BSD IPv6 SetIp 関数がアップデートされて、ポート番号を正しく解釈するようになりました。
    • UnrealFrontend によってコマンドライン上でポート番号が渡された場合にネットワーク ファイル システムが接続しない問題は、上記によって修正されます。
  • クライアントが、アセットをロードする前に、サーバーとまったく同じパッケージをもっていることを検証するようになりました。
  • 多くの ULocalPlayer の管理を整理しました。(オフライン/オンラインでのプレイのために分割スクリーンのプレイヤーを管理しやすくしました。)
  • Shooter Game (シューティング ゲーム) のメニューの管理を整理しました。ダイアログボックスのサポートなどを統一しました。
  • Shooter Game が、さまざまな失敗のケースについてダイアログ メッセージを表示するようになりました。これは、Shooter Game をコンソールにより適合させるための措置であり、OSS API のテストのために行われています。

コア

  • New: モジュールのために PostEngineInit の load phase (読み込み段階) を追加しました。これによって、GEngine/GEditor が作成された後にモジュールを登録できるようになります。
  • New: コマンドライン上で cofig オプションをオーバーライドできる機能。以下の形式を使用してください。
    • ini:IniName:[Section1]:Key1=Value1,[Section2]:Key2=Value2
  • New: file system block alignment (ファイル システム ブロック整列) オプションを Unreal pak に追加しました。これによって、小さなファイルがファイル システム ブロックの境界をまたがなくなり、プラットフォームによっては引き起こされかねない余計な負荷を防ぐことができます。このオプションは、そのようなコストを低減するのに役立ちます。オプションを有効化するためには、–blocksize=X[KB|MB] を使います。
  • ENGINE_API を FComponentInstanceDataBase に追加して、他のモジュールでも使用できるようにしました。
  • 複数のファイルを取る ISourceControlLabel::Sync() のオーバーロードを追加しました。
  • New: アップデート中にファイルが削除できない場合に表示される適切なエラーメッセージを追加しました。また、必要に応じてプロジェクトをチェックアウトする機能を追加しました。
  • AActor::OwnedComponents が UPROPERTY としてエクスポーズされなくなります。シリアライゼーションに関する問題を引き起こしていたために取られる措置です。
  • New: オブジェクトの寿命を記録する FScopedDurationTimerLogger クラス
  • New: FReferenceCollector に新たなヘルパー メンバー関数: AddReferencedObjects が加わりました。その関数のオーバーロードは、TArrays、TMaps、TSets を受け入れます。
  • New: FBlackboardKeySelector::AddRotatorFilter が CreateNamedObject を使用するようになりました。
  • New: UPrimitiveComponent::GetUsedTextures を virtual にしました。
  • New: プラグインのディレクトリが、プロジェクトのテンプレートを検索する際対象となります。
  • New: PCIP.SetDefaultSubobjectClass と PCIP.DoNotCreateOptionalDefaultSubobject が、クラスのイニシャライザ リストの外で使用できなくなりました。
  • New: TArray のための安定したソート アルゴリズム。標準的なソートよりも低速ですが、等しいエレメントの入力順序を保持します。*
  • New: ScriptPlugin が、スクリプト生成のブループリント クラスをサポートするようになりました。これには、Blueprintable のクラスを基本クラスとしてセットできる機能があります。
  • New: TLinkedList と TDoubleLinkedListが、C++ 11 の範囲に基づく for 構文をサポートするようになりました。
  • New:可変個引数のテンプレートを利用できない場合、vTUniqueObj コンストラクタが、0 から 4 個の引数に対応するようになりました。
  • New: 可変個引数のテンプレートを利用できる場合、TArray::Emplace が任意の数の引数に対応します。可変個引数のテンプレートを利用できない場合は、0 から 4 個の引数に対応します。
  • New: サポートされている可変個引数のテンプレートは、VS2013 ビルドで有効化されます。
  • FGameplayDebuggerExec::Exec(...) を変更して、FActorIterator ではなく、TActorIterator を使用するようにしました。
  • StringClassReference を整理しました。このクラスは、StringAssetReference の子クラスとなりました。その機能は類推できるはずです。
  • エディタ内のリネームが、StringAssetReferences もサポートするようになりました。
  • 基本クラスとして UMeshComponent を改善
    • UMeshComponent::PrestreamTextures と UMeshComponent::SetTextureForceResidentFlag をアップデートして、GetUsedTextures から動作するようにしました。また、virtual にしました。
    • マテリアルの配列を UMeshComponent::SetMaterial から拡張しようとする場合のための配列上下限のアサートを修正しました。
  • New: ParticleSystemAudit コマンドレットが UE3 から復活しました。データベースではなく、Asset Registry を使用します。
  • 発見された唯一の Player Controller が、最初のローカルの Player Controller ではない場合、FGameplayDebuggerExec::Exec が、レプリケーターをクリアするようにしました (したがって、ツールの作成/有効化に失敗します)。(決して発生すべきではありませんが、これまでは、適切に予防できていませんでした。)
  • Visual Studio または Xcode においてデバッグしている時は、アンリアル・エンジンのランチャーが読み込まれなくなりました。
    • この機能をオーバーライドできる -ForceLauncher コマンドライン引数を新たに追加しました。
  • テクスチャのストリーミングのためのコードをアップデートして、UMeshComponent から派生するすべてのクラスを等しく扱い、USkeletalMeshComponent または UStaticMeshComponent のための特別な扱い方を一般化しました。
  • FEditorStyle においてハードコード化された検索を使用する箇所をアップデートして、代わりに FClassIconFinder を使用するようにしました (自分のモジュールでクラス アイコンを指定できるようになります)。
  • ScriptPlugin から、ScriptAsset、ScriptFunction、ScriptActor の各クラスを削除しました。
  • CoreUObject モジュールにおいていくつかのテンプレートから DLLEXPORT の指定を削除しました。インライン拡張が無効化されている場合に不具合を起こす可能性がありました。
  • ツールチップが UField のために存在していない場合は、代わりにフィールドの名前を使用します。
  • stat unitgraph がコンソールのオートコンプリートに表示されない問題を修正しました。
  • source control 下にあるファイルをコピーすると、ブランチの履歴が保持されなくなる問題を修正しました。
  • stat dumpframe を使用する際に、self および他の子が表示されない問題を修正しました。
  • 低頻度ガーベジコレクションが不適切なタイミングで実行されるバグを修正しました。
  • プロジェクトのモジュールがロードに失敗するとクラッシュする問題を修正しました。
  • Shipping ビルドで STAT を強制的に true にした場合に生じるコンパイラ エラーを修正しました。
  • FMallocBinned の ValidateHeap() および dumpAllocatorStats() におけるマルチスレッド関連のクラッシュを修正しました。
  • コマンドライン上で –windowed を使って起動した場合にフルスクリーン モードの切り替えができない問題を修正しました。
  • プラグイン モジュールが起動時にまだ存在していない場合に生じる起動時コンパイルの問題を修正しました。
  • エディタからのコンパイルに関する問題を修正しました。ターゲットがゲーム名に合致していませんでした。
  • 非 US ロケールにおいて UnrealBuildTool 環境変数のスクレイピングに関する問題を修正しました。
  • 分岐によって複数のファイルが作成される問題を修正しました。
  • FTransform の詳細のカスタマイゼーションによって、現在、パッケージがダーティーにならない問題を修正しました。
  • FString::InsertAt によって、文字列の中央にヌル文字が挿入される問題を修正しました。
  • アクティブなコンテクストがない場合に入力し始めると IMM ベースの IME がクラッシュする問題を修正しました。(たとえば、エディタのビューポートがフォーカスされている場合にタイプした場合)
  • リダイレクトを通じて VerifyImport によってすでに作成されている場合に、ULinkerLoad がインポートを再作成しなくなる問題を修正しました。
  • ターゲットのプラットフォームがコマンドラインで明示的に指定されていなければ、常に Win64 が選択される代わりに、現在稼働中のプラットフォームが選択される問題を修正しました。この修正によって、Mac で BuildCookRun を使用する際に発生する問題が解決されます。
  • 他のストリーミング パッケージのインポート リストにある Unknown スクリプト パッケージが、クラッシュせずによりエレガントに扱われるようになります。
GameplayDebugger モジュールの変更:
  • 特定のプレイヤー コントローラーを前提にしてデバッグ アクタを作成する機能 (モジュール インターフェイスによってアクセス可能です) を追加しました。
  • プレイヤー コントローラーが追加された場合に、自動的にデバッグ アクタが作成されないように GameplayDebugger を変更しました。
  • 使用されていたメッセージがエディタ内でのみ発生します。ゲーム内では機能していませんでした。また、ゲーム内では、必ずしもあらゆるプレイヤー コントローラーがデバッグ アクタを作るようにする必要はありません。そのため、自身のデバッガを作成するコントローラーを決めるのはユーザーに委ねられるようになりました。
  • プレイヤー コントローラーのためのデバッガを作成する正しい方法としては、そのプレイヤー コントローラーで PostInitializeComponents() を実装するという方法が挙げられます。その関数では、(Super の実装の呼び出し後に) 以下のようにコードを呼び出すことができます。
  • CodeSnippet
より高速な C++ のコンパイル時間
  • 268 のヘッダに余分な include 文が含まれていました。このうち 205 のヘッダを、include-what-you-use (使うものを include せよ) の原則に従って修正しました。
  • Engine モジュールの private プリコンパイル済みヘッダから、17 個の不要な include 文 を削除しました。
  • コンパイル時間を改善するための努力は継続していますが、その経過で include のいくつかが public のヘッダから削除されました。削除されたファイルのリストを以下に掲げておきます。ご自分のプロジェクト ソース コードがコンパイルされない場合に備えて、これらのヘッダをコードに追加しなければならないことがあります。
    • RenderUtils.h
    • Debug/DebugDrawService.h
    • KeyState.h
    • SceneManagement.h
    • ShaderParameters.h
    • ShaderCore.h
    • ShaderCompiler.h
    • ShaderParameters.h
    • MaterialShared.h
    • PrimitiveUniformShaderParameters.h
Unreal ビルド ツールの改善
  • New: UBT を変更することによって、DebugGame コンフィギュレーションで稼働するためのフラグがモノリシックなゲームにコンパイルされるようにしました。( -debug の指定は必要なくなりました)
  • New: より詳細なデバッグの出力を追加し、共有の PCH ヘッダに関する問題を検出できるようにしました。
  • New: 高速な起動時間 (UObjects のための include をスキャンする時間を短縮しました)
  • New: UBT が、VS2013 のための VCToolChain に /FS フラグを追加するようになりました。これによって、PDB を使用する並行ビルドが正しく機能するようになります。
  • New:
  • UBT が、再配布の依存関係に関する違反を検出するようになりました。モジュールを redistributable (再配布可能) かどうかで区別できるようになりました。- たいていは場所に依存します。Editor および Development フォルダは非 redistributable ですが、必要に応じてオーバーライドが可能です。非 Debug ビルドおよび非 Editor ビルドでは、ビルドされているゲームが非 redistributable のモジュールに依存しているかどうかをUBT がチェックします。プログラムも検証されません。
  • UBT が、プログラムのためにコンパイルするプラグインのリストを入手するために、ini ファイルを使用しなくなります。プログラムのターゲットのルール ファイルが、プログラムのためにコンパイルすべきプラグインを指定しなければなりません。
  • UnrealBuildTool のパフォーマンス: Release ビルドで詳細な出力を無効化しました。
    • TRACE が、Release ビルドにおいてデフォルトで定義されなくなりました。
    • bPrintDebugInfo を機能させたい場合は、Debug ビルドを使用するか、TRACE を 1 に定義してください。
  • 共有の PCH を供給するモジュールが、モノリシック ビルドにおいて自身のユニークな PCH を生成および使用しない問題を修正しました。
  • ヘッダファイル名が異なる場合に、共有の PCH を供給するモジュールのためにユニークな PCH が必要であることを、モノリシック ビルドが検出できない問題を修正しました。
  • プラグインのスタティックライブラリが変更された後に UnrealBuildTool が、ターゲットに再リンクしない問題を修正しました。作成動作が creating an import library (インポート ライブラリを作成) とマークされているために、依存関係が無視されていました。
UnrealHeaderTool
  • 「ScriptPlugins」ini 設定項目を削除しました。プラグインは、uplugin ファイルで指定される Category によって発見されるようになります。(UHT については、UnrealHeaderTool.Code Generator によってプレフィックスがつけられなければなりません。)

既知の問題

  • IPP に関して既知の問題があります。ユーザーが具体的なアプリケーション ID (com.yourcompany.* ではなく com.yourcompany.gamename) をともなったモバイル プロビジョンをインポートしようとすると、インポートされたモバイル プロビジョンを正しく見つけることができないという IPP の問題です。ワークアラウンドは以下のようになります。
  1. ワイルドカードのモバイル プロビジョンを作成します。これがおそらく最も簡単なワークアラウンドであり、このプロビジョンは、開発中どのゲームのためにも機能します。
  2. ご自分の Game/Build/IOS ディレクトリに Info.plist を作成します。Engine/Build/IOS/UE4Game-Info.plist でテンプレートを使用するか、エディタ (Project Settings / IOS Settings) でプロジェクトの設定を編集して、Info.plist を生成することができます。CFBundleIdentifier のキーが、モバイル プロビジョンの識別子 (通常は com.yourcompany.gamename) に合致していることを確認します。これが完了すると、IPP を実行してプロビジョンと証明書をうまくインポートすることができるようになります。