電通総研 テックブログ

電通総研が運営する技術ブログ

【UEFN】はじめてのUEFN 基礎編

みなさんこんにちは! 電通総研 金融ソリューション事業部の松崎です。
今回から、Unreal Editor for Fortnite(以下UEFN)の初学者向け紹介記事を執筆していきます。

本記事では

  • UEFNってそもそも何なのか
  • Fortniteのクリエイティブモードと何が違うのか
  • Unreal Engineとはどう違うのか
  • 具体的にどうやって導入・操作するのか

といった部分を紹介します。

これからUEFNの導入を考えている方は、是非最後までチェックしてください。

目次

  1. UEFN概要
  2. UEFN vs Fortnite(クリエイティブモード)
  3. UEFN導入方法
  4. 基礎概念と操作方法

1 UEFN概要

1.1 UEFNとは

UEFN(Unreal Editor for Fortnite)とは、その名の通り「Unreal Engineの機能を使用して、Fortnite上で動くゲームが作成できるツール」です。

この説明を見ると、

  • Fortnite上で動くゲームを作るってどういうこと?
  • Unreal Engineの機能を使用する とは?

という疑問が出てくると思いますので、これらを説明していきます。

FortniteはEpic Gamesによって開発されたゲームです。
プレイ可能なプラットフォームは、スマホ, PC, PlayStation, Nintendo Switch, Xboxと多岐に渡ります。
一般的にはバトルロワイヤルゲームとして有名ですが、他にも「クリエイティブモード」という、プレイヤーが独自にゲーム(マップ)を制作して公開できるモードがあります。
このクリエイティブモードでは、既に8万を超えるゲームが制作されています。(2024年現在)

また、Epic Gamesはクリエイティブモードでのゲーム制作者に対するエンゲージメント配当プログラム(作成したゲームが多く遊ばれると配当金を貰える仕組み)を実施しており、1年目にして総額3億2千万ドル以上配当されております。
Fortniteのユーザー数は5億人を越えており、Fortniteクリエイティブモードは「ユーザー数5億人のゲーム制作プラットフォーム」となっています。
※配当プログラムの詳細はこちらをご参照ください

クリエイティブモードでのゲーム制作はFortnite上で行うことが可能ですが、外部アセットの利用や細かいロジック設定ができないなど、様々な制限があります。
そこで登場した拡張ツールがUEFNです。UEFNは、本格的なゲームエンジンであるUnreal Engine(以下UE)の機能をクリエイティブモードのゲーム制作に使用できるようにしたツールです。
これにより、クリエイティブモード向けのリッチなゲーム制作が可能となりました。(具体的な拡張要素は2章で記載します)

なお、UEの開発もFortniteと同様にEpic Gamesが行っております。最新版であるUE5では以下の特徴的な機能があり、これらを使用できるのもUEFNの強みとなります。

  • Lumen(リアルな光照射効果を提供するソリューション)
  • Nanite(非常に詳細な視覚効果を実現する仮想幾何学技術)

UEの一部機能に関しては以前の記事にて説明しておりますので、興味のある方はご参照ください。

1.2 UEFN最新情報(2024年4月現在)

2024年3月20日開催の「State of Unreal」の基調講演において、Epic Gamesから新機能紹介が行われました。その中から、UEFNに関する2つを紹介します。

① Metahuman to UEFN

MetahumanをUEFNにインポートし、Fortniteのあらゆるキャラクターへ適用できるようになりました。Metahumanとは、人間の顔を忠実度高く再現したデジタルヒューマンを作成できるソリューションです。
Metahumanの詳細や作成方法は以前の記事にて紹介しておりますので、興味のある方はご参照ください。

Metahuman CreatorやMetahuman Animatorを活用し、自分の顔にそっくりなキャラクター(NPC)を作成することもできます。(作成方法の紹介記事

② 外部ライセンスIP利用(レゴブランド)

レゴブランドのテンプレート、小道具、消耗品、アイテムなどを使用できるようになりました。また、ミニフィギュアやレゴスタイルのコスチュームをFortniteのプレイヤーへ適用できるようになりました。

今後はレゴブランド以外にも「Rocket Racing」や「Fall Guys」のテンプレート・アセットが使えるようになり、Epic GamesはさまざまなライセンスIPがFortnite上で使用できる世界を目指している、とのことです。

今後も様々なライセンスIPアセットが利用できるようになりそうで、続報が楽しみですね。

1.3 UEFNの企業活用事例

企業におけるUEFN(Fortniteクリエイティブモード)活用事例を紹介します。

NIKE 「Airphoria」

Airphoriaは、NIKEEpic Gamesイノベーションラボのサポートのもと、フォートナイトスタジオBeyondと共同制作したマップです。Airphoriaでは、Air Maxをモチーフにした雲上都市でのスニーカーハントゲームが提供されていました。

ゲームを一定以上クリアするとFortnite上のバックアクセサリーが貰えたり、Airphoriaにインスピレーションを受けたコレクションがNIKE.com(北米地域)で発売されるなど、UEFNを活用したマーケティングの試みが展開されました。
※日本では2023/6/28までの限定公開

ソニー 「SHIBUYA MULTIVERSE」

株式会社ソニー・ピクチャーズ・エンタテインメント配給の映画『スパイダーマン:アクロス・ザ・スパイダーバース』の公開を記念し、ソニーSony Esports Projectとして制作したマップです。
UEFNを活用して渋谷の街並みが再現されています。

またその後、SHIBUYA MULTIVERSEの上空でバトルが可能な「Sky Battle in Shibuya Multiverse」マップも公開されました。
最初に公開されたSHIBUYAマップを軸に、追加で様々なマップ(ゲーム)を展開する試みを行っています。

※2024/7/30までの公開 (マップコードはこちらをご参照ください)

2 UEFN vs Fortnite(クリエイティブモード)

本章では、UEFNの登場によって拡張された要素を紹介します。
UEFNによって拡張された機能は、大きくまとめると以下になります。

  • 外部アセット利用(3Dモデル・アニメーション・テクスチャのインポート等)
  • UE機能(ランドスケープ構築、レベルシーケンス等)
  • Verse(プログラミング言語
  • チームでの共同開発(Unreal Revision Control)

上記に関して、次節以降で具体的に説明します。

2.1 外部アセット利用

FortniteクリエイティブモードではEpic Games側が用意したアセットのみに利用が制限されていましたが、UEFNでは自分のアセットをインポートして利用できます。
ここでは、外部サイトで購入した3DモデルやBlederなどで自作したものを使うこともできます。

3DモデルはFBX,OBJ,glTF,GLB形式に対応しています。また、テクスチャ(PNG,JPEG,TIFF形式など)やオーディオ(WAV,AIF,FALC,OGG形式)のインポートにも対応しており、アセットの自由度が格段に高くなりました。


(画像:Fortniteクリエイティブモードで用意されているアセット一覧)


(画像:UEFNで自作アセットをインポートした画面)

外部アセットのインポート方法や、UEからUEFN用にモデルをアウトプットする方法は4章にて紹介します。

2.2 UE機能

UEFNでは、UEの主要な機能をクリエイティブモード向けに利用できます。
UEFNで使用可能なUE機能は様々にありますが、ここでは目玉となる機能を紹介します。

ランドスケープモード

ランドスケープモードでは、マップの土台となる島の地形を操作できます。
地形の特定部分を盛り上がらせて山のようにしたり、逆にへこませて谷のようにすることも可能です。
また、土や水の動きによる地面の浸食を再現させることもできます。


(画像:UEFNのランドスケープモード画面)

ランドスケープモードに関しては以前の記事にて紹介しておりますので、こちらもご参照ください。

その他、フォリッジモードで木などを簡単に敷き詰めることも可能です。


②ポストプロセスボリューム

ポストプロセスボリュームを使用することで、特定の領域内にポストプロセスを適用できます。

プレイヤーが特定の領域に入った際に色調や明るさを変えさせるなど、ゲームプレイにおける映像表現の幅が広がりました。


(画像:配置したポストプロセスボリューム)


(画像:ポストプロセスボリューム内でのホワイトバランス変化)


③レベルシーケンス

UEFNでは、レベルシーケンスを使用してゲーム内のシネマティクス(リアルタイムでレンダリングされる動画)を作成できます。UEと同様、レベルシーケンサー上にオブジェクト・キャラクター・カメラを追加し、キーフレームを打っていくことでシネマティクスを作成します。

2.3 Verse

VerseはEpic Gamesが開発したプログラミング言語です。Verseを使用してプログラミングを行うことで、クリエイティブモードで使う各種ロジックをカスタマイズできるようになりました。
UEでゲーム制作を行う際はBPでプログラミングを行いますが、UEFNではBPは使用できません。また、逆にUEでVerseを使用することも不可となります

Verseによる基本的な開発方法に関しては4章にて紹介します。

2.4 チームでの共同開発

UEFNでは、ユーザー同士でチームを組んでマップを共同編集するための「Unreal Revision Control」機能が備わっています。
Unreal Revision Controlによって制作中のマップはバージョン管理がされており、「どの変更が」「いつ」「誰」によって行われたのかを常に確認できます。また、ファイル編集時にはチェックアウト(ロック)が掛かるため、編集の競合やデグレードが防止されています。
UEFNでは上記機能がデフォルトで備わっており、チームでの共同開発が行いやすい環境となります。
※2024年4月現在Unreal Revision ControlはUEFN専用の機能となり、UEでは使用不可です

チーム設定やUnreal Revision Controlの設定方法に関しては4章にて紹介します。

3 UEFN導入方法

本章では、UEFNの具体的な導入方法を紹介します。

3.1 動作環境

UEFN導入に際し、動作環境に求められるスペックを紹介します。

Epic Gamesアプリサイトを参照に、UEFNの必須スペックと推奨スペックは以下になります。
※OSはWindowsのみ対応

  • 必須スペック

    • OS : Windows 10(64ビット) バージョン1703
    • CPU : Core i3-3225 3.3GHz
    • メモリ : 8GB RAM
    • GPU : Intel HD4000, AMD RadeonVega8
  • 推奨スペック

    • OS : Windows10/11(64ビット)
    • CPU : Core i5-7300U 3.5 GHz、AMD Ryzen 3 3300Uまたは同等のプロセッサ
    • メモリ : 16GB RAM以上
    • GPU : NVIDIA GTX960, AMD R9280, または同等のDX11対応GPU
    • VRAM : 8GB VRAM以上
    • 追加要件 : NVMe SSD

なお、Fortniteの動作環境に求められるスペックも上記と同様になります。

3.2 インストール手順

UEFNのインストール手順を紹介します。UEFNで作成したマップをテストプレイする際にFortniteが必要になるため、Fortniteのインストール手順も合わせて紹介します。

最初に、Epic Gamesが提供しているEpic Games Launcherをインストールします。
Epic Games Launcherはこちらのサイトからインストーラをダウンロードし、起動してインストールします。

インストールが完了したら、Epic Game Launcherを開きEpic Gamesアカウントでサインインします。
Epic Gamesアカウントを所持していない場合は、新規サインアップを行います。

サインインが完了するとEpic Games Launcherのメイン画面が開きます。
ストア上部の検索欄から「Fortnite」を検索します。

Fortniteのストアページへ移動し、画面右の「入手」から注文を行います。(無料です)
※下記画像では既に注文済みのため、「ライブラリに所有」と記載されております。

同様にUEFNも注文します。

ライブラリに移動し、Fortniteをクリックしてインストールします。
Fortniteのインストールが完了しましたら、同様にUEFNもクリックしてインストールします。
※下記画像はインストール後の状態です。

両方のインストールが完了した後は、ライブラリのFortnite・UEFNからそれぞれのアプリケーションを起動できます。以上にてUEFN・Fotniteの導入は完了です。

4 基本概念と操作方法

この章では、UEFNでマップ制作を行うにあたって基本となる概念と、関連する操作手順を紹介します。

4.1 プロジェクト

プロジェクトとは、アセットの集まりとそのアセットの共有やテストに必要なデータが含まれた1つのまとまりを指します。プロジェクトには複数のマップ(レベル)を含めることも可能です。

UEFNでマップ制作を行う際は、まず初めにプロジェクトの作成を行います。
また、プロジェクトをチームで共同編集したい場合は事前にチームを作成しておき、プロジェクト作成時にUnreal Rivision Controlを設定する必要があります。

チーム作成方法とプロジェクトの作成方法を紹介します。

①チーム作成方法

フォートナイトクリエイターポータルへアクセスします。

Epic Gamesアカウントでログインします。

画面左上の「選択中のチーム」をクリックすると、UEFNのチーム選択画面が表示されます。

「新規チームを作成する」をクリックし、チーム作成画面を表示します。

チーム名や追加するチームメンバーを記載します。既に作成済みのプロジェクトをチームに移管する場合は、ここで移管対象のプロジェクトを選択しましょう。
記載できましたら、「チームを作成」をクリックし、作成完了です。
なお、チーム名称やチームメンバー・役割などは後から変更可能です。

②プロジェクト作成方法

Epic Games Launcherの「ライブラリ」を開きます。

UEFNを起動すると、UEFNプロジェクトブラウザが表示されます。

「ISLAND TEMPLATES」などからテンプレートとする島を選び、「プロジェクトの場所」「プロジェクト名」を記載します。
この際、画面右の「Unreal Revision Control」にチェックを入れ、チームで開発する際は対象とするチームを選択します。

「create」をクリックするとプロジェクトが作成され、UEFNエディタが表示されます。

4.2 エディタ

UEFNにおけるゲーム制作は、UEと同様にエディタ画面上で行います。
以下に、Epic Gamesが公開しているUEFNとUEの比較ドキュメントから抜粋したエディタ画面比較を示します。

上記の見ての通り、エディタ画面上の各ツールはUEFNとUEで基本的には同じです。
分かりやすい違いとして、UEFNではアウトライナの部分に追加で「ISLAND SETTINGS(島設定)」が記載されていますが、こちらに関しては4.4で紹介します。

UEFNとUEにおける各ツール内の詳細な機能差は、Epic Games公式ドキュメントをご参照ください。

4.3 アセット

アセットとは、ゲームを制作する際に用いる各種構成要素を指します。例えば、「スタティックメッシュ」「マテリアル」「テクスチャ」「サウンドキュー」などが含まれます。
UEFNにおける各種アセットはコンテンツブラウザに格納されています。

UEFNでプロジェクトを作成した際、コンテンツブラウザにはデフォルトで「Fortnite」「Epic」フォルダが作成されています。これらのフォルダには、Epic Gamesが用意したアセット(Forniteクリエイティブモードでの既存アセットを含む)などが格納されており、自由に使うことが可能です。


ここからは、各種外部アセットのインポート方法と、公式マーケットプレイス(FAB)からの購入方法を紹介します。

①外部アセットのインポート方法

コンテンツブラウザ上に、インポートしたアセットを格納するフォルダを新規作成します。

コンテンツブラウザの「インポート」をクリックします。

インポートするアセットを選択し、「開く」をクリックします。

インポートオプションを設定します。
FBX形式の3Dモデルをインポートする際は、以下のように設定しましょう。

  • メッシュ > 欠落しているコリジョンを生成:on
  • メッシュ > 詳細設定 > メッシュを結合:on
  • メッシュ > 詳細設定 > メッシュLODをインポート:on
  • マテリアル > Search Location (検索場所): Local (ローカル)
  • マテリアル > Material Import Method (マテリアルのインポート方法): Create New Materials (新規マテリアルを作成)

「全てをインポート」をクリックし、インポートします。

UEと同様、インポートしたアセットはドラッグ&ドロップでビューポート上に設置可能です。

②UEからUEFNへのアセット移行方法

UEで利用しているアセットをUEFNに移行したい場合は、UEの機能を用いて簡単に行うことができます。
UEのプロジェクトを開き、移行したいアセットのフォルダを右クリックして「移行」を選択します。

送り先となるUEFNプロジェクトフォルダ内の「Content」フォルダを選択します。

UEFNプロジェクトにアセットが移行されました。

③FABマーケットプレイスからの購入方法

FABマーケットプレイス(以下、FAB)では、UEFNプロジェクトで使用できるカスタム仕様のアセットが販売されています。(無料アセット存在)
FABを開くには、ツールバーの「Fab」をクリックします。

別ウィンドウでFABが開きます。

購入したいアセットを選択したら、「コンテンツブラウザに追加」をクリックします。
なお、今回は参照アセットとして追加します。追加したアセットの中身を編集したい場合は、変更可能なアセットとして追加しましょう。

参照アセットとして追加したため、コンテンツブラウザ内の「Referenced Content」に追加されました。
ドラッグ&ドロップでビューポート上に設置します。

4.4 デバイス(仕掛け)

UEFNのコンテンツブラウザ(「Fortnite > Devices」フォルダ配下)には、デバイス(仕掛け)と呼ばれる特殊なアセットが格納されています。
バイスとは、ゲームの仕組みを構築をするために使用される一定のロジックを持ったアセットです。
バイスを配置することで、ゲームプレイを行うプレイヤーとのインタラクション要素を定義できます。

  • バイスの具体例
    • タイマーの仕掛け:カウントダウン(時間が0になったときに別イベントを起動)や、ストップウォッチとして表示
    • アイテムスポーンの仕掛け:特定のアイテムをスポーンさせたり、一定時間毎にランダムにアイテムをスポーンさせる
    • エンドゲームの仕掛け:現在のラウンドやゲーム全体を終了させ、勝利/敗北の判定やスコアボードを表示させる

2024年4月現在、デバイスは約200種類ほど用意されています。各種デバイスの詳細に関してはEpic Gamesの公式ドキュメントをご参照ください。

以下では、デバイスの中で重要となる「島設定(Island Setting)」の設定方法と、その他の通常デバイスの設置方法を紹介します。

①島設定デバイスの設定方法

バイスの種類は数多くありますが、その中で必ず使用されるものは「島設定(Island Setting)」です。
島設定デバイスでは、「ゲームルール」「ゲーム設定」「UI設定」「デバッグ設定」を調整できます。そのため、UEFNゲーム制作における「ゲームとしての基盤要素」はすべて島設定デバイスで行うことになります。

島設定デバイスは、UEFNプロジェクト作成時にビューポート内にデフォルトで生成されます。(アウトライナから確認可能)

アウトライナから島設定デバイスインスタンスを選択し、詳細画面から各種設定を変更できます。
島設定デバイスの設定項目詳細に関しては、Epic Gamesの公式ドキュメントをご参照ください。

②通常デバイスの設置方法

通常デバイスは、「Fortnite > Devices」内のデバイスをビューポート上にドラッグ&ドロップすることで設置(インスタンスを作成)できます。

ゲーム制作にあたっては、自分の作りたいゲーム内容に合わせて各種デバイスの設置・設定を行いましょう。

4.5 Verse

2章にて軽く紹介した通り、UEFN内ではVerseを使用してプログラミングを行います。
2024年4月現在、Verseプログラミングでは「デバイス(仕掛け)ロジック」「NPCロジック」をカスタマイズすることが可能です。
本記事では、Verseによるプログラミング開発の基本的な進め方を紹介します。

Verse言語の詳細に関しては今後別記事にて紹介予定となるため、興味のある方は是非そちらもご参照ください。

メニューバーから「Verse > Verse Explorer」をクリックし、Verse Explorerを表示させる。

Verse Explorerの最上段にあるプロジェクト名を右クリックし、「Add new Verse file to project」をクリック。

カスタマイズしたいロジックのテンプレートを選択し、Verseファイルを作成する。
今回は画面上に「Hello World」を表示するVerseファイルを作成していくため、デバイス用のテンプレートを使います。

Verseファイルが作成されたら、ファイル名を右クリックして「Open in Visual Studio Code」をクリック。
VS Codeをインストールしていない方は、事前にこちらからインストールが必要です。なおUEFNからVS Codeを起動すると、VS Codeに自動で「Verse」Extensionがインストールされます。

VS CodeにてVerseファイルが開かれました。
画像で表示されているテンプレートファイルでは、以下の処理が記述されています。

  • hello_world_device というデバイス名で新規デバイスを定義
  • ゲーム開始時に動くロジックを定義(OnBegin関数)
  • 画面に「Hello, world!」「2 + 2 = 4」を表示 
    ※Verseにおける標準出力(Print関数)は、ゲーム画面左上に表示されます。

テンプレートから少しだけ編集します。
計算式の部分を、「3 x 5 = 15」となるように編集しました。

VerseファイルをVS Code上で保存し、UEFNエディタに戻ります。
メニューバーから「Verse > Verseコードをビルド」をクリックし、ビルド(コンパイル)します。

ビルドに成功したら、コンテンツブラウザ上のVerseクラスをビューポート内にドラッグ&ドロップします。
バイスロジックテンプレートで作成したVerseクラスは「(プロジェクト名)コンテンツ > Creative Devices」に格納されています。

Verseクラスのインスタンスが作成され、ゲーム内に配置されました。
バイスのオブジェクト自体はゲームに不要なため、今回は「ゲーム中に表示」をオフにします。

FortniteでのテストプレイでVerseファイルの動作を確認します。
ツールバーの「セッションを開始」をクリックします。

しばらく待つとセッションが開始され、同時にFortniteがクリエイティブモードの状態で起動します。
Fortniteの画面でEscを押下し、「ゲームをスタート」をクリックします。

ゲーム開始と同時に、画面左上にVerseで出力した文字を確認できました。

また、Mキーを押下して「ログ」をクリックすると、ログ上からも文字の出力を確認できます。

以上が、Verseによるプログラミング開発の基本的な進め方です。
既存デバイス間の連動やNPCロジックの変更方法は別記事にて紹介予定となりますので、是非そちらもご参照ください。

おわりに

本記事では、UEFNの基礎となる部分を広く紹介しました。
いままでFortniteクリエイティブモードだけでマップ制作をしていた方や、UEでゲーム制作をしていた方たちが、UEFNに踏み出す一助となれれば幸いです。
UEFNは特にVerse部分の奥が深いので、今後はそちらに焦点を当てて記事を執筆する予定です。

UEFNには、リーチできる広いユーザー規模やクリエイターに対しての収益還元など、他のプラットフォームにはない魅力があると思います。今後、世界中で愛されている日本のアニメやゲーム、音楽などの様々なコンテンツ・IPにおけるUEFN参入支援を展開していければと考えております。

現在、電通総研はweb3領域のグループ横断組織を立ち上げ、Web3およびメタバース領域のR&Dを行っております(カテゴリー「3DCG」の記事はこちら)。 もし本領域にご興味のある方や、一緒にチャレンジしていきたい方は、ぜひお気軽にご連絡ください!
私たちと同じチームで働いてくれる仲間を、是非お待ちしております!
電通総研の採用ページ

参考文献

Fortniteクリエイティブモード エンゲージメント配当
Unreal Engine5 を使ってワールドの地形を作成してみました
フォトグラメトリ×Mesh to Metahumanで人物そっくりな3Dキャラクターを作成してみた(前編)
GDC2024のState of Unrealの重要ニュース
フォートナイト クリエイティブおよび UEFN で独自のレゴ® の島を制作しましょう
UEFN を使用して構築された Nike のバーチャル スニーカー ハント Airphoria の全貌を探る
「フォートナイト」×「NIKE」がコラボレーション!UEFNを活用した“Airphoria”がフォートナイト内に登場!
SHIBUYA MULTIVERSE
Sky Battle in Shibuya Multiverse
Epic Games Store UEFN
Epic Games公式ドキュメント UEFN と UE の比較
Epic Games公式ドキュメント Unreal Editor for Fortnite で共同作業を行う
Epic Games公式ドキュメント アセットをインポートする
UEのマーケットプレイスでダウンロードしたアセットをUEFNのプロジェクトにインポートするにはどうしたらよいでしょうか?
Epic Games公式ドキュメント 仕掛けの使用
Epic Games公式ドキュメント 島設定
写真フィルターのようにシーンの雰囲気を大きく変えるUE5「ポストプロセス」入門
Epic Games公式ドキュメント Verse を使用して独自の仕掛けを作成する

執筆:@matsuzaki.shota、レビュー:@nakamura.toshihiro
Shodoで執筆されました