この講座では初めてのUnity入門ゲームプログラミング講座として、「60分で作れるUnity C#ビリヤードゲーム」を制作していきます。
実際に作っていくゲームがこちら。
講座は全てで4回構成になっています(最後の1回はスマホ対応にするだけなので実質3回)。
Unity C#をほんのちょっとかじった程度の初心者でもゲームを完成させられます(全くC#知らなくても見ながらできるレベル)。
今回のビリヤード講座を通してUnityの使い方や物理エンジンの基本的な使い方、マウスクリックやスマホタップを実装してモノを動かす方法が身に付きます。
また、一か所だけですがベクトルや三角関数を利用した軌道計算の方法も出てくるのでお楽しみに^^
もちろん、数学が全くわからなくてもゲームを完成させられるようになっています。
制作の流れとしては、
- ビリヤード台とボールの作成
- ボールの移動処理と当たり判定の作成
- ボールが穴に落ちた時の処理とゲームリセットの作成
- マウスクリックからスマホタップへの対応
上記の手順でビリヤードゲームの製作を進めていきます。
また、第3章まで実装したプロジェクトファイルを3章の記事の最後に用意しているのでわからない点など出てきたら適宜参考資料としてお使いください。
それでは、各記事のまとめを以下で解説します。
ビリヤード台とボールを作る
↑第一回目までで作り上げるところ
第1回目の内容としては、
- Unityのビリヤードゲームプロジェクトを作る
- ゲームオブジェクトを作る
- transformの使い方を習得
- オブジェクトの親子関係を理解する
- マテリアルの使い方を理解し、ビリヤード台を作成
- ビリヤードボールを作成し、プレハブ化を行う
上記のような流れになっています。
ボールの移動と当たり判定の処理を作る
第2回目はビリヤードボールの移動と当たり判定処理を実装していきます。
colliderコンポーネントやphysicマテリアルの使い方をマスターしましょう。
- 物理的衝突を伴う当たり判定を作るためのcolliderコンポーネント
- 物理的衝突を伴わない当たり判定を作るためのtriggerコライダー
- 物体の性質を決めるPhysic Material
- スクリプトを使ってボールに力を加える方法やコンポーネント取得関数であるGetComponent
上記内容を習得することができます。
ビリヤードを打つ・穴に入ったら消す処理を作る
第3回目はマウスクリック操作の方向によってボールを打つ処理を作ります。ボールが飛んでいく方向をベクトルと三角関数を用いて決定していきます。また、リセット処理も作り、最低限のビリヤードゲーム機能を実装します。
- 変数、if文などを利用した入力処理の条件分岐の作り方
- マウスクリック開始、クリック中、クリック離したときの処理の作り方
- リアルタイムにボールの運動を処理するための方法
- 三角関数とベクトルを用いて決めた角度と方向にボールを射出する方法
上記内容を習得することができます。記事の最後にここまでの内容を実装したプロジェクトファイルのダウンロードリンクを用意しました。
スマホタップに対応させてモバイルゲームを作る
第4回目は作り終わったビリヤードゲームをPCだけでなくスマホでも遊べるようにしていきます。スマホゲームを作りたい方はここまでやってみましょう。使う関数や処理が少々変わるだけで実はスマホ化はそんなに難しくありません。
- Input.GetTouch関数を使ったスマホタッチ入力値の取得方法
- スマホタッチ開始、タッチ中、タッチ終了後の処理の作り方
- スマホ操作状態を保存したTouchPhase変数の理解
- エディター上でUnityアプリを再生し、スマホで動作させる方法
上記内容を習得することができます。
ここまでで60分で作れる初心者向けビリヤードゲーム講座は終了です。
Unity入門の森にはたくさんのゲームの作り方講座があるので、ぜひ気に入ったゲームを作ってみてくださいね^^
より本格的なゲームが作れるタワーディフェンスゲームの作り方講座、クリッカーゲームの作り方講座や3Dアクションゲームの作り方講座にチャレンジしていくのがおすすめです。