2014年5月15日

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

作成 Ian Shadden

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

Abergmeier、AKPWebDesign、Allar、AndrewScheidecker、cbuttner、crnobog、DiCoJamesTan、dotneB、finger、frogameleon、gatekeep、Hydrael、Ixiguis、jkantzer、kylawl、mekaknepley、Rama、sbc100、SRombauts、StephenWhittle、wshearn、Yelmond の各氏に対して。

エピックは、アンリアル・エンジン 4 ライブストリームで、新たな Unreal Tournament のための UE4 開発コミュニティとの協力について、その最新情報を公開します。シニア プログラマーの Daniel Broder と Mieszko Zielinski は、AI に関するディスカッションと、チームが現在集中的に取り組んでいる AI 関連の機能に関するディスカッションをリードする予定です。いつものように、ニュースの更新と、コミュニティ スポットライト、ライブ Q&A を予定しています。

New: サンプル 自動車ゲーム (Vehicle Game)

車両がアンリアル・エンジンで完全にサポートされるようになりました!そのお祝いに、楽しいオフロード体験が繰り広げられるとてもクールなサンプル ゲームがリリースされる予定です!4.2 とともに無料でマーケットプレイスからダウンロードできるようになります。

 

New Sample Vehicle Game

  • そのまま使用できる 4WD、FWD、RWD のドライブトレインをサポート。
  • デフォルトのドライブトレインのシミュレーションでは 4 輪が想定されていますが、任意の数の車輪で機能するようになります。
  • ギアの数は好きなだけ。
  • 自動および半手動のトランスミッション。
  • そして、すべてがブループリントにエクスポーズされます!

自動車ゲームのためのメカニカルなセットアップ。

  • 車両をセットアップするための完全なドキュメンテーションが、4.2 のリリースで入手できるようになります。

New: スタイライズド (Stylized) レンダリング サンプル

スタイライズド レンダリング サンプルが、無料でマーケットプレイスから入手できるようになります。このサンプルは、アンリアル・エンジン 4 の柔軟なレンダリング機能を示すものです。

Stylized Rendering Sample

New: カメラ アニメーション システム

CameraAnim がアンリアル・エンジン 4 にサポートされました!この機能は、アンリアル・エンジン 3 のカメラ アニメーションと非常によく似ていますが、ブループリントのためのサポートが拡張されています。

  • 考え方として CameraAnimとは、ゲーム内のカメラに重ねることができるアニメーションのことです。カメラの位置と回転、FOV、ポスト プロセスの設定をアニメートできます。
  • CameraAnim はコンテンツブラウザで作成できます。また、マチネのトラックをカメラ アニメーションに変換したり、Maya のような外部ツールからキーフレームをインポートすることもできます。

 

CameraAnim System

  • CameraAnim を編集するには、コンテンツブラウザで、他のアセットの場合と同じようにアセットをダブルクリックします。カメラ アニメーションのエディタは、マチネを少しばかりカスタマイズしたものです。
  • 複数の CameraAnimInst (現在は最大 8 個) を同時にアクティブにできます。これらすべてがブレンドされ最終的なカメラの設定に寄与します。

New: ブループリントのためのユーザー定義の構造体

ユーザー定義の構造体は、エディタ内から使用できる新しいアセットです!

ユーザー定義の構造体は、コンテンツブラウザで作成できます。

User-Define Structures in Blueprints

ユーザー定義の構造体は、スタンドアロン型のエディタで編集できます。そのためには、コンテンツブラウザユーザー定義の構造体をダブルクリックします。編集が完了したら、ブループリントで、その新たなユーザー定義の構造体の型の変数を作ることができます。Content Browser Blueprints

Vector や Rotator、その他の構造体と同様に、ユーザー定義の構造体には、Make ノードと Break ノードがあります。ユーザー定義の構造体は、ネイティブの構造体と同じように振る舞わなければなりません。: USTRUCT(BlueprintType)

New: ブループリント関数ライブラリ

ユーザーがブループリント関数ライブラリのアセットを作れるようになりました!これによって、プロジェクト全体で使用できるブループリント関数のライブラリができることになります!

Blueprint Library

ブループリント マクロ ライブラリとは異なり、ブループリント関数ライブラリには、親クラスが必要ありません。また、現在のプロジェクトに含まれているブループリントのどこからでも呼び出すことができます。

FABRIK インバース キネマティクス ソルバ

FABRIK は、Forward And Backward Reaching Inverse Kinematic (前方後方到達インバース キネマティクス) の略で、ボーンのチェーンがどんな長さであっても機能する IK ソルバです!

Fabrik Inverse Kinematics Solver

  • End Effector の設定項目は、TwoBone_IK のノードと同じです。絶対的な Transform または相対的な Transform (同一のスケルトンの別のボーンに基づく) にすることができます。
  • Solver のセクションでは、使用するボーンのチェーンを設定します (Root から Tip まで)。「Tip」は、エンドエフェクタの位置まで到達することになります。
  • End Effector Rotation Source によって、回転を制御できます (コンポーネント空間、ローカル空間の維持、エンドエフェクタ ターゲット ローテーションのマッチ)
  • Precision は、忠実度に関わるものです。この値が低くなれば、End Effector ターゲットに対してより忠実になりますが、負荷は高くなります。(ただし、テストでは、非常によい結果が得られ、速度も CCD_IK ノード より格段に上です。)
  • MaxIterations は、パフォーマンスを制御し、エッジケースでフレームレートが低下しないようにするためのものです。

この機能を作っていただいた GitHub コミュニティ メンバーの Stephen Whittle さん、ありがとうございます!

New: キャンバス レンダー ターゲット

キャンバス UI を直接テクスチャに描画して、そのテクスチャをシーン内のオブジェクトにマッピングできるようになりました。

  • この機能は、C++ とブループリントのワークフローで完全にサポートされます。
  • この機能をサブミットしてくれたコンピュータ メンバーの James Tan さんに感謝いたします。

New: 自動車テンプレート

新たなプロジェクト テンプレートができました。このテンプレートでは、車をベースにしたプロジェクトを開始する時に使用できるシンプルな自動車が提供されます。ブループリント バージョンと C++ バージョン両方のテンプレートが 4.2 に含まれる予定です!

Vehicle Template

New: アニメーション ブループリント アセット オーバーライド エディタ

ペルソナに新たな機能が加わりました。親アニメーション ブループリントの Play ノードおよび Evaluate ノードで使われているアセットを、子ブループリントからオーバーライドできる機能です。

この機能のためのエディタは、ペルソナの Window メニューに入っています。

Asset OVerride

このエディタは、アニメーション アセットをオーバーライドできるノードすべてを集めて表示します。新たなアセットは、パネル右のピッカーから選択できます。長い継承チェーンでも動作し、階層の上のほうにあるブループリントに基づき、そのブループリントのために最も適切なデフォルトを表示します。目のマークのボタンをクリックすると、現在オーバーライドしている AnimGraph ノードにリンクします。

AnimGraph

New: Anim Notify エディタの改善

Anim Notify の複数選択機能がペルソナに追加されました。shift+クリックで選択に加わり、ctrl+クリックで Notify の選択/選択解除が切り替わります。

選択した Notify をドラッグすることができます。Notify は、スナップに従っている間、Notify パネル内にとどまっています。

Image Notifier

選択したグループにもコピー/ペーストが効きます。以下のようにいくつかオプションがあります。

絶対的な時間、相対的な時間、元の時間 (Notify がコピーされた場所を基準にして) にペースト可能です。

New: コンポーネントのためのブループリント カットアンドペースト

カット/コピー/ペースト コマンドが、コンポーネント モードに追加されました!

Blueprints Cute/Paste

  • 個々のコンポーネントを選択して、右クリックまたはキーボードのカット/ペースト コマンドで、コンポーネントをコピーまたは移動することができます。
  • あるブループリントからコンポーネントをカット/コピーして、別のブループリントにペーストできます!

選択したものに階層が含まれている場合は、ペーストされたコピーにもそのまま保存されます。

New: ブループリントのための実験的な数式ノード

ブループリントの数式ノードに使用できる実験的なプラグインが新たにできました。このノードでは、数式を入力すると、入力ピンと出力ピンが作られ、その数式を含んでコラプスされた (折りたたまれた) グラフができます。

Experimental Math Expression Node

  • このノードを使用するためには、プラグイン マネージャーで Math Expressions (数式) プラグインを有効化するだけです。有効化すると、ブループリント グラフ エディタの右クリック コンテクスト メニューに表示されるようになります。
  • 作成が終えたら数式を入力します。間違えた場合は、ノード名を変更することによって、数式を編集できます。

New: SplineThicken マテリアル関数のための UV パララックス

SplineThicken マテリアル関数を使用して、UV パララックスをマテリアルに追加できるようになりました。これによって、オブジェクトに丸みを帯びさせることができます!

SlineThicken Example

  • この関数の法線部分を修正して、すべてのオブジェクトの回転について正しい変換が可能になりました。これによって、ライティングとスペキュラがより正確になります!

     

新たな入力:

  • Thickness (厚み) のための UV (V2): 厚み (先端からベースまで) のグラディエントを保存するために、異なる UV チャンネルを指定できるようになります。これが役立つのは、単に 1 個のパイプやブランチなどではなく、ツリー全体の長さが含まれる可能性のあるツリーのために、UV1 または UV2 に置く場合です。
  • テクスチャリングのための UV (V2): パイプに適用したいテクスチャのための UV です。数式をここに含めスケーリングすることによって、どの程度パララックスすべきか指定する必要があります。これが必要になるのは、3D パララックス補正の結果が必要な場合だけです。
  • DeriveNormalZ (Bool): これにチェックを入れると、シェーダーは、DeriveNormalZ を使用して法線の高さを計算しま。丸みをもった形状になり格段に見栄えが良くなります。false の場合は、0.62 と見なされます。この値は、0 を中心とする半球の高さの平均です。CustomUVs を使って法線を解きたい場合は、DeriveNormalZ を false に設定するか、スプライン メッシュの中心に一列の頂点が必要となります。追加の頂点がなく CustomUVs を使用しない場合は、法線がメッシュ全体で 0 の高さをもつことにされてしまいます。
  • AngleCorrectedNormals (Bool): 追加の法線テクスチャを使用する場合に、角度補正済みの法線を使用するかどうかを指定します。正確性が増すほど、負荷が大きくなります。
  • AdditionalNormal (V3): 頂点法線の変換に加わる追加の法線マップを指定できます。

新たな出力:

  • UVs with Parallax: 3D パララックスを加えたいテクスチャのために使用できる UV です。

この関数は現在のところ、1 個のテクスチャ座標しか扱えないため、複数のテクスチャに補正させたい場合は、すべてテクスチャで同一のスケールが使用される必要があります。

New: アニメーション デバッグ 機能

自由に使用できる新たなアニメーション デバッグ コマンドが多数搭載されました。まずスケルタルメッシュのボーンのインゲーム レンダリングがあります。

Animation Debug Features

これを有効にするには、ShowDebug Bones コンソール コマンドを使用します。上の画像のように、ボーンは個別の白い線によって表されています。

  • 代わりの表示 (ペルソナで表示されるボーンにマッチ) を有効にするには、ShowDebugToggleSubCategory 3DBones コンソール コマンドを使用します。
  • 次は、アニメーション デバッグ出力です。ShowDebug Animation コンソール コマンドを使用して有効にできます。
  • 5 つのセクションに分かれます。それぞれのセクションの on/off を切り替えるには、ShowDebugToggleSubCategory コマンドに、以下にリストされているカテゴリ名を付けます。たとえば、ShowDebugToggleSubCategory SyncsGroups というようにします。
    • SyncGroups: 同期グループによってまとめられていて (グループに属していない場合は Ungrouped)、現在最終ポーズに寄与しているアニメーション アセットを表示します。デフォルトでは、このセクションでリストされている Blendspaces によって、寄与しているアニメーション/ウェイトがすべて表示されます。出力によって使用されるスクリーン スペースを減らすために、ShowDebugToggleSubCategory FullBlendspaceDisplay によってこれを off に切り替えることができます。
    • Montages: 現在キャラクターによって使用されているモンタージュをリスト表示します。アクティブなモンタージュは、緑でハイライト表示されます。
    • Curves: 再生されているアニメーション (複数も) によってアクティベートされたカーブの値を (Name: Value のペアで) リスト表示します。
    • Notifies: 現在有効な Notify のステートを表示します。
    • Graph: アクティブなポーズのグラフを表示します。最初に表示されるのは、最終ポーズを表す最後のノード (ルートのノード) です。引き続いて、最終ポーズを形成しているすべてのノードをリスト表示します。ノードは、階層を保ったまま表示されるため、ユーザーは、元のブループリント アセットを参照しなくても、どのノードがどれに接続されているかが分かります。アクティブなノードは、緑色で表示されます。(ShowDebugToggleSubCategory FullGraph を使って表示するように切り替えられている場合) 非アクティブのノードは、灰色です。

New: レベル ビューポートの統計

多数の役に立つエンジンの統計情報がビューポートにかぶせて表示できます。これらの統計情報に、ビューポートの Show メニュー内の新たな Stat セクションからアクセスできるようになりました。

Level Viewport Stats

  • これらの統計は、切り替えることもできます。その場合は、Stat <name> をデバッグ コンソールのプロンプトに入力します。 
  • デフォルトでは、これらの統計はセッション間で記憶されませんが、エディタの Viewport preferences のセクションで Save Engine Stats を有効にすることによって、記憶されるようにできます。

New: OBJ メッシュ ファイル形式のサポート

静的メッシュのための .obj ファイルをインポートできるようになりました!

このファイル形式は、非常に簡単なものであるため、以下の機能がサポートされていないことを忘れないでください。

  • 頂点カラーのインポート
  • コリジョンのインポート
  • タンジェントおよび従法線のインポート
  • 変換
    • Z を上にしてモデリングされていない場合は、モデルが回転します。これは、OBJ のインポートで、ソースの座標系を得る手段がないためです。

New: FBX を 2014 にアップグレード

FBX インポーターが、Autodesk から 2014 バージョンにアップグレードしました。

  • これによって、タンジェント、従法線、ミラーされたメッシュが正しくインポートされます。
  • 2014 年以前の Maya/Max に入っている前の FBX のプラグインは、まだ使用できますが、かなり古いファイルを使用すると、インポート時に警告が表示される場合があります。

New: Windows XP のサポート (プレビュー)

GitHub を仕事の拠点にしているデベロッパーが、Windows XP にプロジェクトをデプロイできるようになりました。

  • そのためには、UnrealBuildTool で WindowsPlatform.SupportWindowsXP を true にセットし、さらにプロジェクトの設定を変更して、OpenGL シェーダーのサポートを有効にします。
  • Windows XP で実行すると、レンダリングには、DirectX 11 に代わって OpenGL が自動的に使用されるようになります。
  • この機能は、開発の初期段階にあるため、時間とともに改良されていきます。

New: ブループリントによるアクタ破壊表現のサポートを改善

  • ブループリントでは、Destroyed 関数に代わって新たに EndPlay 関数が登場します。Destroyed 関数の既存の使用法は、自動的にこの新たな関数にアップデートされます。
  • EndPlay は、アクタが明示的に破壊された場合に単にアクティベートされるということはなくなりますがアクタがワールドから存在しなくなった場合にはいつでも実行されます。そのようなケースに該当するのは、レベルが遷移する時、ストリーミングしているレベルがアンロードされた時、PIE のセッションが終了した時、アクタのために Destroy が呼び出された時があります。
  • C++ では、AActor::EndPlay 仮想関数が残っています。ただし、これは主にエディタのトランザクションのためのものです。
  • C++ の AActor::EndPlay 仮想関数は、アクタがワールドから除去された理由を示す列挙型のパラメータを取ります。
  • AActor::OnRemoveFromWorld 仮想関数は、これまでは、アクタが属している、ストリーミングされているレベルがアンロードされた場合に、各アクタについて呼び出されていましたが、削除されました。その機能は AActor::EndPlay に含まれました。

改善とバグフィックス

エディタ

  • New: 頂点ペインティングがブループリントで機能するようになりました。
  • New: アクタをアタッチする際に、アタッチするアクタを選択できるアクタのピッカーが使用できるようになりました。
  • New: エディタでジオメトリを描画する際に「Game View」をチェックできる機能が追加されました。
  • New: Alt + [ または ] を使って、変形ギズモのサイズを調整できるようになりました。
  • New: コレクションによって、ローカルのユーザーの設定に基づくカスタムのカラーが保存および表示されるようになりました。
  • New: Flat Bottomed コリジョンのためのオプションがキャラクターのコンポーネントに追加されました。
  • New: マーケットプレイスからダウンロードされたコンテンツを削除するオプションが加わりました。
  • New: コンテンツ ブラウザからドラッグアンドドロップを使って複数のアクタを作成した場合、一回のトランザクションとしてアンドゥできるようになりました。
  • New: プロジェクトのブラウザ リストをリフレッシュできる機能が追加されました。
  • New: New Class Wizard によって追加されたクラスが配置される場所を、選択できるようになりました。
  • New: FSimpleAssetEditor を作成する際、Details ビューで表示したいオブジェクトを取得する関数が可能になりました。
  • Source Code Access 機能をプラグインに移動しました。
    • Source Code Access がメイン スレッド上で実行されるようになりました。
  • 使用すべき LOD を計算する際に、静的メッシュが距離ではなくスクリーンサイズをチェックするように変更しました。
  • アクタの名前変更機能を変更しました。名前を有効化する際に、前後のスペースを無視するようにしました。
  • 静的なライティングを修正して、Instanced Static Mesh Components のために無効化されるようにしました。
  • プロジェクトのテンプレート名と説明を修正しました。当該の言語のための有効な翻訳が見つからない場合は、英語にフォールバックするようにしました。
  • Submit Files Dialog を修正して、エンジンの他の部分と同じスタイルに従うようにしました。
  • Cascade の ToggleRealtime のツールチップを修正して、他のエディタのビューポートに合うようにしました。
  • Particle System Components を修正して、ビジビリティが正しく切り替わるようにしました。
  • シーン アウトライナーのメニューから、ビューポート位置のメニュー項目を削除しました。
  • 頂点ペイントを使用する場合に Ctrl による選択を無効にしました。
  • コンテンツ ブラウザ
    • New: コンテンツ ブラウザのために、エンターキースペースバーのマッピングを変更できるようになりました。
  • マテリアル エディタ
    • New: Release StatsBuild In Stats ツールバー ボタンにアイコンがつきました。
    • New: マテリアル エディタに Find Results タブを追加しました。
    • New: コンポーネント マスクのためのショートカットを Shift+C に追加しました。
  • テクスチャ エディタ
    • Use Specified Mip Level プロパティ (bUseSpecifiedMipLevel) を変更して、デフォルトの値を false にしました。true の場合は、シネマティックのミップの数が、UI によって無視されます。
  • ペルソナ
    • デフォルトと Details のインスペクターを変更することによって、リードオンリーのグラフを編集する場合に、無視されるようにしました。
    • 誤ってセットされたフラグ CPF_DisableEditOnTemplate を修正しました。コードを追加して、フラグをクリアしました。
  • ソース管理
    • New: エディタで、ソース管理のディレクトリを同期できる機能を追加しました。
  • New: OpenSSL 1.0.1g を含んだ P4 API 2014.2 を追加しました。
  • BSP
    • New: BSP アクタのサーフェスのいずれも選択されていない場合に、その BSP アクタの選択が解除されるようになりました。
    • Slate Property Editor Combo エレメント (SPropertyEditorCombo) を修正して、自らを開く前に選択を更新するようにしました。
  • UI
    • フルスクリーンから復帰する機能を修正して、ウィンドウの位置をネイティブのウィンドウ上にセットしました。
  • ビューポート
    • New: ゲーム内の Slate UI が、イマーシブ モードの場合に、エディタのビューポートで表示されるようになりました。
  • シーンアウトライナー
    • New: 現在のレベルにいないアクタを非表示にするフィルタを追加しました。
    • New: シーンアウトライナーのフォルダ内のすべてのアクタを選択できるメニューオプションができました。
    • New: Duplicate が、非表示のアクタにも機能するようになりました。
    • ビジビリティのための目のアイコンを変更することによって、行が選択されている場合に、現在の選択に作用するようにしました。
    • シーンアウトライナーのメニューから、ビューポート位置のメニュー項目を削除しました。
  • ランドスケープ
    • New: インスタンス化された静的メッシュのために、ナビゲーション ジオメトリのエクスポートを実装しました。
    • New: ランドスケープ スプラインを FBX にエクスポートする機能に対応しました。
    • ペイント モード時に flatten ツールから sculpting-only のプションを除去しました。
  • オーディオ
    • New: アンリアル・エンジン 3 の Omni Radius を統合しました。
  • アニメーション
    • New: ネイティブの Anim Notifies とステートがサポートされるようになりました。

iOS、Android、HTML5

  • iOS、Android、HTML5 については多数の改善がなされています。- それらの詳細については、最終のリリースノートに完全に記載されることになります。

ブループリント

  • ブループリント グラフのノードで move のコールが重複する問題を修正しました。

レンダリング

  • New: 静的メッシュの streaming texture factor を計算する際、ビルドのスケールを考慮するようになりました。
  • New: パーティクル パラメータ分布が、GPU スプライトのために Color Over Lifeといっしょに使用できるようになりました。
  • New: Mesh Modifies Material Position が、マテリアル トランスレータの結果を利用するようになりました。
  • New: Particle Lights が、カメラのオフセットと機能するようになりました。(ビュー単位)
  • New: Speedtrees からインポートされた静的メッシュのアセットすべてをリスト表示するコマンドレットを追加しました。

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