Transform.InverseTransformDirection

InverseTransformDirection

1、parent和child的结构: 

这里写图片描述 
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、输出: 
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值