🔖

【初心者向け】VRChatアバターを無料でオンライン上にバックアップしよう!【Git】

2024/02/10に公開

0. はじめに

みなさん、アバターのバックアップ、していますか?

突然PCが壊れても、新しいPCで改変を続きから出来ますか?
突然アバターのプロジェクトがビルド出来なくなった時、すぐに正常だった時に戻せますか?

作業ごとにバックアップできて、しかも今の作業を無かったことにして前回まで巻き戻せるツールがあるとしたら…

この記事では、とても便利だけど知名度が低い[1]ツール、「Git」の使い方を説明します。

これから作るアバターも、たくさん改変して思い入れのあるアバターも、消えてしまわないよう今からでもバックアップしましょう!


https://giphy.com/gifs/3d-create-vrchat-PmV9Xtp8hhQPkjLhre

1. Gitって何?

Gitとは、

  • 好きなタイミングで
  • 作業ごとに作業内容をまとめて記録できて
  • 直近の作業を無かったことにできて
  • クラウド上に同期することもできる

ツールです。
これをアバタープロジェクトに使うことで、バックアップしていきましょう。

2. 導入手順

2.0 下準備

作業中のUnityプロジェクトは閉じましょう。
また、この時点でプロジェクトフォルダの名前を一時的に変更します。
名前は何でもOKです。

この時、元のフォルダ名をメモしておきましょう。

ここでのポイントは、
Unityのプロジェクトフォルダ名は仮で、本当に使いたい名前を取っておく、というところです。

2.1 GitHubのアカウント作成

Gitというツールは手元のPC上だけで使えますが、それをクラウド上に同期させることが出来ます。そのクラウドサービスの1つが「GitHub」です。

このサービスを使ってクラウド上に同期するために、GitHubのアカウントを作成します。
無料です。支払情報の入力なども求められません。

https://github.com/signup

2.2 GitHub上でリポジトリの作成

Gitにおけるプロジェクトのことをリポジトリと呼びます。
GitHub(クラウド)上にプロジェクトを作りましょう。

ログインすると左上にある「Create repository」ボタンを押します。

2回目以降のリポジトリの作成の場合

左上にある「New」ボタンを押します。

すると以下のような画面になるので、

  1. 「Repository Name」に、手順2.0でメモしたフォルダ名を入力
  2. 「Private」を選択
  3. 「Add .gitignore」の項目で「Unity」を選択(検索して絞り込めます)
  4. 「Private」が選ばれていることを確認する
  5. 「Create Repository」を押す

作成できると、次のような画面になります。
「Private」と表示されていることをもう一度確認しましょう。

2.3 GitHubDesktopをインストール

続いて、「Git」を操作するためのソフトウェア「GitHub Desktop」をインストールします。
GitHubのサービスを作っている会社が作ったソフトウェアなのでGitHub Desktopです。そのままですね。

https://desktop.github.com/

インストールしたらログイン(Sing in)ボタンが出てくるので、ログインしましょう。
IDとパスワードを入力し、GitHubとの連携画面が出てきたら承認します。

ログイン方法が分からない場合はこちらを参考にしてください。

2.4 リポジトリのクローン

先ほどGitHub(クラウド)上に作ったプロジェクト(リポジトリ)を、手元のPC上に複製し、同期されるようにします。
この動作はクローンと呼ばれます。そのままですね。

GitHub Desktopの左上のメニューから「File > Clone repository」を選びます。

ポップアップが出てくるので、

  1. 先ほどGitHubで作成したプロジェクト(リポジトリ)を選ぶ
  2. 保存場所を選ぶ
  3. 「Clone」ボタンを押す

クローンが終わり、次の画面になるまで待ちます。

2.5 UnityプロジェクトをGitのリポジトリに入れる

さて、現状だとUnityプロジェクトとGitのプロジェクトそれぞれのフォルダが独立しています。
GitにUnityプロジェクトの管理をしてほしいため、

Unityプロジェクトの中身を全選択して切り取りし、Gitのプロジェクトフォルダに貼り付けます。

VCCから今まで通りアバタープロジェクトを開けることをここで確認しましょう。

VCCからプロジェクトが消えてしまった場合

一覧から消えてしまっただけで、データは消えていません。
VCC右上のプルダウンから「Add Existing Project」を選択しクローンしたフォルダを選ぶことで、再び一覧に表示させることが出来ます。

ここから既存プロジェクトを認識させることが出来ます

2.6 おさらい

似たような単語が出てきているので整理しましょう。

  • Git : 我々が使いたい、バックアップすることの出来るツール
  • GitHub : Gitをクラウド上で提供している、ウェブサービスの名前
  • GitHub Desktop : Gitの操作をするソフトウェア

GitHubとGitHubDesktopは準備したけどGitの準備は?と思うかもしれません。
実はGitHub Desktopが中にGitを持っていて、簡単に扱えるよう隠してくれています。

それによって、我々はGitHub Desktopを通じてGitを比較的簡単に扱うことが出来ます。

3. Gitを使ってバックアップを行う

3.1 PC上に作業内容の保存

さて、ここからは実際にGitを使って作業のバックアップを取っていきます。

Gitにおけるバックアップは、作業のまとまりごとに行います。
この動作のことは「コミット」と呼ばれます。

この時必要なのが作業のまとまりに対する「名前付け」です。

ここまでの手順を終えた時点で、Gitのプロジェクトフォルダには、まだGitで保存したことのないVRChatのアバターのデータが入っています。

つまり、ここでの作業内容に名前を付けるとしたら「初回保存」ですね。
「Summary」の欄に作業の名前を書き、「Commit to main」を押します。

これで、手元のPC上で作業内容の保存が出来ました。

3.2 クラウド上に作業を同期

手順3.1で手元のPC上に作業を保存しました。
これをGitHubのクラウド上にも同期させます。この動作は「プッシュ」と呼ばれます。

GitHub Desktop右上の、「Push origin」を押します。

これで、クラウド上(GitHub)に作業内容の保存が出来ました。
次の瞬間PCが壊れても安心!

3.3 おさらい

次回以降も、何か作業するたびに

  • Summary欄に行った作業を記入
  • Commit to main を押す (手元のPC上に作業を保存)
  • Push origin を押す (GitHubのクラウド上に同期)

をすればOKです。
トラブル防止のため、必ずコミット(作業の保存)したらプッシュ(クラウドと同期)まで行いましょう。

3.4 バックアップする頻度

ここまで、ふんわり「作業するたびに」コミット(作業の保存)をしよう、と書いてきました。
では、具体的にどういったタイミングでコミットを行うべきか少し掘り下げてみます。

コミット(作業の保存)では、出来るだけ 「何を行ったか」が後から見て分かりやすい ものであると好ましいです。
後から作業を戻したくなった時、いつ何をしたか思い出す手がかりになるからです。

コミットをする際は、「どこに戻れたら嬉しいか」を少しだけ考えてあげましょう。
例えば、「新しいアバターを購入して、髪色をいつもの自分の色に変更して、あのギミックも入れてみよう」という場合があるとします。

このとき、コミットした方が良いタイミングは

  • アバターのUnityPackageをプロジェクトにインポートした後
  • 髪色を変更した後
  • ギミックのUnityPackageをプロジェクトにインポートした後
  • ギミックをアバターに導入した後

です。
そうすれば、髪のマテリアルの調整が上手くいかず迷走してしまっても、アバターが入ったところに戻るので、髪の調整から再スタートできるし、
ギミックの導入が上手くいかなくても、髪の調整は済んでいてギミックも導入済のところに戻るので、ギミックの導入から再スタートできます。

ただ、これらはあくまで「この方が良いだろう」です。正解はありません。
作業が順調でいろんな作業をしてしまった場合でも、「○○と○○と○○」のように行った作業を複数書けばOKです。

バックアップは自分のため、1つ手前の状態に戻しやすくするのも自分のためです。
面倒くさくなって使わなくならない程度に、都度コミット(作業の保存)をしましょう。

3.5 後片付け

手順2.5で、元々アバタープロジェクトのデータが入っていたフォルダは空になりました。
ここまでの手順で無事にアップロードまで済ませているので、空になったフォルダは消しましょう。

4. Gitを活用しよう

4.1 GitHubDesktopの画面の見方

4.1.1 作業内容の確認

左側のリストには作業によって変更された内容が一覧で表示されます。
選ぶと、画面右側に変更内容が表示されます。

また、変更したファイルは「どう変更したか」がファイルの右端に表示されます。

  • オレンジ : 変更のあったファイル
  • 赤 : 削除されたファイル
  • 緑 : 新規追加ファイル

「.meta」という見覚えのないファイルが出てくることがあります。
これはUnityが自動で追加するファイルの情報が入ったファイルです。

新規追加、あるいは削除したファイルがあると出てくるので、身に覚えが無くても作業内容として保存して問題が無いファイルです。

4.1.2 作業の履歴を見たい

画面左上の「History」を押すと、作業の履歴を見ることが出来ます。
履歴の1つを選ぶと、画面右側にその時の作業内容の一覧が表示されます。

4.1.3 別のプロジェクトを見たい

画面左上のプロジェクト名の部分をクリックすると、プロジェクト一覧が出てきます。
最初は1つだけですが、他のアバタープロジェクトもGitで管理するようにすればここに表示されます。

4.2 作業を巻き戻したい

4.2.1 Gitにおける復元

  • ツールを追加したら動かなくなった
  • SDKのバージョンを上げたら動かなくなった
  • 改変に迷走してしまって元に戻したい

などなど… 戻したくなること、ありますよね。

一般にバックアップした時の状態に戻したいとき、「復元」します。
Gitでは「ある作業を選択し、それを無かったことにする」ことで、復元をします。

4.2.2 今やっている作業内容を破棄したい

まだ現在の作業の保存(コミット)をしていない状態で、最後に作業の保存(コミット)をした時の状態に復元したい、という場合です。

  1. 「Changes」タブの中のファイルをどれか1つ選択
  2. Ctrl+Aを押し、全て選択する
  3. 右クリックして、「Discard * selected changes」をクリック
  4. 確認画面が出てくるので、「Discard changes」をクリック


これで最後にコミットしてからの変更が破棄できました。
つまり、最後にコミットしたときの状態に復元された、ということです。

特定のファイルのみ破棄したい場合

このファイルだけ変更を破棄したい、ということがはっきりしている場合は、
Changesのタブから元に戻したいファイルのみを選んで同様にDiscardすればOKです。

4.2.3 前回のコミットを元に戻したい

前回、髪の色を変えてコミットしたけど、やっぱり戻したい…
そんな場合は、Historyタブから一番上のコミットを右クリックし、「Revert changes in commit」を選びます。
コミットで変更を取り消す、という意味です。そのままですね。
また、この動作は「リバート」と呼ばれます。

これをすると、「Revert コミット名」というコミットが作られます。
このままプッシュすればOKです。

4.2.4 もっと昔に戻りたい

やることは単純です。
戻りたいコミットの手前まで、上から順番に「Revert changes in commit」を繰り返すだけです。

例えば、3つ前のコミットの状態に復元したいとします。
その場合は、2つ分のコミットをリバート(コミットで変更を取り消すこと)をします。

この画像の例であれば、最終的にこうなるわけです。

これで3つ前のコミットの状態に復元出来ました。

5. ユースケース

5.1 新しくアバタープロジェクトを作りたい

もしアバターごとにプロジェクトを分けていて、新しいアバターをお迎えした場合は以下の手順を行いましょう。
やることは一緒です。

  1. VCCでプロジェクトを作成
  2. 手順2.0 下準備
  3. 手順2.2 GitHub上でリポジトリの作成
  4. 手順2.4 リポジトリのクローン
  5. 手順2.5 UnityプロジェクトをGitのリポジトリに入れる

これでOKです。

5.2 PCのデータが全部吹っ飛んだ場合

さて、いざPCが壊れてクリーンインストールしたり、新たにPCを買った時には以下の手順を行います。

  1. 手順2.3 GitHub Desktopをインストール
  2. 手順2.4 リポジトリのクローン
  3. VCC右上のプルダウンから「Add Existing Project」を選択しクローンしたフォルダを選ぶ

    ここから既存プロジェクトを認識させることが出来ます

これでOKです。
最後に手順を保存(コミット)したところの状態で復元されます。

容量の大きいプロジェクトだと、クローンには時間がかかります。気長に待ちましょう。

5.3 旧PCが生きた状態で新PCに移行したい

手順5.2 を実行するだけでOKです。

6. 最後に

Gitはとても高機能で、この記事で触れていない機能はとてもたくさんあります。
でも、我々がバックアップをする目的で必要な機能はこれで終わりです。

素敵なアバター改変のデータが失われないよう、Gitを活用しましょう!
Backup Your Projects!

SpecialThanks

以下の3人に文章のレビューなどしてもらいました。ありがとうございました!

脚注
  1. https://twitter.com/rikonn0000/status/1753381278416798047 ↩︎

Discussion