山傘のプログラミング勉強日記

プログラミングに関する日記とどうでもよい雑記からなるブログです。

Unity Playground その 1

Unity の勉強を再開します

最後に Unity を触ったのがかなり前なので、リハビリを兼ねて公式のチューとリアルに挑戦しようと思います。

unity3d.com

Unity Playground という 2D の物理演算を使うゲームのフレームワークを学ぶことができます。英語の教材なので多少の不安はありますが、やっていこうと思います。ゲームの種類としては、シューティングやマリオのようなものだと思います。前にやった和尚本の中で簡単な 2D アクションゲームの経験が生きれば良いですね。

Unityの寺子屋 定番スマホゲーム開発入門

Unityの寺子屋 定番スマホゲーム開発入門

まあ、簡単とは言っても僕には難しかった気がします。

1. Introduction and Prerequisites

Asset Store から Unity Playground をダウンロードします。

フレームワークというくらいだからお高いんでしょ?と思われた方もいるとは思いますが、FREE です。ヨカッタネ。

アセットの中身はこんな感じです。サンプルゲームが作れるくらいにはいろいろ入っています。

f:id:yamakasa3:20190513015032p:plain

背景とスペースシップ

f:id:yamakasa3:20190513021806p:plain

画像をシーンにドロップするとオブジェクトが生成されるわけですが、Sprite Renderer というスクリプトに Visibility Options という項目がありますた。このアセットでは、Sprite Renderer が拡張されている?ということでしょうか。

f:id:yamakasa3:20190513022555p:plain

スペースシップを動かす

Push.cs と Rotate.cs を機体に付加して、スペースキーで推進力を与え、矢印キーで機体の向きを変えます。機体の向きを変えるのは、右回りか左回りかなので、操作が難しいですね。動きがハンドスピナーのようになってしまいました。

カメラを機体に追従させる

カメラを機体に追従させることにより、スペースシップが動くとそれに合わせてカメラも動くようにします。Main Camera に CameraFollow.cs をふかして、Target に スペースシップのオブ弱とを追加することで設定ができます。

シーンに小惑星を追加

Images フォルダの Asteroids フォルダに小惑星のイメージがあるので、シーンに追加します。このとき、RigidBody2D と Plygon Collider2d を付加します。Polygon Collider2D はスペースシップの方にも追加しておきます。このようにすることで、スペースシップと小惑星が衝突するようになります。

ヘルスシステム

スペースシップと小惑星にヘルスシステムを追加します。ヘルスシステムとは、スペースシップに体力を設定し、小惑星に衝突ダメージを設定することで体力が0になるとゲームオーバーになるシステムです。スペースシップには HealthSystemAtrribute.cs を、小惑星には ModyfiHealthAttribute.cs を付加します。

感想

Unity の本が欲しいなと思いつつも、僕が欲しいような本が出てないんですよね。初心者向けは充実しているとは思いますが、その先の本があまりないような気がします。まあ、熱意があるなら自分で調べて作れということなんでしょうね。技術本ってあまり売れないと聞きますし、こういうチュートリアルはありがたいですね。