他の物体にぶつかると、特定の座標へワープするしくみを作ってみましょう。
Cubeを操作して、Sphereに触れた瞬間、指定した座標へ移動します。
関連記事:
指定した座標(目的地点)へ行く
Updateを使わずに特定の座標まで移動
移動先のシーンで座標を指定する
特定の座標で移動を止める
ぶつかれば指定座標に移動するしくみ
キーを押すと特定の位置にワープ
2つのオブジェクトを順繰りで動かす
行き帰りできるムービングウォーク
別オブジェクトの位置を取得する
2つの座標(目的地)へ行く
触れると2地点を行き来するオブジェクト
斜め上に向けて自動移動
取れば次のオブジェクトが出現する
ぶつかると指定した位置へ移動
Plane、Cube、Sphereを作成します。
CubeとSphereは地上に出して、少し距離を取ります。
Cubeにリジッドボディを追加します。
CubeWarp.csを作成し、Cubeに追加します。
CubeWarp.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 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeWarp : MonoBehaviour { private float speed = 3.0f; void Update() { float moveX = Input.GetAxis("Horizontal") * Time.deltaTime * speed; float moveZ = Input.GetAxis("Vertical") * Time.deltaTime * speed; transform.position = new Vector3 ( transform.position.x + moveX, transform.position.y, transform.position.z + moveZ ); } void OnCollisionEnter(Collision other) { if (other.gameObject.name == "Sphere" ) { this.transform.position = new Vector3(4.0f, 0.5f, 4.0f); } } } |
ゲームプレイして、十字キーでCubeを動かしてみましょう。
Sphereに触れれば、指定の位置までワープします。
関連記事:
指定した座標(目的地点)へ行く
Updateを使わずに特定の座標まで移動
移動先のシーンで座標を指定する
特定の座標で移動を止める
ぶつかれば指定座標に移動するしくみ
キーを押すと特定の位置にワープ
2つのオブジェクトを順繰りで動かす
行き帰りできるムービングウォーク
別オブジェクトの位置を取得する
2つの座標(目的地)へ行く
触れると2地点を行き来するオブジェクト
斜め上に向けて自動移動
取れば次のオブジェクトが出現する