GSOC 2023: UV Editor Improvements

Final Report - UV Editor Improvements

Project Summary

During this summer I worked on 3 features for the UV Editor:

  • Select Random
  • Adding a popup showing the number of UVs merged by the Merge by Distance operator
  • Edge Slide

Links to the pull requests for these features, which include demonstrations can be found in this previous post.
While the Select Random operator was not part of my initial proposal, after a discussion with my mentor, Campbell, at the beginning of the coding period we determined it to be a good starting point to get me acquainted with how UV editing works.

Progress

Select Random
This feature allows users to select or deselect random UV vertices, edges or faces. This can be modified by changing the seed and ratio for the selection, allowing users to select more or less. It also provides a random selection when sticky mode is disabled.

This feature proved to be more involved than initially expected and was the most challenging part of the summer for me. Overall, progress was slow at first and I lost some time due to my own misunderstandings, but I got a much better grasp of working with UVs as well as learnt the importance of good communication, so I’m glad I did it.

Merge by distance popup
This was a relatively small change, adding a popup that displays the number of UVs merged when using the Merge by Distance operator in the UV editor. This was quite simple, although it could be handled in a more elegant way.

Edge Slide
This feature allows users to slide UV edges towards adjacent vertices similar to the edge slide feature in the 3D viewport, making the editing of UV maps easier. The amount of sliding can be adjusted by changing the factor.

This feature took the longest, however, thanks to the guidance of my mentor, there was consistent progress and working on it was an enjoyable experience. He suggested I work on this feature in smaller functional chunks that I could build on, and that process worked well for me and made the project more manageable.

What still needs to be done

  • All features need to be cleaned up or modified according to feedback from pull requests before merging into main.
  • In the case of UV Edge Slide specifically, it will need to be integrated into the existing Edge Slide mode.

I will continue tweaking things during the coming Fall semester, and possibly making larger changes if time permits.

Acknowledgements

Thank you to Campbell for his continued guidance and patience throughout this project!

20 Likes