Unity C# ブロック崩しの作り方 Unity入門チュートリアル講座 | Unity入門の森 ゲームの作り方

Unity C# ブロック崩しの作り方

Unity C# ブロック崩しの作り方 Unity入門チュートリアル講座 Unity C# ブロック崩しの作り方

この講座では初心者向けのUnity入門ゲームプログラミング講座として、「ブロック崩し」を制作していきます。

実際に作っていくゲームがこちら。

ブロック崩しの作り方 Unity入門の森サンプルゲーム | フリーゲーム投稿サイト unityroom

講座は全てで5回構成になっています。講座はUnity C#をちょっとかじった程度の初心者でもゲームを完成させられます。

ブロック崩し講座を通してUnityの使い方や画面の見方、ゲームオブジェクトの扱い方の基本やスクリプトの実践的な書き方なども身に付きます。

また、ブロック崩しでは数学関数を用いた演算でボールの反射や加速処理などを作っていく場合も多いですが、今回はUnityの物理エンジン機能を利用して数式いらずで作っていきます。

そのため、数学に詳しくなくてもゲームを完成させることができます(その代わり少し融通が利かない部分もあり)。

制作の流れとしては、

  1. ブロック・プレイヤーパドル・ゲームフィールドの作成
  2. プレイヤーパドルを移動できるようにする
  3. 壁とプレイヤーパドルの当たり判定を作る
  4. ボールの移動処理と当たり判定を作る
  5. ブロックを崩す処理とボール反射処理を作る
  6. クリア・リトライ・ゲームオーバー処理を作る

上記手順でブロック崩しゲームの製作を進めていきます。

各記事のまとめを以下で解説します。

ブロックを配置してフィールドを作る

第一回目までで作り上げるところ

ブロック崩し講座第一回目では、Unityプロジェクトを立ち上げることから始め、ブロック崩しのフィールドを構築します。

  • Sceneビューとインスペクタービューの基本的な使い方
  • Gameオブジェクトの位置・向き・形状の変更
  • Gameオブジェクトの親子関係の構築
  • ゲーム画面にオブジェクトを表示させるためのRendererコンポーネントを知る
  • マテリアルの作り方 マテリアルを設定して色や見た目を変える

上記のようなスキルも身に付く回になっています。

ブロック崩しの作り方1 ブロックを配置してフィールドを作る
今回から5記事完結で簡単なブロック崩しゲームを作っていきます。Unity初心者でも実践できるように画面操作などやゲームオブジェクトの親子関係操作なども画像付きで説明していきますね。今回は Sceneビューとインスペクタービューの基本的な使い...

プレイヤーパドルの移動処理を作る

第二回目は主に入力機能を実装してブロック崩しのプレイヤーブロックを移動できるようにします。

また、物理エンジンの機能を利用して壁の当たり判定などを簡単に実装します。

RigidBodyコンポーネントや重力の使い方をマスターしましょう。

  • 入力を受け取るためのUnityEngine.Inputの使い方
  • 物理エンジンのRigidBodyコンポーネントの使い方
  • RigidBodyのUseGravityを用いた重力の有無を設定法
  • スクリプトからRigidBodyをアタッチしたGameObjectに物理的な力を与えるAddForce()メソッドの使い方
  • 物理エンジンの影響を消す方法

上記内容を習得することができます。

ブロック崩しの作り方2 UnityEngine.InputとRigidBodyを使って移動処理を作る
前回の記事ではブロック崩しプロジェクトを作成し、必要なGameObjectを配置しました。マテリアルの色付けなどの基本機能も学習しましたね。前回の記事:この記事ではUnityの入力機能であるUnityEngine.Inputと物理エンジン機...

ブロックとボールの当たり判定の実装 ボールの跳ね返り処理を作る

第三回まででボールをブロックに当てる反射運動が実現します

第三回ではブロック崩しの肝となるボールの当たり判定や移動処理を作っていきます。

Unityの物理エンジンで当たり判定を行う際によく用いるColliderコンポーネントの利用法を習得していきます。

物理エンジンを利用することで、跳ね返り処理や反射角度の数学計算を実装しなくてもブロック崩しの力学を作ることができます。ただし、物理エンジンを利用することで逆に融通が利かなくなる部分も出てくることも学べます。

  • UnityEngine.Colliderを用いた物理エンジンの当たり判定の作り方
  • 跳ね返り係数や摩擦係数などを設定できる物理マテリアルの使い方

などを習得できます。

ブロック崩しの作り方3 当たり判定の実装 UnityEngine.Colliderと物理マテリアルの使い方
今回の記事でも引き続きブロック崩しを作成していきます。前回はUnityの入力処理とRigidBodyを用いた物理エンジンの利用法を習得しましたね。前回の記事:今回はボールを動かしてみましょう!物理エンジンを使ってボールを動かしてみよう。それ...

ボールに当たったブロックを消す処理を作る

第四回目ではいよいよボールに当てたブロックを崩す処理を作ります。

ゲームオブジェクトを削除するDestroy関数やプレハブ化を用いたオブジェクト大量生成&コントロールの方法も学んでいきましょう。

  • GameObject削除に用いるUnityEngine.Object.Destroy()の使い方
  • GameObjectを識別法である名前、タグ、レイヤーの使い方
  • 同じ設定を持つGameObjectをたくさん作れるプレハブの使い方

上記のスキルを習得することができます。

ブロック崩しの作り方4 Destroy関数とプレハブを用いてボールに当たった壁を消す
前回の記事ではボールの当たり判定処理と移動処理を作りました。前回の記事:今回の記事では以下の内容を習得しながら、ボールに当たった壁が崩れる処理を作ります。 GameObject削除に用いるUnityEngine.Object.Destroy...

ブロック崩しのクリア・リトライ・ゲームオーバー処理を作る

ブロック崩し講座最後となる第5回では、ゲーム管理システムを実装します。

ブロック崩しのクリア・リトライ・ゲームオーバー処理などを作っていきます。

  • ゲームの流れを管理するプログラムの作り方
  • GameObject.SetActive()を使用したGameObjectの有効・無効を設定する方法
  • Component.enabledによるComponentを実行・停止を設定する方法
  • UnityEventとデリゲート型を利用した処理の連結方法

上記のスキルを身に付けることができます。

ブロック崩しの作り方5 クリア・リトライ・ゲームオーバー処理の作り方
今回の記事でブロック崩しを完成させます。以前までの記事でボールやプレイヤーブロックの移動処理、ボールが壁に当たったときの破壊処理など、ブロック崩しに必要な要素を実装してきました。前回の記事:今回は最後にプレイヤーの残機などUIに関係する部分...

また、ここまででブロック崩しゲームが完成します。

脱初心者・Unity入門者への第一歩を踏み出せましたね。

まだまだUnity入門の森にはたくさんのゲームの作り方講座があるので、ぜひ気に入ったゲームを作ってみてくださいね^^

より本格的なゲームが作れるタワーディフェンスゲームの作り方講座クリッカーゲームの作り方講座3Dアクションゲームの作り方講座にチャレンジしていくのがおすすめです。

Unity入門ゲームプログラミング講座に戻る>>

Unityジャンル別ゲームの作り方講座に進む>>

Unity C# ブロック崩しの作り方

ブロック崩しの作り方5 クリア・リトライ・ゲームオーバー処理の作り方

今回の記事でブロック崩しを完成させます。以前までの記事でボールやプレイヤーブロックの移動処理、ボールが壁に当たったときの破壊処理など、ブロック崩しに必要な要素を実装してきました。前回の記事:今回は最後にプレイヤーの残機などUIに関係する部分...
Unity C# ブロック崩しの作り方

ブロック崩しの作り方4 Destroy関数とプレハブを用いてボールに当たった壁を消す

前回の記事ではボールの当たり判定処理と移動処理を作りました。前回の記事:今回の記事では以下の内容を習得しながら、ボールに当たった壁が崩れる処理を作ります。 GameObject削除に用いるUnityEngine.Object.Destroy...
Unity C# ブロック崩しの作り方

ブロック崩しの作り方3 当たり判定の実装 UnityEngine.Colliderと物理マテリアルの使い方

今回の記事でも引き続きブロック崩しを作成していきます。前回はUnityの入力処理とRigidBodyを用いた物理エンジンの利用法を習得しましたね。前回の記事:今回はボールを動かしてみましょう!物理エンジンを使ってボールを動かしてみよう。それ...
Unity C# ブロック崩しの作り方

ブロック崩しの作り方2 UnityEngine.InputとRigidBodyを使って移動処理を作る

前回の記事ではブロック崩しプロジェクトを作成し、必要なGameObjectを配置しました。マテリアルの色付けなどの基本機能も学習しましたね。前回の記事:この記事ではUnityの入力機能であるUnityEngine.Inputと物理エンジン機...
Unity C# ブロック崩しの作り方

ブロック崩しの作り方1 ブロックを配置してフィールドを作る

今回から5記事完結で簡単なブロック崩しゲームを作っていきます。Unity初心者でも実践できるように画面操作などやゲームオブジェクトの親子関係操作なども画像付きで説明していきますね。今回は Sceneビューとインスペクタービューの基本的な使い...
タイトルとURLをコピーしました