Example #1
0
        public OrientedBox GetOrientedBox(Matrix4x4 transformMatrix)
        {
            if (_mesh == null)
            {
                return(OrientedBox.GetInvalid());
            }

            OrientedBox orientedBox = new OrientedBox(GetBox());

            orientedBox.Transform(transformMatrix);

            return(orientedBox);
        }
        public static OrientedBox GetMeshModelSpaceOrientedBox(this GameObject gameObject)
        {
            Mesh mesh = gameObject.GetMeshFromMeshFilter();

            if (mesh != null)
            {
                return(new OrientedBox(new Box(mesh.bounds), Quaternion.identity));
            }

            mesh = gameObject.GetMeshFromSkinnedMeshRenderer();
            //if (mesh != null) return new OrientedBox(new Box(gameObject.GetComponent<SkinnedMeshRenderer>().localBounds), Quaternion.identity);
            if (mesh != null)
            {
                return(new OrientedBox(new Box(mesh.bounds), Quaternion.identity));
            }

            return(OrientedBox.GetInvalid());
        }
        public static OrientedBox GetMeshWorldOrientedBox(this GameObject gameObject)
        {
            Mesh mesh = gameObject.GetMeshFromMeshFilter();

            if (mesh != null)
            {
                return(new OrientedBox(new Box(mesh.bounds), gameObject.transform));
            }

            mesh = gameObject.GetMeshFromSkinnedMeshRenderer();
            //if (mesh != null) return new OrientedBox(new Box(gameObject.GetComponent<SkinnedMeshRenderer>().localBounds), gameObject.transform);
            if (mesh != null)
            {
                return(new OrientedBox(new Box(mesh.bounds), gameObject.transform));
            }

            return(OrientedBox.GetInvalid());
        }