クリックしたところに、プレハブを出現させる仕組みをつくってみましょう。
ScreenToWorldPointを使って、スクリーン座標をワールド座標に変換。
左クリックした位置に、Sphereのプレハブを生成します。
関連記事:
クリックした空間にオブジェクトを置く
AddForceでボールを前へ動かす
クリックした場所からボールを発射する
クリックした位置にオブジェクトを生成(Ray)
定位置からボールを発射させるしくみ
連射防止のしくみ
ターゲットに向かってボールをぶつける
ボールの色を次々と変化させる
Instantiateでオブジェクトの角度を変える
ScreenToWorldPointでワールド座標に変換
まずはプレハブを準備しましょう。
Sphereオブジェクトを作成して、カラーをつけました。
Sphereをプレハブ化します。
Sphereの元データは削除しましょう。
続いて、クリックした位置にプレハブ生成できるスクリプトをつくります。
空のオブジェクトを作成します。
ClickSphere.csを作成し、GameObject(空のオブジェクト)に追加しましょう。
ClickSphere.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class ClickSphere : MonoBehaviour { public GameObject prefab; private Vector3 mousePosition; void Update() { if (Input.GetMouseButtonDown(0)) { mousePosition = Input.mousePosition; mousePosition.z = 10.0f; Instantiate(prefab, Camera.main.ScreenToWorldPoint(mousePosition),Quaternion.identity); } } } |
プレハブのフィールドができているので、ここにSphereのプレハブデータを入れます。
ゲームプレイしてみましょう。
MainCameraのScreenToWorldPoint()を使って、ワールド座標に変換。
マウスクリックした位置を検出して、Prefabを出現させています。
関連記事:
クリックした空間にオブジェクトを置く
AddForceでボールを前へ動かす
クリックした場所からボールを発射する
クリックした位置にオブジェクトを生成(Ray)
定位置からボールを発射させるしくみ
連射防止のしくみ
ターゲットに向かってボールをぶつける
ボールの色を次々と変化させる
Instantiateでオブジェクトの角度を変える