Git ユーザーの移行

コミットが皆さんのスタジオの対立の原因となっていませんか?アーティストとプログラマーの両方にとって完全に最適化されたワークフローにアップグレードすることで、追加設定なしでサイズの大きなファイルを処理できるようになります。アドオンは不要です。

Sycoforge がどのようにしてプロジェクトの途中で Bitbucket から Plastic SCM に移行し、コミットを 300% 増やしたかをご紹介します。 ケーススタディをダウンロード

Git ユーザーが切り替えるべき理由

Git は、オープンソースで柔軟性が高く、無料で使用できることから人気の VCS ですが、現代テクノロジーに精通していないユーザーにとっては難しく感じることもあります。アーティストが問題に直面すると、その解決にプログラマーが必要になります。アーティストが使っているツールには対応せず、ゲーム開発につきもののサイズの大きなバイナリファイルの重さに負けてしまいます。

『Return to Nangrim』キーアート

Sycoforge 制作『Return to Nangrim』

Git ユーザーが Unity のバージョン管理から得られるメリット

Unity Plastic SCM は、ゲーム開発のために構築されています。Git からアップグレードすることで得られるものは、次のとおりです。

Plastic SCM 大量のファイル
サイズの大きなリポジトリやバイナリファイルでも高速に処理する

Plastic は、5 TB を超えるリポジトリにも対応し、他のソリューションと比較してチェックインと更新を 5 倍から 8 倍高速で処理します。

Unity エンジンでのアーティストとのコラボレーション
アーティストとのコラボレーションを改善する

アーディストは、ファイルをロックする機能を備えた使いやすいワークフローである Gluon を介して、Plastic SCM を独立して使用できます。プログラマーは、完全なブランチング機能とマージ機能を備えた標準のワークフローを引き続き使用できます。

Plastic SCM と Gluon の比較
集中型または分散型で作業する

VCS を選択することで、集中型と分散型のどちらで作業するかが決まることがよくあります。Plastic は両方に対応しており、Git スタイルのワークフローのスピードとパワー、Perforce のようなスケーラビリティが得られます。

Unity エディター内のメンテナンス
柔軟性を高めてメンテナンスをシンプルにする

Plastic SCM は追加設定なしで複数のワークフローやサイズの大きなファイルに対応するため、冗長なシステムやアドオンを維持する必要がなくなります。ツールチェインの無駄を省き、高いパフォーマンスを発揮できるよう維持しましょう。

主な機能

Unity の DevOps ソリューションは、プログラマーにとって幅広い機能が備わっていながらも、アーティストにとって合理的に保たれています。何か足りていないものがある場合は、Unity の DevOps ロードマップでご確認ください。

リファクタリングの分析 - Git ユーザー

時間を節約してタスク切り替えを最小限に抑える

Unity のコードアウェアなマージ技術である SemanticMerge を使用すると、移動されたコードを追跡し、関連する変更にのみ集中できるようになります。構文を解析することで、通常であれば手動でのマージが必要になる 16% から 30% のコードのマージを自動化し、ワークフローの邪魔になるマージの競合を大幅に減らします。

Plastic SCM はリファクタリングを解析し、メソッドなどのコードの部分が(複数のファイル間を含めて)移動されているかどうかを評価します。これにより、最も重要な変更にのみ注目してレビューすることができます。C#、Java、VB.NET などに対応します。

Unity と Git バージョン管理

Git クライアントとして使用する

Plastic SCM の GitSync を使用すると、Plastic と Git 間で双方向同期を実行できます。Plastic は Git のネットワークプロトコルと通信し、リモートの Git サーバーに対してパッケージとマージのプッシュ/プル(またはその逆)を行います。これにより、Plastic GUI を Git クライアントとして使用できます。Plastic と Git の構造は多少類似しているところがあるため、その間ですべての変更セット、ブランチ、マージを交換することができます。

詳細を見る
Unity での高速インポート/エクスポート

高速なインポートとエクスポート

Plastic には fast-import コマンドと fast-export コマンドが実装されており、Git 側の対応するコマンドと完全な互換性があります。これらのコマンドは、Git から Plastic にプロジェクトをインポートする以外にも、万が一 Plastic から移行する必要がある場合に、それを安全に行うのにも使用されます。日常業務においては、GitSync を使用するほうが簡単です。

Plastic SCM DevOps ライフサイクル

Git エコシステムを活用する

Git のエコシステム内の任意のツールを、そのツールのネイティブの Git 機能を使用して、Plastic にすぐに接続できます。こうすることで、Plastic を使用しているチームが、Git のために特別に開発されたすべての DevOps、CI、プロジェクト管理の統合のメリットを享受できます。

GitServer は、サーバー側の GitSync に対応するものです。Git プロトコルを使用して Plastic SCM をリポジトリに対応させることで、Git との相互運用性ループを閉じます(Git と HTTP に対応しています)。

詳細を見る

さまざまなゲームでの活用事例

Goodbye Volcano High

作業者自身がオーナーである協同組合型のスタジオがどのようにして制作プロセスにてアーティストとエンジニアの足並みを揃えさせているのでしょうか?KO_OP が Plastic SCM をどのように活用してコラボレーションを強化したかをご覧ください。

Return to Nangrim

Sycoforge が Unity のツールをどのように活用して拡大するプロジェクトのスコープを管理し、ゲーム開発のスピードアップとイテレーションにプレイヤーのフィードバックを生かしているかをご覧ください。

Subnautica

Unknown Worlds が『Subnautica』に命を吹き込むためになぜ Unity と Plastic SCM を選んだのか、その理由をご紹介します。

プロジェクトに Unity のバージョン管理を設定する

すぐにでも使用を始めたい方はこちらの手順をお役立てください。わずか数分でプロジェクトに Unity バージョン管理を設定できます。

よくあるご質問

Unity のバージョン管理を使用して分散型で作業することはできますか?

Plastic も DVCS です。そのため、まずコミット(チェックイン)を行ってから、変更をリモートリポジトリにプッシュするという、同じワークフローを使用します。Plastic では、必要に応じて集中型で作業することもできます。SVN のように、中間クローンなしで直接チェックインを実行することも可能です。

プログラマーにとってのお気に入りは DVCS でしょうが、アーティストやデザイナーにはおそらく集中型が好まれます。

 

機能ブランチを作成し、ブランチを切り替えることはできますか?

はい。Plastic でのあらゆる操作は、GUI から目で見ながら行うことができます。ブランチングやマージに関わるすべての操作は、ブランチエクスプローラーを使用して行います。

リモートリポジトリに対してブランチをプルおよびプッシュすることはできますか?

はい。部分レプリカを作成することもできます。つまり、あるブランチをその親やマージ元なしでプルし、変更を加えてプッシュバックできるということです。

リポジトリのクローンを作成する必要はありますか?

Plastic で複製されたリポジトリで作業を開始するのに、完全なリポジトリの「クローンを作成する」必要はありません。部分レプリカと呼ばれるものを実行し、そのリポジトリで作業を行い、新しい変更を加え、戻すだけです。このほうがはるかに高速です。

これは、深度が制限されているものの、プッシュバック可能なシャロークローンに相当します。

マージ処理は Git と比較してどのような感じですか?

Plastic のマージ機能のほうがより優れています。Plastic のマージエンジンは、Git では対応できないような移動や名前の変更も処理できます。Plastic には独自の差分ツールやマージツールも揃っています。

Unity のバージョン管理はサイズの大きなファイルをどのように処理できますか?

Plastic は膨大なサイズのファイルも処理できます。RAM に収まるサイズが上限ではありません。Plastic は膨大なサイズのリポジトリにも対応します。

Unity のバージョン管理に「リモート」はありますか?

「リモート」は Plastic には存在しません。必要なブランチを必要なリポジトリに対してプッシュおよびプルするだけです。最初にリモートを定義する必要はありません。

Unity のバージョン管理にサブモジュールはありますか?

Plastic SCM のサブモジュールは Xlink と呼ばれます。これは、サブモジュールの大幅に強化かつ簡略化されたバージョンです。Xlink を作成するのは簡単で、GUI に完全に対応しており、サブモジュールには更新という手間のかかるプロセスがありますが、Xlink にはありません。参照を手動で管理できます。Xlink が設定されたディレクトリの下のブランチは自動的に作成されるため、複数のリポジトリが存在するシナリオでの機能ブランチの作成が非常に簡単になります。

Plastic SCM は Git よりも優れていますか?

Git ベースのバージョン管理には、幅広い機能が備わっており、コミュニティのサポートを受けられる一方で、Plastic SCM はさまざまなワークフローに柔軟に対応し、追加設定なしでサイズの大きなファイルを処理できます。ある組織で機能するものが別の組織でも機能するとは限りません。自分の組織にとって何がベストかを評価するヒントについては、こちらのブログで確認してください。

Plastic SCM は Git ベースですか?

Plastic SCM は Git ではありませんが、Git ベースのシステムのように分散型バージョン管理(DVCS)を可能にします。Plastic SCM には Git のすべての強みに加え、サイズの大きなファイルのサポート、一貫性のある GUI、ACL ベースのパーミッション、膨大なサイズのリポジトリの処理、強力なマージ機能、部分レプリカ、セマンティック差分などが備わっています。

弊社のウェブサイトは最善のユーザー体験をお届けするためにクッキーを使用しています。詳細については、クッキーポリシーのページをご覧ください。

OK