2つのオブジェクトの中間地点を割り出し、そこへ移動するしくみを作ってみましょう。
Cube(プレーヤー)を動かします。
CubeとCylinderの中間点に、Sphereが移動し続けます。
関連記事:2点間にカメラを向けて全体表示
Cube(プレーヤー)の移動
Cube、Cylinder、Sphereを作成します。
Spereに色をつけ、配置を変えます。
まずはCubeを動かせるようにしましょう。
CubeMove.csを作成し、Cubeに追加します。
CubeMove.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CubeMove : MonoBehaviour { void Update() { float dx = Input.GetAxis("Horizontal") * Time.deltaTime * 3; float dz = Input.GetAxis("Vertical") * Time.deltaTime * 3; transform.position = new Vector3 ( transform.position.x + dx, 0, transform.position.z + dz ); } } |
十字キー操作で、Cubeを動かすことができるようになります。
2つのオブジェクトの中間を取得
SpherePos.csを作成し、Sphereに追加します。
SpherePos.csを記述します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpherePos : MonoBehaviour { public GameObject cube; public GameObject cylinder; void Update(){ this.transform.position = (cube.transform.position + cylinder.transform.position) / 2; } } |
キューブ、シリンダーのフィールドが出来ていますので、ここにそれぞれ、CubeとCylinderを入れます。
プレイして、Cubeを動かしてみましょう。
2つのオブジェクトの距離を2で割り、中心点を算出。
Sphereは、CubeとCylinderの中心に移動し続けます。
関連記事:2点間にカメラを向けて全体表示