Unityを使ってボウリングアプリを作りたいと思います。
まずは、現実にある普通のボウリングゲームを作ろうと思いますが、そのままだと面白味に欠けるので、最終的にオリジナリティーを加えたゲームにしようと考えています。
ボウリングアプリの作成!ステージ~ボールのシュート【Unity】
3D向けに作りますので、新規プロジェクトは「3D」で立ち上げるようにします。
Bowling Kegel & Ballアセットを入手する
以前スポーツゲームを作成する際にオススメのアセットを紹介しましたが、その中にある無料アセット「Bowling Kegel & Ball」を利用したいと思います。
このアセットには、ボウリングの球、ピン、ステージなどが含まれているので、ボウリングアプリを作成する際にとても便利です。
ステージの作成
インポートが完了したら、ステージから作成します。球とピンは、今入手したアセットの物を使用することにして、ステージはCubeで作りました。ステージの形になるようにScaleを変更します。
画像のように、手前からボールを放ちますので、奥がZ向きになるようにしてください。
色を付ける場合は、適宜好きなマテリアルを作るようにしましょう。
ピンの配置
ボウリングのピンをステージ奥の方に配置していきます。ちなみに、ピン同士の間隔は適当です。
ピンを1本配置したら、RigidbodyとCapsule Colliderコンポーネントをアタッチします。コライダーは当たり判定となりますので、シーンビューで調整してください。私の設定は上図の通りです。
デフォルトでは1つ1つのピンがとても大きいので、Scaleを変更して小さくしています。
設定が出来たら、ピンを必要分複製して配置していきましょう。
空のオブジェクトを作成して、配置した全てのピンを子オブジェクトにします。
名前は「SetPinPosition」にします。ピン全体を操作出来るようにするためです。
新しくボールプレハブを作成する
ダウンロードしたアセットからボールをシーンビューに配置して、Scaleをそれぞれ0.1にします。
Sphere ColliderとRigidbodyコンポーネントをアタッチして、コライダーのRadiusを1.5にします。
1.5にすると、丁度ボールがコライダに収まります。
設定が完了したら、新しくプレハブ化しておきます。
ボールを投げる位置を作る
空のオブジェクトを作成して名前を「ThrowPosition」にします。
この位置から、仮にボールを投げるようにします。
ボールを投げるスクリプトを作成する
新規スクリプト「Throw」を作成します。
とりあえず、マウスの左クリックでボールを投げるようにします。ボールの勢いは、インスペクタから設定できるようにします。
保存したらThrowPositionにスクリプトをアタッチします。
インスペクタに先ほど作成したボールプレハブの設定と、スピードやショットカウントの値を入力したら、ゲームを実行してみます。
カメラの位置は、ThrowPositionのやや後ろに来るように配置しています。