アーティスト向けバージョン管理ツール
制作作業においてバージョン管理ツールを導入したくなったので、色々調べたことを記載。
かなり浅い知識で書くのでお恥ずかしい限りではあるが、参考になる方がいれば嬉しい。
なお、PerforceやSubversionについては周知の内容であると考え、前提要件と合致しないため記載しない。
目的
Gitに慣れたのでワークフローに取り入れたいという点と、
データのバックアップと他人への共有を容易にしたい。
なお、3DCG中心の超小規模制作なので、以下の要素を重視することにする。
- 価格
- 管理できるデータ容量
- CGアセットの管理のしやすさ
GitHub
言わずと知れたGodツールだが、大容量のファイルを大量に扱うためにはGitLFSの運用が必要。
課金すれば神。
メリット
- あまりにも使いやすい
- 他の用途と連携しやすい(WikiやPagesなど)
- 無料で利用できる範囲がかなり広い
- 他人との共同作業がしやすい
デメリット
- ファイルに容量制限がある(100MB以上の利用にはGitHub LFSが必要)
- GitLFSに課金が必要(50GB/$5)
- アーティスト向け機能は特に存在しない
類似サービス
- GitLab
- BitBucket
- GitBucket
- Gitea
Diversion
これを書いている時点で一番魅力的に見える。
ゲーム開発を想定しているサービスとのこと。
セキュリティ等の面では不透明な部分がありそうなので大規模開発には要検討かと思われる。
メリット
- 大容量ファイルの管理がしやすい
- クラウドベース
- 100GBまで無料で利用できる(すごい)
- 10シートもある
- GitHubと連携ができる
デメリット
- マイナーっぽいのでいつまで更新やサポートがあるか分からない
Unity Version Control
unity.com/ja/solutions/version-control
旧称Plastic SCM。
Unity専用かと思っていたが、どうやら他のエンジンやソフトでも使えるみたい。
無料枠は3シートで5GBまでと、GitHubに近い仕様。
メリット
- Unityと親和性が高い
- アーティストにもエンジニアにも寄り添った仕様
- 大きなファイルも扱える
デメリット
- 無料枠が少ないので、早い段階で課金が必要になりそう
- Unityでの開発を行わない場合、恩恵が少ない
Snowtrack
以前試用したことがあるツール。
SnowFSというOSSのバージョン管理システムを同じ会社が開発していて、
それを基盤にしたGUIツールといったところ。
かなりアーティストに寄り添ったツールで非常に好印象ではあるが、
1~2年更新が途絶えているようで、今のタイミングで採用すべきではないように感じた。
メリット
- アーティストが使いやすい
- 大きなファイルも扱える
- BlenderやCinema4Dなどのアドオンがある(開発中?)
デメリット
- 開発が止まっている可能性がある
- 現状セルフホスティングのみのため、チームでの制作には不向き
類似サービス
- Kactus(Sketch用)
- Simul(文書用)
NVIDIA Omniverse
(筆者の観測範囲では)何故か浸透しないポテンシャル最強のツール。
バージョン管理の仕組みがあるのを、調べて初めて知った。
ワークフローを確立してしまえば最高のツールになると思っているが、
そもそもの環境構築のハードルが高い印象。
ターゲットとして(超)大規模な開発を想定しているように思えるので、
個人開発や小規模スタジオには不向きな印象を受ける。
メリット
- アーティストのワークフローを強化する機能が盛り沢山
- 小規模利用は無料
- 共同作業に特化している
デメリット
- 環境構築のハードルが高い
- クラウドでの利用は今のところ大規模開発向け
- Omniverse中心のワークフロー(ひいてはUSDワークフロー)に矯正する必要がある
- バージョン管理等の機能がアーティスト向けではない
以前から推しているサービスをひとつ忘れていたので追記
Anchorpoint
Gitでゲーム開発プロジェクトのバージョン管理を行うツールだが、
他のツールと違うのは、独自のクラウドサーバーを持たないこと。
GitHub、GitLab、BitBucket、Azure DevOpsなどのGitサーバーに接続して使う。
GitLFSの設定を上手いことやってくれるみたいですが、保存容量は接続先のサーバーに依存する形。
(Gitの機能を使わずにローカルの高機能ファイルブラウザとしても使えますが、どうせならGitも使いたいところ)
GitLFSに課金してしまえば楽な話だが、どうやらGoogle Driveなどの外部クラウドをLFSサーバーとして運用する方法もあるらしい。
容量が少ないうちはGitLFSをサブスクして、手に負えなくなってきたら外部に逃がすのが最善手かも。
GitHubのデメリットとして挙げた「アーティスト向けの機能がない」というのも、Anchorpointの利用で埋めることができる。
メリット
- アーティスト向けとして洗練されている
- GitHubなら無料で使える
- Unity、Unreal、Blenderなどとの連携ができる
- LFSのなんやかんやを上手いことやってくれる
デメリット
- GitHub以外のGitサーバーに接続するために課金が必要
- Gitサーバーの利用・運用が別途必要
Diversionを軽ーく触った感触
セットアップは本当に簡単にできた。
使用感はGitHub Desktopに近い感じ。
ただ、GitHubクローン系のような便利な機能は殆どない。
100GBの無料ストレージは魅力だが、(環境が悪いかもだが)リポジトリが占有している容量が常に「0B」と表示され、容量の把握ができなかった。
この辺りは、ゲームエンジンとの連携で真価を発揮するのかもしれない。
筆者は今のところゲームプロジェクトは扱わないので、
無用の長物といった印象になってしまった。
今のところの結論
- GitHubでプロジェクトフォルダ管理できたら便利なのでは? → GitHubは容量的に3DCG向きではないらしい
- AnchorpointってやつGit使えて便利らしい → 結局GitHubだしメイン運用考えると課金が要る
- DiversionってやつがGitベースで100GB使えるらしい → 使いづらい
- 他にも色々バージョン管理ツールあるよな? → どれも小規模開発に不向きか機能が足りない
- 自前のGitサーバーをGitBuketとかで建ててAnchorpointで管理すればいいのでは? → サーバーを建てるのがあまりにも難解で挫折
- Google DriveをGitLFSのストレージとして使える!? → Google Oneの契約してないので結局金がいる
- ならGitLFSに課金すればよくね? ←イマココ
ということで、必要分だけGitLFSに課金しつつAnchorpointのProプランを契約して管理していくことに決めた。
容量があまりにも肥大化してきたら、Googleで1TBとか契約して逃がそうかと思う。