数年おきにやってくる「3D ゲーム制作への憧れを思い出して、ゲーム開発環境をインストールし、チュートリアルを試して終わる」という発作がまた来た。
環境
- macOS 10.15.5
- Unity 2019.4.4f1 Personal
インストールしたもの
Unity
Unity の最新版をインストール。Unity Hub というのを入れるかたちになった。
VS Code
VS Code 自体はインストール済みで、以下の拡張を追加した。
- C#
- Debugger for Unity
.NET
Unity の設定でソースコード編集に使うエディタを VS Code に変更し、C# Script を開いてみたら、VS Code 上で .NET Core をインストールするように指示が出たのでそれに従った。
ところが、それで終わりと思いきや
The reference assemblies for .NETFramework,Version=v4.7.1 were not found.
というメッセージが出た。Unity が使ってるのは .NET Core じゃなくて .NET Framework だからってことかな。
ググってみると、Qiita の記事が見つかった。
Homebrew で Mono を入れればいいらしい。
$ brew install mono
これを実行したところ、インストール済みのライブラリが古いみたいだよ、というメッセージが出ていたので、指示に従って以下も実行。
$ brew update
Mono のインストール先を調べる。
$ brew --prefix mono /usr/local/opt/mono $
これはシンボリックリンクで、リンク先は /usr/local/Cellar/mono/6.8.0.123
になっていた。先程の Qiita の記事では、このリンク先のパスを settings.json に追加していたが、シンボリックリンクでもいけるんちゃう? と思ったのでそっちを書いてみた。
"omnisharp.useGlobalMono": "always", "omnisharp.monoPath": "/usr/local/opt/mono"
settings.json を変更して保存すると、OminSharp を再起動するか聞かれるので、再起動してもらう。もしくは VS Code を再起動する。
これで、無事に IntelliSense が働くようになった。
読んだもの
最初に、Unity 付属のチュートリアルから、"FPS microgame" をやってみた。あらかじめ用意された、Scene が 1 つだけ、かつ、Asset などの準備はされた状態のテンプレートを使って、Unity の基本的な UI を触ってみたり、オブジェクトをゲーム内に配置してみたりするものになっている。Unity 上にチュートリアルが表示されるので、間違えずに学べる反面、どういう仕組みでゲームを作っていくのかまでは教えてくれない。
ググってみると、ブロック崩しのチュートリアルを勧めている人が多いようだが、公式サイトのチュートリアルコーナーには出てこない。なくなっちゃったのかな。
仕方がないので再度ググって、Qiita にあった、近い内容と思われるチュートリアル記事にしたがってやってみた。