/// <summary> /// Modifies the mesh. /// </summary> public override void ModifyMesh(VertexHelper vh) { if (!isActiveAndEnabled) { return; } bool isText = isTMPro || graphic is Text; float normalizedIndex = ptex.GetNormalizedIndex(this); // rect. var tex = transitionTexture; var aspectRatio = m_KeepAspectRatio && tex ? ((float)tex.width) / tex.height : -1; Rect rect = m_EffectArea.GetEffectArea(vh, rectTransform.rect, aspectRatio); // Set prameters to vertex. UIVertex vertex = default(UIVertex); float x, y; int count = vh.currentVertCount; for (int i = 0; i < count; i++) { vh.PopulateUIVertex(ref vertex, i); m_EffectArea.GetPositionFactor(i, rect, vertex.position, isText, isTMPro, out x, out y); vertex.uv0 = new Vector2( Packer.ToFloat(vertex.uv0.x, vertex.uv0.y), Packer.ToFloat(x, y, normalizedIndex) ); vh.SetUIVertex(vertex, i); } }