3D空間の中で、クリックした位置に向かって、オブジェクトをゆっくり移動させるしくみを作ります。
クリックされた座標へ、Cubeが回転せずにまっすぐ動いていきます。
「~へ行く」の一つの方法として、使えるプログラムです。
関連記事:
指定した座標(目的地点)へ行く
ターゲットに向かって直線的に進む方法
3D空間でプレーヤーを追いかけるオブジェクト
ターゲットに向かってボールをぶつける
約1秒かけてオブジェクトをゆっくり移動させる
自機狙い(プレーヤーに向けた)発射 -3Dゲーム
マウスカーソルを追いかけるオブジェクト
特定の座標で移動を止める
クリック位置によって飛ばす方向を変える
クリックした位置のX座標に向けて横移動する
マウスカーソルの方へ向ける
行き帰りできるムービングウォーク
2つの座標(目的地)へ行く
触れると2地点を行き来するオブジェクト
クリックのたびに左右移動を切り替える
クリックした位置にオブジェクト移動
空のオブジェクトを作成します。
MousePoint.csを作成して、GameObject(空のオブジェクト)に追加します。
MousePoint.csを記述しましょう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class MousePoint : MonoBehaviour { private Vector3 mousePosition; private Vector3 objPosition; void Update() { if (Input.GetMouseButtonDown(0)) { mousePosition = Input.mousePosition; mousePosition.z = 10.0f; objPosition = Camera.main.ScreenToWorldPoint(mousePosition); this.transform.position = objPosition; } } } |
クリック位置に向かうオブジェクト
続いて、マウスクリックした座標に向かわせるオブジェクトを作成しましょう。
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 23 24 25 26 27 28 29 30 31 32 33 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { public GameObject target; public float speed; public bool isTouch; void Start () { speed = 0.1f; target = GameObject.Find("GameObject"); bool isTouch = false; } private void OnCollisionEnter(Collision collision) { if (collision.gameObject.name == "GameObject" ) { bool isTouch = true; } } void Update() { if(isTouch == false) { transform.position = Vector3.MoveTowards(transform.position,target.transform.position,speed); } } } |
ゲームプレイしてみましょう。
当たり判定をBoolで条件分岐させ、Update()の中で移動のプログラムを書いています。
Z方向は固定となりますが、空間上クリックしたところに向かって、オブジェクトが動いていきます。
関連記事:
指定した座標(目的地点)へ行く
ターゲットに向かって直線的に進む方法
3D空間でプレーヤーを追いかけるオブジェクト
ターゲットに向かってボールをぶつける
約1秒かけてオブジェクトをゆっくり移動させる
自機狙い(プレーヤーに向けた)発射 -3Dゲーム
マウスカーソルを追いかけるオブジェクト
特定の座標で移動を止める
クリック位置によって飛ばす方向を変える
クリックした位置のX座標に向けて横移動する
マウスカーソルの方へ向ける
行き帰りできるムービングウォーク
2つの座標(目的地)へ行く
触れると2地点を行き来するオブジェクト
クリックのたびに左右移動を切り替える