Unityでゲーム作成、それ以前

皆さま、お久しぶりでございます。ブログ更新がずっと滞っておりましたことをお詫びいたします。また、見に来てくださると、幸いです。

さて、わたくし、実はそこそこいいおっさんの年齢なのですが、最近、ゲームにハマりまして。とくにSteam系のPCゲーム、これが面白くてですね、毎日やっておりました。

そこでふと、「ゲーム自分で作ったら面白いんじゃない?」と思い立ちまして、思い立ったが吉日野郎、急遽ゲームを作ることになりました。

さて、ではどうやって作るかとWebで物色しておりますと、Unityが凄い!という意見が多く、こりゃわたしもはじめて見るか!と、相成った次第です。

さて、そこそこ開発業務に携わってきた身、Unityを知らないわけではなかったのですが、ゲーム作成は初めて、さらにそれをUnityで作るのも初めてとあれば、やはりなんらかの指南が欲しく、とりあえずいくつか本を探して、とっつきやすそうなものを買いました。

今回はこちら

「Unityの寺子屋」という入門書です。目標であるスマホゲーム開発入門がタイトルにあり、作者のいたのくまんぼう氏もスマホゲームをいくつか当てているという点で選びました。このリンク先のAmazonのページではUnity入門向けの書籍が結構出ていて、見るだけでそこそこ「これいいかも」的な書籍が見つかるかもしれません。

というわけで、まずはこのUnity本にてお勉強の開始です。

統合開発環境Unity

Unityってなんぞや

それではまずUnityについてお勉強したことを簡単に発表します。

Unityは一言で言えば、マルチプラットフォーム向けのゲーム開発環境です。といっても、かならずしもゲームだけに限らず、高度なアニメーションや、AR、VRコンテンツなども作成できるため、様々な分野で活用されています。

また、マルチプラットフォームとは、Unity自身もそうなのですが(WindowsとMac及びLinuxで動きます)Unityで開発したゲームが、マルチプラットフォーム向けにビルドできるようになっているわけです。

わたしの以前の知識では、Android用の開発環境、iPhone用の開発環境、またPC向け、コンソール向け、などそれぞれ独自の開発環境が必要だったと思います。(一部マルチプラットフォームのものもありましたが)それが、一度にどのプラットフォームに向けてもビルドができるというのは、とんでもないカルチャーショックでした。

とにかく、Unityはとんでもなく高性能な統合開発環境だということです。

Unityでandroid向けもiphone向けも一緒に作れるんだ!

と、わたしも思っておりました。

これは間違っているわけではありません。Unityのビルドセッティング画面はこうなっています。

ご覧のように、iOSでもAndroidでもPS4でもXboxでWindowsでもなんでも来いです。

しかし! これはビルドできるというだけです。

Androidアプリは、Google Playに登録してビルドファイルをアップロードすれば、Windowsマシンからでもmacマシンからでも公開できます。

一方iphoneアプリは・・・、macマシンからでないと公開はできないのでございます(´;ω;`)

つまり、そこはUnityでは如何ともし難いので、mac持ってない奴は、mac買ってiphoneアプリ登録せなあかんで、ということ。

なかなか世知辛い世の中でございますなぁ。

どうせゲームを作るなら、たくさんの人に見てもらいたい、知人友人にもドヤりたいというのがありまして。

シェアは減ってきたと言っても、まだスマホ持ちの半数はiphoneです。やはりいずれはmac買って、iphoneアプリ申請が必要・・・お金ないっす(´;ω;`)

とまあ、先々のことはおいておいて、とにかくUnityの凄さが伝わったところで、勉強開始です!

UnityとVSCodeで開発

unityのテキストエディタ

unity自体は以下のような画面構成になっておりまして、ここで様々な設定やらアニメーションやら設置やらアタッチやらを行うわけです。

 

しかし、スクリプトを書くエディタに関しては、「勝手に選んでどうぞ」的なスタイルで、デフォルトエディタはMonoDevelopというツールです。

スクリプトを書くといっても、最近のバージョンのUnityはC#オンリーで書くので、C#がかけるエディタならなんでもOK、というわけで色々情報収集してみた結果、VSCodeが良さげだとなりました。

VSCodeってなに?

VSCodeはMicrosoftがフリーで出しているエディタで、結構な高性能、かつ多くの言語に対応しており、さらに拡張機能もたくさんという、MS最近頑張ってるなぁ的なエディタです。

VSCodeで検索すれば一発で出てきますし、インストールなどめっちゃ簡単なので、省略しますが、拡張機能には必ずC#を入れる必要があります。(当たり前ですが)

さらに拡張機能にはUnity向けのものも多くあり、お役立ち間違いなし。

わたしの環境での拡張機能は現在模索中なので、まだバチッとご紹介できないのですが、近いうちに紹介したいと思います。

Unity + VSCodeの罠

コード補完が効かない?

さあ、ここからが実は本題だったりします。

Unityをインストールして、VSCodeも入れて、本も開いて、さあサンプル作ってみるぞ! と勢い込んだわたしですが、スクリプトを書くところにきて、VSCodeがコード補完してくれていないことに気づきました。

コード補完は最近のエディタには大概入っているので、まさか天下のMS様のエディタができないはずはない、とさあ、調査開始です。

すると、最初に出てきたのは、Unityからみの設定についてでした。

どうやらプロジェクト内にある「.csproj」ファイルがいかんぞと、それを消して、Unityからもう一度開けと、さすれば道は開かれんと、こういうわけです。

プロジェクトフォルダ内にある、赤線を引いてある「.csproj」ファイルを削除します。(あとの操作でまた作成されるので、消しても大丈夫です)

AssetsメニューのOpen C# Project(赤丸)を押下すると、新しい.csprojファイルが作成され、VSCodeが立ち上がります。他のサイト様ではこれで補完が効くようになるとこのと。

どれどれと勢いよく立ち上げます。

・・・しかし、相変わらず補完されない!(´;ω;`)

OmniSharpがなんか言ってる

いろいろ調べていくうちに、そもそもVisualStudioではなく、VSCodeでは.NET Framework周りが違うらしく、VSCodeにてC#を書くためのOminiSharpがエラーを吐くという情報をゲットしました。

そして、ようやくコンソールを確認(笑)

おお、出てます! 何やら英語でいろいろ仰ってる!

どうやら、.NET Frameworkのバージョンが違うと言っているようですね。

親切にも「こっからダウンロードして入れろや」とURLまで出してくれています。では早速、URL先に飛びます。

このページのDeveloper Packをダウンロードしてインストールします。

するってえと

出た! ちゃんとコード補完もできるし、メソッドなんかのコメントもでてきました。

いやあ、為せば成るもんですね。

これでようやくまともにコードが書けるようになりました!補完なしではツラタンなダメプログラマです(´;ω;`)

そして、記事にすると結構サクサクと進みましたが、まぁまぁ調査やトライアンドエラーに時間がかかって、もうそれだけで疲れちゃいました。

まとめ

開発環境構築

現役のエンジニアの頃からそうでしたが、これが意外にハマる穴多いですし、ハマるとなかなか抜けられない。

同じような環境の例と解決策を見つけても、微妙な違いでうまく行かない、しょうがないから片っ端からトライアンドエラー→めっちゃ時間だけが消費される。

という「いつものこと」が起こります。しかし、それも勉強だ! という強い心で進みましょう。

さすれば、多分、道は開かれます。きっと、おそらく、まぁちょっとは無理かも。

今後の予定

基本的にはしばらく本を買ってはサンプル作って、色々慣れていく必要がありそうです。サンプル作りでハマったところなど、書いていけたら、皆さんのお役に立てるかもなぁと思っています!

結構すでに何冊かUnity本を買っていますので、本のレビューみたいなのも書いていこうかなと思っていますので、また見に来てくだいね!


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA