transform.InverseTransformPointについて

普通の引き算「target.position – transform.position」と違うのはローカル軸を基準にした位置を返す。
普通の引き算はワールド座標を基準にしている。


using UnityEngine;
using System.Collections;

public class MyMathfAtan2 :
MonoBehaviour {
	public
		Transform target;
	void Update() {

		Vector3 relative = transform.InverseTransformPoint(target.position);

		print ("relative " + relative);
		print (target.position - transform.position);

		float angle =
			Mathf.Atan2(relative.x, relative.z) *
				Mathf.Rad2Deg;
		print (angle);
//		transform.Rotate(0, angle, 0);
	}
}

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です