Unity3D:获取GameObject的size

1.Renderer:渲染尺寸,受缩放影响,受旋转影响。3D图像投影在2D平面上的尺寸

 

2.MeshFilter:原始尺寸,不受缩放影响

计算真实的size:需要乘以localScale

如:gameObject.GetComponent<MeshFilter>().mesh.bounds.size.x*gameObject.transform.localScale.x

 

3.Collider:碰撞体尺寸,受缩放影响,受旋转影响。3D图像投影在2D平面上的尺寸

 

    void onClick_scale_percent(){
//        stlObjects [0].clingToBottom ();

        GameObject cube = GameObject.CreatePrimitive (PrimitiveType.Cube);
        Debug.LogError ("cube Renderer size:"+cube.GetComponent<Renderer>().bounds.size);//default:1,1,1
        Debug.LogError ("cube MeshFilter size:"+cube.GetComponent<MeshFilter>().mesh.bounds.size);
        Debug.LogError ("cube collider size:"+cube.GetComponent<Collider>().bounds.size);

        cube.transform.parent = go_printCuber.transform;
        cube.transform.localPosition = new Vector3 (0, 0, 0);
        cube.transform.localScale = new Vector3 (0.5f, 0.5f, 0.5f);

        cube.transform.Rotate (0, 45, 0);

        Debug.LogError ("-------------------");
        Debug.LogError ("cube Renderer size:"+cube.GetComponent<Renderer>().bounds.size);
        Debug.LogError ("cube MeshFilter size:"+cube.GetComponent<MeshFilter>().mesh.bounds.size);
        Debug.LogError ("cube collider size:"+cube.GetComponent<Collider>().bounds.size);

        Debug.LogError ("cube localScale:"+cube.transform.localScale);//default:1,1,1
    }

 

 


    

转载于:https://www.cnblogs.com/makebetter/p/6734763.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值