InverseTransformDirection
parent为Cube
child为Cube(2)
2、parent的属性:
Cube(1)的属性:
3、代码:
public GameObject parent;
public GameObject child;
public void Start()
{
UIEventListener.Get(this.gameObject).onClick = OnClickXXX;
}
public void OnClickXXX(GameObject go)
{
Debug.LogError(child.transform.forward); //child的世界正方向
Debug.LogError(parent.transform.InverseTransformDirection(child.transform.forward)); //child在parent的local正方向
//计算child和parent的夹角,利用local正方向
Vector3 v1 = parent.transform.InverseTransformDirection(parent.transform.forward); //parent在parent的正方向,这里是自己,应该是0
Vector3 v2 = parent.transform.InverseTransformDirection(child.transform.forward); //child在parent的local正方向
Debug.LogError(Vector3.Angle(v1, v2)); //利用local的方向求夹角。
//计算child和parent的夹角,利用world正方向
Debug.LogError(Vector3.Angle(parent.transform.forward, child.transform.forward)); //利用world的求夹角。
}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
4、输出:
版权声明:本文为博主原创文章,未经博主允许不得转载。