memorandums

日々の生活で問題解決したこと、知ってよかったことなどを自分が思い出すために記録しています。

初心者メモ:Unityのコードをgit&githubで管理する

背景

今年も3年生の授業でUnity&Arduinoでオリジナルコントローラ込みのオリジナルゲーム開発を進めています。

これまでの例は以下で公開しています。

www.takahashilabo.com

通年授業なのですがチーム開発もそもそもUnityやArduinoもやったことがない段階から90分✕15回✕2(前後期)での製作になります。

今年の1チームがUnityを共同で開発したいと言ってきまして(たいていのチームはUnityとArduinoで分担する)、Git&Githubで管理したいと。

そういえば僕も基本一人で作るので経験がありませんでした。

相談してきた学生さんが2週間くらい進めないので。。。と聞いてきまして、僕も一緒にやってみたんですね。

Git&Githubで管理する

3年生のチーム開発授業(Rails)でもやっている手順ですが、Unityでも同じです。基本的な流れを書いてみます。

  • Githubに新規リポジトリを作成します。
  • Unityプロジェクトのトップでターミナルでgit initを実行し、リモートリポジトリをgit remote add origin リモートリポジトリのURLを実行します。
  • Unityプロジェクトのトップにこちらからダウンロードした.gitignoreファイルを保存します。
  • あとは、Unityプロジェクトトップで、git add -Aとgit commit -m "first commit"を実行し、git push -u origin mainを実行するだけです。

で、何が問題だったか?

  • 上記でGithubのリモートリポジトリにpushしたあと、リモートリポジトリからgit clone リモートリポジトリのURLでpullでUnityプロジェクトをダウンロードします。
  • そのUnityを起動し、ダウンロードしたUnityプロジェクトを開きます。Unityのバージョンがなければそのバージョンをインストールしプロジェクトを開きます。

ここで、今までUnityで開けていたはずのシーンが出てこない、これが問題だったそうです。

「あ、それならシーンファイルをダブルクリックすれば開けるから、あとは実行ボタン押せば起動できるでしょう?」で終了でした。

そう、GitやGithubの問題ではなく、Unityの基本的な使い方を知らなかった、これが問題でした。

今回のできごとの感想

でも、わかるんです。授業ではソフトウェア開発の演習でも、「こういうツールを使って、こうするとこうなるからあとはこれをこうすればいいよ」というまぁ手順について一本筋を通して説明するわけです。この授業のように、自分で調べながら学んでいくときには、知識としては穴だらけなんですよね、新しいことを勉強すると必ずそういうことを経験します。

これが。。。大変だけど面白いんですよね。

新しいことを勉強しているなぁと。

こういう環境を色々と経験していると勘が効くようになります。

完成した成果物のレベルなんてそう高くはありません。ネットの記事を見ながら作っているようなものですので。知っている人が作れば1〜2週間くらいで作れちゃうレベルのものもあります。

でも、そういうイメージしたものを作り上げること、そのときに自分で手探りで学習して動かせた自身体験、そしてその成果をチームで共有できる、こういうことが会社にいけば自然と体験できることなんですが、学生のうちから体験できるといいんじゃないかな、と思ってやっています。

ある先生の考え方として「それぞれの技術を学んでさらに作品として作りあげるには授業としては時間が不足する。だから、例えばゲームとかは既に作って与えるとか、どこかを端折る方が途中で挫折せず結構面白いものができたという達成感も味わえてよい」を間接的に聞いたことがあります。

僕はそれには同意できません。

例え作品の質が落ちたとしても、途中の体験が大事かな。。。と思っていますので。

メモのつもりが長くなってしまった。。。授業だ。