U3d中获取模型的大小

    xiaoxiao2021-03-25  123

    这是个学习摘录:

    在u3d中你可能会纠结于,一个有模型的游戏对象它到底是多大,如何才能得到它确切的大小值。

    废话不多说下给出它的求解过程:

     1、通过mesh.bounds.size 可以拿到模型对应三个轴向的大小

     2、但是模型是可以缩放的,所以真实的模型高度应当是原始高度乘以缩放系数才行。通过 transform.lossyScale可以拿到模型对应三个轴向的缩放系数。

    代码如下:

    /// <summary> /// 获取游戏对象的大小 /// </summary> /// <returns> /// The size. /// </returns> Vector3 GetObjectSize() { Vector3 realSize = Vector3.zero; Mesh mesh = GetComponent<MeshFilter>().mesh; if(mesh==null) { return realSize; } // 它模型网格的大小 Vector3 meshSize = mesh.bounds.size; // 它的放缩 Vector3 scale = transform.lossyScale; // 它在游戏中的实际大小 realSize = new Vector3(meshSize.x*scale.x, meshSize.y*scale.y, meshSize.z*scale.z); return realSize; }

    原文地址:http://blog.csdn.net/anyuanlzh/article/details/8233151

    转载请注明原文地址: https://ju.6miu.com/read-16146.html

    最新回复(0)