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()); }