2014年7月9日

アンリアル・エンジン 4.3 のアップデート プレビュー

作成 Ian Shadden

今度の 4.3 リリースには、以下の事項が含まれます。ブループリントの QOL に関する多数の改善、複数の優れたレンダリング機能、Automation の大幅な強化、あらゆるカーブの要求に応える Spline、3D アートパッケージ外で複数ボディのコリジョンを作成できるようになったスタティックメッシュ エディタのアップデート。

次期 4.3 のリリースにコードを貢献していただいた素晴らしいデベロッパーの方々全員に感謝を申し上げます。

3dluvr、abergmeier、alixSilkin、Allegorithmic、bigzer、Chris-Bond、CoherentUE4、EverNewJoy、Ixiguis、mpolaczyk、pzurita、raziel2001au、robert-wallis、RushPL、solid-angle、stephenwhittle、thk123、timdonkssbc100、vakathil、Xaklse、Zoubi の方々、ありがとうございました!

4.3 プレビュー ビルドにアクセスする方法

サブスクリプションお申し込み中であれば、ランチャー (ライブラリのタブ) から 4.3 プレビュー ビルドにアクセスできます。このタブを開くと、新たなエンジン バージョンを追加できるオプションが表示されます。˅ マーク付きバージョン番号の隣に + マークが付いているので、新たなバージョンを選択できると分かります。

Library Screen 1

プルダウン メニューをクリックすると、利用可能なエンジンのリストが表示されます。これには、「プレビュー」ビルドも含まれています。

Library Sreenshot 2

この時、ダウンロードのためには「EULAに同意する」必要があります。

新機能

レンダリング

New: スカイライト グローバル イルミネーション

スタティック スカイライトおよび ステーショナリー スカイライトでは、Lightmass によって 1 バウンスのディフューズ GI が計算されるようになりました。スカイライト上で Indirect Lighting Intensity (間接ライティングの強度) を利用することによって、バウンス ライティングの明るさを制御できます。

すべての Stationary ライトと同じように、実行時にカラーと強度を変更する場合は、バウンス ライティングが Lightmap にベイクされるため、直接ライティングにのみ適用されます。

オリジナル:

Zen Gardens

グローバル イルミネーションが有効:

Zen Gardens With Global Illumination

New: ディスタンス フィールド アンビエント オクルージョン

この機能では、シーン内のスタティック メッシュを表現するために使用される符号付きディスタンス フィールドから AO (アンビエント オクルージョン) が計算されます。スタティック メッシュは実行時に動かすことが可能で、AO は更新されます。

オリジナル:

Distance Field Example Original

ディスタンス フィールド AO が有効:

Distance Field AO

New: ステーショナリー ライトによる半透明性のシャドウイング

UE4 ではこれまでかなり長い間、動的なシャドウによりシャドウイングされる半透明性が使われてきました。ただし、ステーショナリー ライトについては、非常に効率良くレンダリングする必要があるために動的なシャドウイングが使われない関係上、直接ライティングが漏れ出ていました。今回これが、ライトの影響を扱うシャドウ デプス マップによって処理されるようになりました。シャドウ デプス マップは、ライティングのビルド中に Lightmass によって生成されます。

オリジナル:

Transluceny shadow original

透過性のためのスタティック シャドウイング

Static Shadowing for Translucency

New: 移動できるスカイライト

スカイライトで、Movable (移動可能) という移動のための設定が使用できるようになりました!

  • このタイプのライトでは、動的なシーン変化がサポートされています。
  • SSAO とディスタンス フィールド AO という新たな機能によってシャドウイングを受けます。

Behavior Tree

Behavior Tree エディタで Blackboard の編集およびデバッグが可能に

Behavior Tree エディタ内で Blackboard のエントリを編集およびデバッグできるようになりました。Blackboard エディタにアクセスするには、新たな「Blackboard」モードに切り替えます。

Blackboard mode

Blackboard を編集するには、ブループリントの変数と同じようにキーを加えます。

Editing Blackboard

キーの削除またはリネームは、ショートカットキーおよび右クリック コンテクストメニューから行うことができます。

デバッグする場合は、Blackboard の値が検査のために表示されます。以前と同様に、現在のデバッグ コンテクストと保存された (以前の) デバッグ コンテクストを切り替えることができます。

Switch to Current or Saved Blackboards

Blackboard は、Behavior Tree モードでクイック レファレンスのためにも表示されます。

Blackboard TreeMode

New: 「新たなノード」のためのショートカット

Behavior Tree エディタのツールバーに新たなボタンが追加されました。これによって、Task、Decorator、Service のための新たなブループリント ノード タイプを素早く作成できるようになります。

New Mode Shortcuts

  • これらの新たなノードのためのブループリントは、現在編集されている Behavior Tree の位置に作成されます。ノードのタイプを作成できるクラスが 2 つ以上ある場合は、ボタンとともにクラスを選択できるドロップダウンが表示されます。
New: World Composition (巨大なレベル!)

サブレベルを作成して、このマップ上の任意の場所に配置することができます。サブレベルはゲーム内で自動的にロードされます。

Level Composition

  • レベルの World の設定で Enable World Composition (World Composition を有効化する) をクリックすると、この機能をアクティベートできます (この機能を有効化するためにはレベルを保存する必要があります)。
  • レベル ブラウザのツールバー上にある Minimap ボタンを使用して、ワールドマップにアクセスできます。
    Level Browser
  • 今後、新たなドキュメントとサンプル ゲームが登場します。
  • この機能は、初期のビルドに実験的に含まれていた World Browser 機能の代わりとなるものです。
レベル ブラウザの再デザイン

レベル ブラウザ (ウィンドウ メニューからアクセスできます) が、4.3 でかなり変わります。

Level Browser Redesign

  • すべてのファイル操作 (新規作成、保存、別名で保存、追加、マージなど) が、コンテクストメニューから Levels というツールバーボタンに移動しました。
  • ステータスバーに新たな表示オプションとして、Display actor count for each level (各レベルのアクタ数を表示) と、Display full package names (完全なパッケージ名を表示) が加わりました。
  • 比較的多用されない操作 (レベルのトランスフォーメーション、ストリーミング ボリュームの管理など) は、 [Level Details] (レベルの詳細) パネルから実行できます。[Level Details] パネルは、[Level] パネルのツールバー上にある詳細のためのボタンをクリックすると開きます。[Level Details] パネルは、通常の [Details] パネルとは別のものです。選択されたレベルの詳細しか表示しません。なお、複数選択も可能です。
  • PIE では、レベル パネルが各レベルのシミュレーションのステータスを表示します。非表示のレベルは、ビジビリティの「目」が閉じられ、ロードされていないレベルは、名前がグレイで表示されるようになります。
  • レベルをブループリント グラフにドラッグすると、そのレベルのための GetStreamingLevel ノードが作成されます。
  • 新たなレベル ツールで、何らかのものが欠けていたり、正しく機能しない場合は、-oldlevels コマンドライン パラメータを使って、元のレベル ツールに戻すことができます。

ブループリント

New: スプラインとスプライン メッシュ コンポーネント

ワールド内でスプラインを直接編集できるようになりました!スプライン コンポーネントまたはスプライン メッシュ コンポーネントをブループリントに追加して、そのブループリントのインスタンスを選択するだけで、レベル内でスプラインの編集にアクセスできるようになります。

Spline Mesh Component を使えばスタティックメッシュをスプラインカーブに沿わせて変形することができます。ディテールパネルでカーブのスタートとエンドポイントおよびタンジェントを設定することができます(もしくはファンクションをつかって)。

Spline Mesh

キーをクリックしてスプラインを選択します。

  • 移動のためのウィジェットを使って、いろいろ動かすことができます。(「タンジェント」は、デフォルトで自動的に更新されるようになっています。)
  • 選択されたキーを使って Alt + ドラッグすると、新たなスプラインが加わります。

さらに制御が必要な場合は、

  • 回転のためのウィジェットを使って、タンジェントを回転させることができます。
  • スケーリングのためのウィジェットを使って、タンジェントを拡張させることができます。

キーを右クリックすると、コンテクスト メニューを開くこともできます。

必要な場合は、AddSplineWorldPoint 関数と SetSplineWorldPoints 関数を使って、コンストラクション スクリプト内でスプラインを作ることもできます。

New: Reroute Node (再ルーティング ノード) 

ピンをクリックしてドラッグすると、コンテクスト メニューに Add Reroute Node... (再ルーティング ノードを追加) が表示されるようになりました。通常通りに、再ルーティングのピンを接続させたり、(近くでドラッグするか ピンを Ctrl + ドラッグすることによって) いろいろ動かしたり、Alt + クリックすることによって削除することが可能です。

再ルーティング ノードにコメントを付けることもできます。そのためには、ノードの下側のドラッグ可能な領域でダブルクリックするか、F2 を押します。

Reroute Nodes

New: struct ピンの分割

ノード上に配置されている struct (構造体) ピンを直接分割できるようになりました。Make ノードと Break ノードを挿入する必要はありません。

Split Struct Pins

この機能は、任意の struct の入力ピンと出力ピン両方で有効です。分割された struct にさらに struct が含まれている場合は、それらも展開することができます。

New: 出力ピンの enum を展開

ブループリント ノードで、列挙型実行ピンの展開が可能になりました。この機能は、かなり前から入力ピンでは可能でしたが、今回出力実行ピンでも利用できるようになりました。

Expand Enum for Output Pins

  • 列挙型を作成して、1 つを関数の出力パラメータにして、その出力パラメータを UFunction メタデータ (C++) の中で ExpandEnumAsExecs としてマークできるようになりました。
New: データとカーブ テーブルをサポート

Evaluate Curve Table Row (カーブ テーブルの行を評価) は、XYで Row Name (行の名前) の出力値を返します。

Data and Curve Table Support

Get Data Table Row (データ テーブル行を取得) は、個々のメンバ変数に分解できる Row struct を返します。

Get Data Tanble Row

New: Anim Trail をブループリントで制御

Anim Trail エミッタを、Anim Notify を使わずに、ブループリント (とコード) で制御できるようになりました。

  • この機能に関する唯一の制約は、パーティクル システム コンポーネントが、ソケットの位置をサンプリングしているスケルタルメッシュ コンポーネントの子でなければならないということです。
  • コンポーネントの Begin Trails 関数は、パーティクル システムのすべての Anim Trail エミッタを開始させます。

Blueprints Control of Anim Trails

  • コンポーネントの End Trails 関数は、パーティクル システムのすべての Anim Trail エミッタを終了させます。

EndTrails

  • 実行中に Trail のプロパティを変更することもできます。次の画像では、game time を使ってティック毎に幅を変更しています。

Global Search

New: Global Blueprint Search (全面的なブループリント検索)

Find-in-Blueprints が、機能に関する要望を取り入れて大幅に強化されました。また、より堅牢で便利になりました。

検索は、かつてないほど包括的になりました。ノード、ピン、ピンの値、グラフ、変数、変数の値、アニメーション グラフの検索が可能になりました。

検索は非同期のプロセスであるため、検索が完了する時、エディタが使用できなくなるということはありません。異なるブループリントで複数の検索を同時に実行することも可能です。

Find-in-Blueprints は、検索可能なデータについて DDC を利用するようになりました。ブループリントが更新されると、その情報がリフレッシュされ、他のユーザーがそのブループリントに同期すると、検索可能なデータがアクセス不能となります。

ブループリントがシステム内でインデックス化されていない場合は、以下の画像のように通知されます。

Not Indexed in Blueprints

  • 注記: 現在のレベルは、支障なく検索できるはずですが、レベル ブループリントが完全にサポートされているわけではありません。

スタティックメッシュ エディタ

New: カスタマイズ可能なスタティックメッシュのコリジョン

スタティックメッシュ エディタで、さまざまなタイプのコリジョン プリミティブを複数追加できるようになりました。これによって、独自のコリジョン設定を素早く作成できるようになるとともに、既存のコリジョンを素早く修正することによって、ゲームプレイに支障がある問題を修正できるようになります。

この機能を使用することによって、複雑なジオメトリをもっと簡単に撃ち抜いたり、通り抜けることができるようになります。また、ユーザーにそうできないようにしたい時は遮蔽物を配置することも簡単にできます。次はその例です。

Static Mesh Example 1

Static Mesh example 2

スタティックメッシュ エディタが、Capsule/Sphyl コリジョン ジオメトリにも対応するようになりました。

  • 合わせるべき正しい軸とそのメッシュに最適なフィットを計算しようとします。たとえば、次のようにします。

Capsule/Sphyl Collision

  • すべてのコリジョン プリミティブは、マウスで選択できます。また、エディタのウィジェットを使って移動、回転、スケーリングすることができます。(スペースバーと W、E、R キーで操作のタイプを切り替えることができます。)
  • コリジョン プリミティブは、次の操作が可能です。複数選択 (Ctrl+左マウスボタン)、フォーカス (F キー)、複製 (Alt+ドラッグ)、不要になった時に削除 (Del キー)。これらはすべてトランザクションです。

プレビュー ノート

エディタ
  • New: Class Wizard (クラス ウィザード) をサポートすることによって、非 UObject のクラスが作成できるようになりました。
  • New: Reference Viewer (参照ビューアー) のコンテクスト メニューに Edit Asset (アセットの編集) オプションを追加しました。
  • New: プロジェクトのターゲット プラットフォームを選択するためのサポートを追加しました。
  • New: アセットを削除することによって、Mode タブの [Recently Placed] (最近配置済み) リストが強制的にリフレッシュされるようになりました。
  • New: Behavior Tree エディタのためのユニークなアイコンができました。
  • New: エディタ専用関数を追加して、エディタ内アイコンの表示をノードがオーバーライドできるようにしました。
  • New: ブループリントのアイコンを追加することによって、ロジックのためにブループリントを使用するノードを表示できるようにしました。
  • New: CachedAutoWrapTextWidth が Tick() ではなく OnPaint() でキャッシュされた理由を説明するコメントを追加しました。
  • New: グリッド表示のオン/オフを切り替えることができるチェックボックスを追加しました。
  • New: マネージャーを追加することによって、My Project のリクエストをキューに追加し、処理できるようにしました。また、cool down を追加しました。state がポーリングされるようになりました。
  • New: PlatformInfoDesktopPlatform に追加しました。また、エディタの Supported Platform UI (サポートされているプラットフォームの UI) を改善しました。
  • New: コンテンツ ブラウザのボタン (検索、使用) を、スケルタルメッシュの詳細パネル内のアニメーション ブループリントの部門に追加しました。
  • New: 主要なアセット エディタのコンセプトを、アセット ツールキット マネージャーに追加しました。
  • New: Alt + Shift + R を押すことによって、現在選択されているアセットのために Reference Viewer (参照ビューアー) が開くようにりました。
  • 「Graph is linked to object(s) in external map」(グラフと外部マップのオブジェクトがリンク) というダイアログを変更して、単一の OK ボタンを持つようにしました。
  • Gameplay Tag Pin (ゲームプレイ タグ ピン) を変更して、単一の選択のみが可能となるようにしました。
  • ランチャーで作成されたプロジェクトのために、プロジェクトの位置の配列を、ゲームの .ini に移動しました。
  • Stats のサブメニューのエントリをビューポートの表示メニューから ViewportWindowMenu.png のメニューに移動しました。
  • DefaultPhysicsVolume を修正して、ブラシ/ボリュームのための詳細パネル内のコンバート アクタ リストに表示されないようにしました。
  • Color Picker (カラーピッカー) を修正して、テーマを他と同じ名前に変更した場合に、エラーが表示されるようにしました。
  • 複製されたスケーリング済みジオメトリ上の undo then redo (アンドゥ後にリドゥ) を修正して、デフォルトのスケールのブラシができないようにしました。
  • Particle System Arrow コンポーネントを修正して、それのアクタのスケールを基準にしてスケーリングされないようにしました。
  • Play In Editor in New Window (新たなウィンドウで Play In Editor) を修正して、r.FullScreen が 1 になっている場合に、解像度のリクエストを尊重するようにしました。
  • レベルエディタのエクスポート機能を修正して、デフォルト値を OBJ から FBX に変更しました。
  • move/save の回転軸のオプションを修正して、ブラシが正投影のビューポートでのみ利用できるようにしました。
  • コンテンツ ブラウザを修正して、パッケージのダーティな状態が更新された場合にリフレッシュされるようにしました。
  • プロジェクト ブラウザに、カスタムのカテゴリのためのサポートを再度追加しました。
  • EnginePrivate.h からすべてのアニメーション クラスを削除し、それらのファイルを編集して、依存関係のみを含むようにしました。
アニメーション
  • New: モンタージュのブレンドアウト/終了のためのブループリント イベントを追加しました。
  • New: 後続のテストをモニターし、Saved/Automation/Logs にログを保存する Track 履歴の切り替えを可能にしました。
    • デフォルトでは最大 5 個までトラックして表示しますが、この値は、1 から 10 までの間に設定変更できます。
カスケード
  • New: ランダム シード機能に「Randomly Select Seed Array」(Seed 配列をランダムに選択) というオプションを追加しました。
シーン アウトライナー
  • New: アウトライナー フォルダの展開状態が、ユーザー別一時 config ファイルに保存されるようになりました。
  • New: ダブルクリック イベントが親ウィジェットまで波及しないようにする機能を追加しました。
マテリアル エディタ
  • New: 特に値がないプレビューをもつと見なされるノードが、デフォルトで畳まれるようになりました。
ジオメトリ モード
  • New: ブラシのワイヤフレームが、動かされてオブジェクトの背後にまわった時、点で描画されるようになりました。
スタティック メッシュ エディタ
  • BuildScale を修正して、Sphere Collision (球形コリジョン) を作成する場合に適用されるようにしました。
ペルソナ アニメーション エディタ
  • New: アセット ピッカーにリネーム機能が加わりました。
  • アニメーションのインポートを修正して、インポートおよび再インポート時に既存のアニメーション カーブを検出してスケーリングすることによって、キーがアクセス不能にならないようにしました。
ビューポート
  • New: ピンで留められたカメラのプレビューをもつカメラを選択すると、そのプレビューが強調表示されるようになりました。
  • Raw および Unit Time の統計情報を修正して、Unit Graph がまだ有効化されていなくても正しく表示されるようにしました。
UI
  • New: エスケープキーを押すと、フォーカスされていない HUD UI でも最初に閉じられるようになりました。
Unreal Automation Tool
  • New: Unreal Automation Tool が、ゲームの .ini ファイルを使って、付加的ディレクトリを追加して、クッキングおよびステージングするようになりました。
Unreal Frontend
  • New: 失敗した場合の Automation テスト時間を組み入れました。これまではこのことが時間に反映されていませんでした。
  • ツールチップ (テストのための) をアップデートして、その操作がどのマシン上にあるかを表示するようにしました。

ライティング

  • New: コードを追加して、スポットライトの Inner Cone Angle が Outer Cone Angle よりも大きく設定できないようにしました。

ブループリント

  • New: ブループリント エディタの起動中に検査を行うようにして、現在のプロジェクトがブループリントベースなのかコードベースなのかを判定できるようにしました。
  • New: Infinite loop found in Blueprint: <blueprint name> (ブループリントに無限ループがあります) と表示するメッセージボックスを追加しました。

ランチャー

  • New: 複数のプロジェクトが、1 つの「app」から作成できるようになりました。「マイプロジェクト」の領域ですべてがリスト表示されます。

プラットフォーム

HTML5
  • 多数のアップデートと修正。
  • HTTP 通信に関する問題の修正。
Android
  • 多数のデバイスで互換性を改善しています。
Linux/SteamOS
  • 多数のアップデートと修正。
iOS
  • New: モーションをキャリブレートするためのブループリント ノードを追加しました。iOS デバイスのために実装しました
  • New: Windows から iOS へのデプロイ。
PS4
  • New: libaudio3d を使用するポジショナルオーディオ。
  • SDK version 1.700.018 にアップデートしました。

Automation

  • New: 複数回テストを繰り返すことができる機能を追加しました。
  • New: Editor Screen Shot Capture (エディタ スクリーンショット キャプチャ) コンソールコマンドを追加しました。
  • New: オーバーラップをともなったスタティックメッシュおよび 範囲外の UV をともなうスタティックメッシュをすべて発見するための新たなテトを追加しました。
  • New: スタティックメッシュ エディタのツールバーの機能を順次検査していくテストを追加しました。
  • New: Automation タブでプリセットを設定できるようになりました。これによって、実行する可能性のあるテストのために独自のテスト グループを設定できるようになります。
  • New: サムネイルの代わりにフルサイズのスクリーンショットを有効化できるようになりました。この機能は、Screenshot Compare (スクリーンショット比較) ツールによってサポートされます。
  • New: Screenshot Compare ツールで、Show only Nth Image (N 番目の画像のみ表示) の設定が可能になりました。
  • New: 何らかの基準 (例: GPU、マシン名、CPU、OS など) に基づいて、デバイスグループのためのテストと結果をひとまとめにすることができるようになりました。
  • New: Test Results Report Card (テスト結果報告カード) を追加しました。このテスト結果では、テストが実行されたマシンまたは各デバイスグループについて、カラーグラフが表示されます。
  • Load all Maps in Editor/Game (エディタ/ゲームにすべてのマップをロードする) テストをアップデートして、スクリーンショットを撮れるようにしました。

既知の問題:

  • 現在、Android のためのコンパイルを実行すると妨げられる。- 4.3 のリリースで修正される予定です。

コメント、質問を歓迎しています。ぜひ、 フォーラム までいらして、ご意見をお聞かせください。