「Flappy Bird」をUnity Visual Scriptingで作ってみよう(1/5)

Flappy Birdスタイルゲームを作成する

Updated by 51n1 on 10 May, 2021

もくじ

1. Flappy Birdスタイルゲームを作成する
2. プレイヤーの移動とアニメーション
3. テキストの表示と背景のスクロール
4. 障害物の生成とスコアのカウントアップ
5. Script Graphまとめ

はじめに

Making A Flappy Bird Style Game With Unity Visual Scripting | Work Scape #7

Unity Learnで公開されているLive Session Tutorial(現在は参照不可。)を参考にVisual Scripting(Bolt)を使ってFlappy Birdスタイルのゲームを作ってみたい。チュートリアルビデオは以下リンクのページにて参照できる。2016年頃に作成されたチュートリアルビデオなので、ビデオ内の解説で使用しているUnityのバージョンは5.5だが、Unity 2021.1で問題なく進められるだろう。

Live Training - Flappy Bird Style Game

また、今回のFlappy Birdスタイルゲームの作成過程を早送りで20分ほどのビデオにしてYouTubeにアップロードしている。ページ冒頭にリンクを掲載しているので参考にしてほしい。

本ブログ記事では、チュートリアルビデオの学習内容をベースにFlappy Birdスタイルのゲーム制作の流れをまとめ、C#スクリプトで実装しているプログラム処理についてはVisual Scriptingに置きかえようと思う。Unity操作等、細かい部分で説明が不足するかもしれないので、まずは先のチュートリアルビデオを見てもらうのがおすすめ。ビデオ内の音声は英語だが、ビデオを見ながら理解できるレベルだと思う。使用した各プログラムのバージョンは下記の通りとなる。

  • Unity 2021.1.5
  • Visual Scripting 1.5.2

Flappy Birdというゲームはベトナム人のDong Nguyen氏が開発し、2013年にリリースされたモバイルゲームである。当時、世界的に人気を博したらしいが、2014年に突如公開を停止したとのこと。それ以来、Flappy Birdスタイルのゲームが数限りなくリリースされることになる。このゲームはスクリーンをTapするだけのシンプルな操作で中毒性のあるゲームプレイが人気を博したそうだ。またゲーム開始後すぐにゲームオーバーになってしまうというゲーム難易度の高いレベルデザインが話題になったようだ。

現在では、「 FlappyBird」というオンラインWebサイト上でWebゲームとして手軽に楽しむことができる。( 1.1)

1.1 flappybird.io

プロジェクト作成とサンプルアセットのインポート

Unity 2D

では早速、UnityでFlappy Birdスタイルゲームを作っていこう。まずUniy Hubを起動して2Dテンプレートでプロジェクトを新規作成する。( 1.2)

プロジェクトが作成できたら、Unity Editorでサンプルアセットをインポートする。チュートリアルビデオで使用しているサンプルアセットはUnityのAsset Storeから取得できる。Asset Storeで取得したらPackage Managerでダウンロードし、インポートすればよい。( 1.3)

1.2 Create Project - Unity Hub

1.3 Import Asset - Package Manager

プロジェクトの作成やPackage ManagerによるAssetのインポートの方法は他の記事でも記述しているので、そちらも参照してほしい。

SceneにキャラクターSpriteを配置する

Sprite Asset

インポートしたサンプルアセットに含まれているSpriteイメージのBirdHeroをSprite Editorで3つのSpriteにSliceする。Pixels Per Unitは100がちょうどよいかもしれない。( 1.4, 1.5)

1.4 Sprite Image

1.5 Slice - Sprite Editor

SliceしたSpriteのうち「BirdHero_0」をHierarchyウィンドウにドラッグ&ドロップしSceneに追加する。好みで名前をBird等に変更する。( 1.6)

1.6 Add Sprite to Scene

その他Spriteの追加とSorting Layerの設定

Sprite Renderer

地面(Ground)、背景(SkyBackground)のSpriteをSceneへ追加。それぞれSorting Layerを変更する。以下、各ゲームオブジェクトに割り当てるSorting Layerの設定である。( 1.7)

  • Birdゲームオブジェクト: Foreground
  • Groundゲームオブジェクト: Foreground
  • SkyBackgroundゲームオブジェクト: Background

1.7 Sorting Layer

2D Physicsコンポーネントの追加

Rigidbody 2D Polygon Collider 2D Box Collider 2D

Birdゲームオブジェクトには、Rigidbody 2D、Polygon Collider 2Dのコンポーネントを追加する。 Polygon Collider 2DはSpriteの輪郭に沿ってColliderが自動で設定される。( 1.8)

Groundゲームオブジェクトには、Box Collider 2Dコンポーネントを追加し、 Edit Colliderでコライダーの大きさを調整する。( 1.9)

1.8 Polygon Collider 2D - Bird

1.9 Box Collider 2D - Ground

とてもシンプルだが、ここまででFlappy Birdスタイルゲームの基本的なゲームアートの配置と設定が完了した。次はゲームプレイヤーとなるBirdゲームオブジェクトの動きを設定するためにVisual Scriptingによるプログラム処理を追加していく。