オブジェクトに当たったとき、特定の場所にジャンプできるしくみを作ってみましょう。

このように、ターゲットにぶつかれば、別の座標に移動します。
関連記事:
特定の座標で移動を止める
4つの座標で回転して四角形に動く
触れると他の位置へワープする
オブジェクトの用意
CubeオブジェクトをGoal、SphereオブジェクトをPlayerと名前変更しました。
床としてPlaneオブジェクトも作成して、少しサイズを伸ばしておきます。

それぞれのオブジェクトには、わかりやすい色をつけています。
Goalに、Goalという名前でタグをつけましょう。

Playerにはリジッドボディを追加しています。

ぶつかれば移動するスクリプト
Playerに、PlayerMove.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 34 | using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerMove : MonoBehaviour {     public float speed;     void Start()     {         speed = 5;         transform.position = new Vector3(0, 0.5f ,-8);     }     void Update()     {         float dx = Input.GetAxis("Horizontal") * Time.deltaTime * speed;         float dz = Input.GetAxis("Vertical") * Time.deltaTime * speed;         transform.position = new Vector3 (             transform.position.x + dx, 0.5f, transform.position.z + dz             );     }     void OnTriggerEnter(Collider other)     {         if(other.gameObject.tag == "Goal")         {            Destroy(other.gameObject);            transform.position = new Vector3(0, 0.5f ,8);         }     } } | 
スタート時の座標、Goalに触れたときの座標をそれぞれ設定しています。
プレイしてみましょう。

 
	   
         
         
           
         
           
        