Unityで「簡単な3Dコイン落としゲーム」を作成するPart2を進めていきます。今回は「コインを押し出す土台」を実装していきます。
はじめに
前回の続きのPart2を作成していきます。Part1は下記から。
Part1ではコインの生成を作成しました。
作成開始
Part2では「コインを押し出す土台」を実装していきます。
土台を作成
Hierarchyで「CreateEmpty」を選択、空オブジェクトを追加します。名前をBaseとします。

Baseの配下に「3DObject」→「Cube」を追加します。名前を「Ground」に変更して、スケールを変更します。コインを落とす動かない土台になります。

Groundをコピーして名前をPusherに変更、Positionを変更します。こちらは動く土台にしていきます。

カメラの位置を変更して、ゲーム画面の位置を好きな位置にします。

マテリアルを追加してPusherの色を変更します。

スクリプトを変更
スクリプトを下記に変更します。土台を動かしています。
using UnityEngine; public class GameManager : MonoBehaviour { [SerializeField] private GameObject CoinPrefab; [SerializeField] private GameObject Pusher; [SerializeField] private float moveSpeed; private int direction = 1; void Update() { if (Input.GetMouseButtonDown(0)) { Instantiate(CoinPrefab, transform.position, transform.rotation); } } private void FixedUpdate() { Pusher.transform.position = new Vector3(0,1, Pusher.transform.position.z + moveSpeed * Time.fixedDeltaTime * direction); if (Pusher.transform.position.z >= 3) direction = -1; if (Pusher.transform.position.z <= 0) direction = 1; } }
土台を動かすのは下記記事が参考になります。
パラメータをセットします。

下記のように土台が動けばOKです。
