Unreal Engine では、Perforce と呼ばれるバージョン管理ソフトウェアを使用してプロジェクトで共同作業できる統合的な方法があります。 ソース コントロールを使用すると、チーム内のユーザーはアセットやコードを互いに共有し、バックアップや変更履歴を残すこともできます。こうすることで、ファイルに何か問題が生じた場合に前のバージョンに戻ることができます。
ワークフロー
一般的に、ほとんどは履歴上の理由から、Unreal Editor でのアセットを使用した作業は、Perforce のワークフローに従います。 アセット (拡張子は .uasset と .umap) として知られるファイルは主にエディタで作業するものです。 こうしたファイルはバイナリ ファイルです。そのため、テキストとして開いたり、テキスト ベースのマージ ツールでマージすることはできません。このため、ファイルで作業する場合は、エディタはそのファイルをロックし、(これは Perforce の用語では、チェックアウト (Checking Out) といいます)、他のユーザーが同時に編集できないようにします。ロックしたファイルの編集が終わったら、チェックインすなわちこうしたファイルをコミットし、サーバーに変更をアップロードし、ファイルのロックを解除します。
UE4 で Perforce を使用する
ローカルマシンで Perforce サーバーをセットアップする
UnrealGameSync などのツールとの潜在的な統合の問題を避けるため、大文字と小文字を区別しない Perforce サーバーの使用をお勧めします。
Perforce サーバーを実行するには P4D と P4S の 2 つの方法があります。P4D はコマンドラインのインスタンスが実行中に実行します。そのため、スポットのメンテナンス タスクでのみ使用されます。 P4S は P4D とサービス ベースで同等です。バックグラウンドでサーバーを実行できるからです。このサービスは Perforce サーバー ツールのインストール時に通常インストールされ、開始します。
サービスが自動的に実行しないことがあります。Windows でサービスをオンにするには、最初に Control Panel -> Administrative Tools ->Services applet の順序で進みます。 次に、リストから Perforce サービスを見つけて開始します。
サービスが実行したら、P4Admin を使用してサーバーに接続できます。これがサーバーへの初めての接続である場合、最初の接続ダイアログでユーザーを作成することができます。
Perforce サーバーに接続情報を入力して OK を押します。P4Admin でサーバーに接続したら、新規のデポ、ユーザー、グループを非常に簡単に作成することができます。 P4V とアンリアル エディタを使用して、最初の接続ダイアログで入力した認証情報を使用してサーバーに接続します。
Perforce のチェックイン、チェックアウトに関する詳しい情報は、「P4Admin のドキュメント」をご覧ください。
P4 タイプマップ
デポにファイルを追加する前に、P4 タイプマップ をセットアップし、Perforce がアンリアルのファイル タイプをどのように扱うかを認識させます。 タイプマップを設定すると、Perforce 内でファイルが読み出しのみなのか、書き出し可能なのかの設定に影響を及ぼします。しかし、これを行うには、 新規コマンド プロンプトを開き、いくつかの p4 環境変数をセットアップする必要があります。
p4 set P4USER=your.username
p4 set P4PORT=localhost:1666
上記の値を各自のユーザー名と接続アドレスに置き換えてください。 コマンド プロンプトに以下を入力してタイプマップを開きます。
p4 -P YourPassword typemap
続いてテキスト ウィンドウが開きます。これがサーバーのタイプマップです。以下のタイプマップは過去に使用した例です。
# Perforce File Type Mapping Specifications.
#
# TypeMap: a list of filetype mappings; one per line.
# Each line has two elements:
#
# Filetype:The filetype to use on 'p4 add'.
#
# Path: File pattern which will use this filetype.
#
# See 'p4 help typemap' for more information.
TypeMap:
binary+w //depot/....exe
binary+w //depot/....dll
binary+w //depot/....lib
binary+w //depot/....app
binary+w //depot/....dylib
binary+w //depot/....stub
binary+w //depot/....ipa
binary //depot/....bmp
text //depot/....ini
text //depot/....config
text //depot/....cpp
text //depot/....h
text //depot/....c
text //depot/....cs
text //depot/....m
text //depot/....mm
text //depot/....py
binary+l //depot/....uasset
binary+l //depot/....umap
binary+l //depot/....upk
binary+l //depot/....udk
binary+l //depot/....ubulk
編集したら、キーボード上で Ctrl+S を押して保存し、終了します。コマンド プロンプトに Typemap saved と表示されます。
ローカル ネットワーク上のサーバー
共同使用するためにサーバーをローカルのネットワーク上にセットアップすることができます。 これを行うには、サーバーに関する上記の手順に従い、サーバーの名前またはクライアントからの IP を使用して接続します。
クラウド プロバイダ
Perforce サーバーをオフサイトでホストし、リモートで共同作業するための様々なクラウド プロバイダがあります。 Perforce Hosting でオンラインで簡単に検索するといくつかの結果が得られます。各ホスティング プロバイダは異なりますが、最終的には接続に使用する 認証情報一式が提供されます。Perforce クラウド プロバイダへの接続に関する注記である以下の「アンリアル エディタから接続する」のセクションもご覧ください。
ローカルのワークスペースをセットアップする
Perforce の管理下にあるファイルで作業するには、ワークスペースをセットアップし、ローカル マシンでファイルを管理できるようにします。これは、P4V 経由で [View] ドロップダウンから [Workspaces] タブを開いて行うことができます。
新規ワークスペースを作成するには、ワークスペース ウィンドウで 右クリック して、[New Workspace] オプションを選択します。ワークスペースの名前とローカルマシンでファイルを入れたい場所、 Workspace Root を入力します。
サーバーとワークスペースの用意ができたら、ファイルの追加を開始します。しばらくは、ファイルの追加は P4V を介してエディタ外で行う必要があります。他の誰かがいくつかのファイルをセットアップしたワークスペースが既にある場合、スキップして先に進むことができます。編集 新規プロジェクトを作成したら、C++ コードおよびブループリント エレメントを含むか否かを選択することができます。プロジェクトで C++ コードを使用している場合は、Source/ ディレクトリも表示されます。 最初にプロジェクトの以下のディレクトリだけを追加します。
緑 でハイライトされているフォルダやファイルはデポに追加します。黄色 のバイナリ フォルダはオプションです。チームがどのように共同作業するかに応じて変わります。これはチームの各メンバーがエディタ / ゲームを自分でコンパイルする場合は必須ではありませんが、 チームのメンバーのいずれかがデポからバージョンを取得してコンテンツを作成する場合は 最初の追加 (initial add) に含める必要があります。 上記のサーバーのタイプマップのセットアップは Perforce によって Read-Only に設定されなくともコーダーがそのバイナリをコンパイルできることを意味します。
Perforce にファイルを追加する
Perforce にファイルを追加するには以下の手順に従います。
-
ファイル / フォルダを Perforce に追加するには、最初に P4V でファイル / フォルダを選択し、右クリック し、[Mark For Add] オプションを選択します。
-
これでファイルがデフォルトの変更リストに追加されます。追加したすべてのファイルは Pending change lists タブで見ることができます。
-
何かをサブミットするには最初に変更リスト上で 右クリック します。次に [Submit] を選択します。続いて、変更リストの簡単な説明を入力し、[Submit] ボタンをクリックします。
誰かが既に開始したプロジェクトで作業を開始する場合、 P4V を使用して Perforce から最新の変更ファイルを取得する必要があります。 これを行うには、 P4V のデポビューでプロジェクトを探し、取得したいプロジェクト上で 右クリック して [Get Latest Revision] を選択します。 これで上記の Workspace Root に対して指定した場所にすべてのファイルがダウンロードされます。
Unreal Editor から接続する
エディタから Perforce サーバーに接続することができます。これは ツールバー の [Source Control (ソース コントロール)] アイコンをクリックして行います。
開いたらソース コントロールのログイン ダイアログからプロバイダとして [Perforce] を選択し、ログインの認証情報を入力します。 ワークスペース (現在のプロジェクトが中に入っている) をセットアップ済みであったら 、ログインの認証情報は自動的に入力されます。
多くのクラウド プロバイダを含むサーバーをいくつか使用する場合、エディタからデポにアクセスするためにホストとパスワードを入力する必要があるかもしれません。これは Perforce のログイン ダイアログの下部で [advanced] 欄を開いて行うことができます。