ENGINEER BLOG

ENGINEER BLOG

はじめてのUnity開発

こんにちは、コンサルティングサービス本部の笹野です。

前回の記事の直後に「AWS認定 ソリューションアーキテクト – アソシエイト」に合格しました!おめでとうだね!
合格祝いにじんぐうじ様が飲みに連れていってくれました!感謝!

今回は、6月くらいからUnityを使い始めて3ヶ月程経ったのでふりかえりと紹介です。
ちなみにゲーム開発ははじめてです。

0.そもそもUnityってなに?

unity-logo.png
Unity は、Windows と OS X 上で動作する統合型のゲーム開発環境です。
iOS、Android、Windows、Mac OS X、Web、Wii U、PlayStation3、Xbox 360 など
様々なプラットフォームへ向けた高度な 3D アプリケーションを制作することが出来ます。

Unityだけでいろいろなプラットフォーム向けのゲーム開発ができるわけです!とても便利!

unity-screen.png

補足をしておくと…

  • 2D/3Dどちらのゲームも作れます。

  • スクリプト言語としてC#、JavaScriptを使用します。笹野はC#を使っています。
    Unityスクリプトリファレンスでサンプルコードが提供されているので安心。とてもお世話になっています。

  • ライセンス
    いくつかありますが、Personal(無料)でもほとんどの機能が使えるので、個人で使う場合にはとりあえずPersonalで使ってみて、有料プランじゃないとダメってなったら移行するのが良さそうです。
    有料版だとアプリ起動時のUnityロゴ(スプラッシュスクリーン)が消せるようになったりします。

ちなみに、ゲーム以外のツールなんかもつくれます。
AWSサービスを呼び出すこともできます。SDKが公開されています。(参考:Amazon Web Services ブログ

1.やったこと

1-1.公式チュートリアル

まずは何か作ってみようということで、Unityをインストールしてすぐに
公式のチュートリアル(玉転がし2Dシューティング)をやりました。

玉転がし

Roll-a-Ball.png

プロジェクトの作成・視点の移動などUnityの基本操作的なところから丁寧に説明されていくので、
とりあえずやってみるのが良いと思います。
手順通りやっていけば動くものができるのでほどほどの達成感が得られるのもいいです。
3Dゲームがこんなに簡単に作れるとは思ってなかったです。
今回の記事を書くのにもう一度作ってみましたが、いいとこ取りした内容になっていて今更ながらすごいなあと思いました。

2Dシューティング

2D-Shooting.jpg

Unityは2Dゲームもつくれます。こちらも基本的には手順通り進めていけば動くものができあがります。
パラメータを調整して超ヌルゲーにしたり、超ハードモードにすることも思いのままです。
… が、すべてが思いのままにいくわけでもありません。

このチュートリアルは Unity5.2を利用されている方向けのものです。

との記載がある通り、一部そのままのスクリプトでは動作しなかったりしました。
当時(2017年6月頃?)笹野の環境はUnity5.6でしたが、最新はUnity2017.1です。恐らくそのままコピペでは動作しないと思われます。
Unityスクリプトリファレンスを読んだり、検索したりして頑張って動かしましょう。

調べてやってみる、ちゃんと動かなかったら何がダメなのか考えてまた実装してみる。その繰り返しです。
できなかったことができるようになると、とても楽しいですよね!頑張りましょう!

1-2.コインプッシャーをつくる

CoinPusher.png

ゲームセンターにある、2段になってて上段が前後にスライドして、コインを投入していってコインを手前に落とすとコインをゲットできるアレです。
おおまかに挙げても以下の要素が詰まっていて、ものすごく勉強になります。要素的には玉転がしと似ています。

  • Object
  • Component(Rigidbody/Colider/Mesh/Material/Script)
  • Detection Light
  • Camera
  • Prefab

コインプッシャーで検索するとたくさん出てくるのでお好きなものを見ながらつくってみると良いと思いますが、
こちらの動画が分かりやすい&すごいです。

iPhoneゲームを20分間で作る【メダルプッシャー編】

ここまでサクサクつくれるようになりたいものです…

1-3.公式マニュアルを読む

いろいろ作っていると分からないことが出てきて検索すると、そこそこの頻度で公式のUnityマニュアルが出てきました。
「今使わない機能でも標準機能で何ができるのかを知っておけば、問題が出たときに解決できるかもしれない!」と思い一通り読みました。
「へえ~こんなことも出来るのか~」って感じで読んでおくといいと思います。

Unityは公式のマニュアルであったり、スクリプトリファレンスが充実していてとても助かります。
ネットにも情報がたくさんあるので、やりたいことが明確であれば簡単に開発できてしまうのがすごいですね。

2.サクサク開発をするために

2-1.ショートカットキーを覚える

「操作モードの変更(Q/W/E/R/T)」はマストだと思います。
Sceneと画面上のボタンを行き来するより断然早いのでショートカットキー覚えたほうが吉です。
shortcutkey.gif
他にも Crtl + C (Copy)→ Ctrl + V (Paste)でもできますが、Ctrl + D で オブジェクトの複製(Duplicate)など、
便利なショートカットキーがいろいろあるので使えるようになると開発スピードが早くなるかと思います。

個人的に次の3つは便利でよく使います。

キー 説明
Ctrl + D オブジェクトの複製(Duplicate)
F 選択したオブジェクトにフォーカスを当てる
V + 移動 選択中の頂点が他の頂点に接地するような形で移動

2-2.Collaborate/Cloud Buildを使う

Unity Collaborate
少人数のチームメンバー間でのプロジェクト作業の保存・共有・同期を簡単にする新しい方法です。このホスト型のクラウドは使うのが簡単で、チーム全体がロケーションや役割にかかわらずプロジェクトに貢献することができます。

Collaborate.png

本来は複数人で作業する際にプロジェクトの共有をするためのものですが、1人で作業する際もクラウド保存できて便利です。
いつ、どんな変更を行ったかも入力したコメントから分かりますし、クラウド上の状態に戻すといったこともできます。
ローカルだけにデータを保存しておくのも不安ですので、とりあえずCollaborateしておくと良いと思ってます。
(今回の記事を書くのに、以前作成した玉転がしのデータがどこかへ行ってしまっていて悲しい思いをしました…Collaborate大事…)

また、Collaborateと一緒に使用したいのがCloud Buildです。

Unity Cloud Build
クラウド上で高速にビルド作業を行ない、共有することができます。また、「Cloud Build」実行時は自動でコンパイル、デプロイ、試験などの処理も行なうため、チームによる運用も簡単です。その設定も、すでに持っているソースコード管理のレポジトリを用いて手軽に行なうことが可能です。

CloudBuild.png

「Collaborateの変更があったらAuto Buildする」という設定も可能なので、Buildの手間いらずです。
Cloud Buildしている間に他のことだってできちゃいます。
Buildしたアプリは古いバージョンもWeb上からダウンロード可能ですので、管理するのも楽でとても良いですね。

3.さいごに

Unity面白そうだなって思ったら、まずやってみよう!

ショートカットキーを覚えながら、公式チュートリアルをやる!
公式マニュアルを読んでみる!
データのバックアップは大事!
アプリのBuildはCloud Buildにおまかせ!

そしてなにか作ってみる!

というわけで、ボールをサンドバックっぽいなにかにひたすらぶつけ続けるだけの、
クソゲー 暇つぶしゲームをささっとつくりました。
game.gif