MYMYゲーム制作室

アラ古希姉妹のゲーム制作日記

GitBash と Visual Studio Code !! まるで専門のプログラマーになったような気分

今日は未知との遭遇の一日だった。

GitBash と Visual Studio Code !!

まるで専門のプログラマーになったような気分だった。

そうしたいきさつはこう。

 

今朝は朝起きるなり、気になっていたUnityのプロジェクト「FantasyLand」の手直しをした。 

 

①AIのCopilotさんに頼ってばかりじゃだめだ!自分でコードを理解してないと、複雑になった時に対処できない!と思い、また前に勉強した嗚呼蛙さんのYouTube動画

https://youtu.be/j4DvooqcD7A?si=NrDvaH1KYupj20yV

スクリプトを勉強しながら、書き直すことに。

移動に関する書き方もいろいろあって、動きかたも少し違っていたりするのを、実際やってみながら覚えるようになっていて、かなり頭がすっきり整理された。

そして、Yotoがスクリプト通りにスイスイ動くところまで行って、次のジャンプのところでまたもや引っかかった。

 

ここで、やはり頼るのは、AIのCopilotさん。

コライダーのサイズを変えてみたり、地面をテレインからPlaneに変えてみたりしたが、どうやっても着地判定ができなかったのが、うまくできるようになった。

 

そのコツは、プレーヤーの足元でなく、足元の少し下を判定の基準位置にするのが普通です、というもの。

bool isGrounded(){ //下の一行は足元の座標を表す変数を作成 Vector3 groundCheckPosition = new Vector3(col.bounds.center.x, col.bounds.center.y, col.bounds.center.z); //この下の行は、グラウンドチェックの位置にチェックするための球を作って、グラウンドレイヤーをチェックする

return Physics.CheckSphere(groundCheckPosition, groundCheckRadius, groundLayers); //groundLayersはインスペクターのこのcsの中に項目があり、そこで指定したレイヤーになる} 

これを以下のように修正したら、見事にぴょんぴょん飛ぶようになった。

Vector3 groundCheckPosition = col.bounds.center - new Vector3(0, col.bounds.extents.y, 0); // 足元の少し下 return Physics.CheckSphere(groundCheckPosition, groundCheckRadius, groundLayers);

 

②上手くいくようになったので、ここで一休み。これをGitHubにプッシュすることに。

それが、今日のトラブルの元になろうとは!!!

なんと、先日も一度なったのと同じように、プロジェクトの中身がすべて消えた!

 

プッシュする瞬間に、Mainではない他の文字が見えたのが、時すでに遅し。指はプッシュしてしまったあと。ヒストリーには残っていないし、Changedにも残っていないが、どこかに消えてしまった。

 

そこまでも、嗚呼さんに教えてもらいながら、スクリプトを書くこと数時間。

それが水の泡になった。が、そこからがまたまた大変だった。

 

こういう時に頼れるのはCopilotさんしかない。

 

どこに消えたのか、そのFantasyLandのシーンを探す長い旅の始まりだ。

 

③そこから、教えられるままに、行ったことは、わたしにとっては未知の世界。

GitHubDeskTopだけでは探せないので、GitBashで探しましょうということに。

で、GitBashなるものをインストール、そして黒い画面に向かって、教えられる通りにコマンドを打ち込む。これだめなら、次はこれ、という具合にコマンドを書いた。

そして、ついに消えたプロジェクトのシーンが隠れている場所を特定。

④その次に、インストールしたのが、VisualStudioCode。これはいつもスクリプトを書いているVisual Studioとは違うもので、これも新規にインストールしなくてはならないとのこと。もうこの頃には、当初の目的がなんだったのかも分からないくらい、頭の中が飽和状態。しかし、最後までやらないと、今朝の努力が無駄になってしまう。

VisualStudioCodeのほうでも、Unityエディターにでているエラーの箇所を探す作業。

その途中で、エラーの起こっている原因として、FBXファイルのサンプリングレートがおかしい、、ということになり、今度はBlender(これはもともとインストールされていた)にUnityでつかっているFBXファイル(YotoのFBXで良かったのかな・・・)をいったんインポートして、1.0になっていたサンプリングレートを60に変更。そしてそれをまたエクスポートしてUnityに戻す作業。もう何をなんのためにやっているのか、ほんとに分からない状態だったが、いわれる通りにやってみた。

こういう作業ですら、どこに問題のタブがあるのかもわからなくて、いちいちAIに聞きながらだから、すごい時間を消費した。

⑤そうやって、エラーやらコンフリクトやら、トラブルの元になりそうなものを消していき、最後に消えていたシーンを取り戻し、朝の作業の終了時点にもどることができた。

⑥そして、それは今まで残してきたGitHubのMainでなく、Branchに保存することを教えてくれた。origine_recovery_branchとういうブランチを作って、そこに保存。今後はしばらく、そっちで作業することにする。

 

大変な一日だった。