UE4プロジェクトの種類

わんちゃん
複雑なので、概要と要約のみ読んでいただければ問題ありません!

概要

LabyrinthのUE4プロジェクトはユーザーによってアクセスできる範囲が異なります。これは、素材データであるアセットのライセンスが下記のように異なるためです。

  • 誰でも共有できるもの
  • チーム内ならば共有できるもの
  • チーム内でも共有できないもの

この文書ではそれらの運用ルールを解説します。

要約

  • プロジェクトに含まれるアセットはLabyrinth以外に持ち出すのは禁止。
  • メンバーではない人はCore版というプロジェクトをダウンロードすることができる。
    >>LabyrinthのUE4プロジェクト公開に関するお知らせ
  • メンバーは本編プロジェクトをダウンロードすることができるが一部アセットは含まれない。
  • そらまめゲームス開発者はすべてのアセットを含んだ本編プロジェクトを管理している。

最低限のルールを理解するだけであればここまでで完了です。以下は興味ある方のみお読みください。

ライセンスの種類

UE4でチーム開発をする場合、アセットのライセンスは以下の3通りに分かれます。

  1. 再配布可能なアセット
    再配布可能もしくは完全自作アセットなどを総称してこのように呼称します。
  2. Labyrinth開発目的でのみチーム共有可能なアセット
    Labyrinthを開発する目的においてのみ、チーム内で共有可能なアセットです。
    主にマーケットプレイスのアセットが含まれます。
  3. チーム共有不可能なアセット
    Labyrinthを開発する目的において、アセット購入者のみ使用可能なアセットです。
    主にUnity Asset Storeのアセットやフォントデータなどが含まれます。

これらを考慮した上で、プロジェクトの構成を解説します。

プロジェクトの構成

全てのアセットを含んだ本編プロジェクト

まずは全てのアセットを含んだ本編プロジェクトの構成を見てみます。

プロジェクトはSubversion(SVN)で管理され、そらまめ開発者アカウントでのみチェックアウトすることが可能です。

Labyrinth
├── Contents
│   ├── Labyrinth ... 解説①
│   │   ├── Blueprints
│   │   ├── Characters
│   │   ├── Maps
│   │   ...
│   ├── LabyrinthMaster ... 解説②
│   │   ├── Blueprints
│   │   ├── Characters
│   │   ├── Maps
│   │   ...
│   ├── LabyrinthDummy ... 解説② 
│   │   ├── Blueprints 
│   │   ├── Characters 
│   │   ├── Maps 
│   │   ... 
│   ├── LabyrinthTest ... 解説③
│   │   ├── Blueprints
│   │   ├── Characters 
│   │   ├── Maps 
│   │   ... 
│   └── Contents直下の他のフォルダ ... 解説④
└── Plugins
      ├──LabyrinthCore ... 解説⑤
      │   ├── Blueprints
      │   ├── Characters
      │   ├── Maps
      │   ...
      └── Plugins直下の他のフォルダ ... 解説⑥

 

主要なフォルダについて解説します。

解説①:Labyrinthフォルダ

ゲーム本編の実装はLabyrinthフォルダ以下で制作します。
このフォルダ以下に配置されるアセットは、Labyrinth開発目的でのみチーム共有可能なアセットです。

解説②:LabyrinthMasterフォルダとLabyrinthDummyフォルダ

ゲーム本編で使用するアセットのうち、チーム共有不可能なアセットはLabyrinthMasterフォルダに配置します。

この中のアセットはチームで共有できないため、チームメンバーはLabyrinthDummyフォルダ以下のダミーデータに差し替えられたものを使用します。

したがってLabyrinthMasterとLabyrinthDummyは対の関係になっています。

解説③:LabyrinthTestフォルダ

ゲーム本編では使用しない、テスト用のアセットはこのフォルダに含まれます。

解説④:Contents直下の他のフォルダ

主にマーケットプレイスで購入した、Labyrinth開発目的でのみチーム共有可能なアセットがインポート時にContents直下に配置されます。

これらのフォルダも持ち出し不可となります。

解説⑤:LabyrinthCoreフォルダ

Labyrinthのシステムのコア部分は、Plugins/LabyrinthCoreというフォルダにて実装します。

LabyrinthCoreはPlugins扱いのため、基本的に有料アセットを使用せず、LabyrinthCore内の実装とMITライセンスの他プラグインによって開発されます。これによってLabyrinthCoreは単体で一般向けに公開できるように設計されています。

解説⑥:Plugins直下の他のフォルダ

LabyrinthCore実装のために必要なMITライセンスのプラグインが含まれます。

マーケットプレイスで購入したアセットの中でも、エディタ拡張系のプラグインはチーム共有することができないため、AllrightRigなどの開発で使用している一部プラグインはサーバーにコミットされていません。

チームメンバーがアクセスする本編プロジェクト

チームメンバーがアクセスする本編プロジェクトは、全部入りのプロジェクトからLabyrinthMasterを除いたものとなります。

メンバーでない人向けのCore版プロジェクト

ノウハウの公開を目的としたCore版プロジェクトは、Labyrinthのコアシステム部分のみで構成されたUE4プロジェクトです。

プロジェクトはGitHubで管理され、一般に公開されています。

キャラクター操作や謎解きの基本操作などの実装を一般公開してノウハウを提供することを目的とします。

このプロジェクトに含まれるフォルダはLabyrinthTestPlugins/LabyrinthCoreのみです。