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です。


