public void Setup() { mesh = ShapeGenerator.CreateShape(ShapeType.Sprite); face = mesh.faces.First(); verticalEdge = face.edgesInternal[0]; horizontalEdge = face.edgesInternal[1]; // Verify that UVs are actually rotated Assume.That(face.manualUV, Is.EqualTo(false)); }
static float GetEdgeRotation(ProBuilderMesh mesh, ProBuilder.Edge edge) { var dir = mesh.texturesInternal[edge.b] - mesh.texturesInternal[edge.a]; var angle = Vector2.Angle(Vector2.up, dir); if (Vector2.Dot(Vector2.right, dir) < 0) { angle = 360f - angle; } return(angle); }
static float GetEdgeScale(ProBuilderMesh mesh, ProBuilder.Edge edge) { return(Vector2.Distance(mesh.texturesInternal[edge.b], mesh.texturesInternal[edge.a])); }