プレーヤーの下方向に、Prefabオブジェクトを生成できるように、スクリプトを作成してみましょう。
十字キーでCubeを操作し、スペースキーを押せば、Sphereオブジェクトが出現します。
関連記事:
前方にオブジェクトを置く
Prefabの座標をランダムにして生成
オブジェクトを真上に打ち上げる
スペースキーでオブジェクトを落とす
Sphereを作成して、リジッドボディを追加します。
Sphereをプロジェクトビューにドラッグ&ドロップして、プレハブ化します。
Sphereの元データは削除しておきます。
Cubeを作成します。
CubeMove.csを作成して、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { [SerializeField] GameObject prefab; void Update() { float dx = Input.GetAxis("Horizontal") * Time.deltaTime * 3.0f; float dz = Input.GetAxis("Vertical") * Time.deltaTime * 3.0f; transform.position = new Vector3 ( transform.position.x + dx, 3.0f, transform.position.z + dz ); if(Input.GetKeyDown("space")) { Instantiate(prefab, new Vector3(transform.position.x, transform.position.y-1.0f, transform.position.z), Quaternion.identity); } } } |
プレハブのフィールドに、Sphereのプレハブデータを入れます。
ゲームプレイしてみましょう。
Cubeを操作しながら、Spaceキーを押すと、真下にSphereのプレハブが出現します。