【初心者Unity】5分で考えたゲームを作る~ブロックシューター②~
▶
【Unity】3Dアクションゲームを作ろう!#7 ステージの作成(Skybox・落下判定)
▶
【Unity】3Dアクションゲームを作ろう!#8 ステージの作成(スイッチ・扉)
▶
【Unity】3Dアクションゲームを作ろう!#9 プレイヤーのHP管理
▶
【初心者Unity】JsonUtilityクラスでJSONを扱う方法
▶
【初心者Unity】スクリプトからコンポーネントを追加する方法
5分で考えたゲームを作る~ブロックシューター②~
こんな感じのシンプルなゲームを作ってみるの第2回です。
今回はCubeをはじくギミック(フリッパー)と、左右に操作できるスライダーを作成していきます。
前回の記事はこちら↓
5分で考えたゲームを作る~ブロックシューター①~
このゲーム製作を通じて、学べるUnityの技術の一例
・ゲームオブジェクトの自動生成
・アニメーションの作成
・物理マテリアルの使い方
・キー入力の取得
・UI(Textの使い方)
・接触判定の取り方
■フリッパーの作成
落ちてきたCubeをはじくフリッパーを作成します。
Hierarchyにて、右クリック → 3DObject → Cube を選択。名前は「Flipper 」とします。
・下図を参考にTransformの値を変更しましょう。
・Animatorコンポーネントを追加しましょう。
次に、Animationウィンドウを開きます。
「Flipper」オブジェクトが選択されている状態で、下図のCreateボタンを押しましょう。
アニメーションクリップが作成されるので、名前を「Flipper」としましょう。
作成されたアニメーションクリップにプロパティを追加します。
Add Property → Transform → Rotation を選択して、回転のプロパティを追加します。
フレームにキーを追加します。(何秒の時点でどんな角度かを指定する)
・0:00のRotation.z を-10にします。
・0:40のRotation.z を-50にします。
・0:60のRotation.z を再び-10にします。
アニメーションクリップが作成できたらシーンを再生してみましょう。
フリッパーが周期的にアニメーションしていればOKです。
動きがぎこちなかったり、つなぎ目に違和感がある場合は各フレームのキーの値に間違いがないか確認してください。
■スライダーの作成
Cubeを右側まで運ぶためのスライダーを作成します。
Hierarchyにて、右クリック → 3DObject → Cube を選択。名前は「Slider」とします。
・下図を参考にTransformの値を変更しましょう。
■スライダー操作用のスクリプトを作成
Projectビューにて、右クリック → Create → C# Script を選択し、名前は「SliderController」とします。
作成したら以下を記述してみましょう。(コメントは書かなくてもOK)
using UnityEngine; public class SliderController : MonoBehaviour { int speed = 20; void Update() { // 水平方向の入力値(-1 ~ 1) float x = Input.GetAxis("Horizontal"); // スライダーのX座標を更新 transform.position += new Vector3(speed * x, 0, 0) * Time.deltaTime; } }
記述できたら先ほど作成したSliderオブジェクトにアタッチしましょう。
参考:【初心者Unity】矢印キーを使ってオブジェクトを操作しよう!(GetAxis)
■動作確認
ここまで作成したものを動作確認してみましょう。
落ちてきたCubeをスライダーで反発できたらOKです。