Renamer Tool

Third Pass

Third Pass

Problem

At the time of creating this tool the environment artist on my team had always spent tedious amounts of time renaming texture maps once they were imported into Unreal Engine 4. The specific problem is each texture name would have some part that is similar or not needed but each could only be edited individually. As it turned out this was a time sink that all artists on the team had.

Solution

At the the time the solution was to create a single executable tool that could be used to rename multiple files in one go. The tool was made with PyQt and Python. The tool works by dragging and dropping files into the application window. These files are then placed in a list view so changes can be previewed before being committed. The user has the option to find text within the names and then replace that text with nothing or something.

Feedback

After the initial pass on the renamer tool I got various and similar feedback from the artist that would use it. The biggest request was the ability to select and copy text from the name in the preview list. Other feedback consisted of changing the color and some design considerations with the buttons. Particularly the artists wanted a look similar to Photoshops dark theme.

Process

renamerscrap.jpg

The creation of the renamer began on paper. This wasn’t just to do a rough sketch of some gui but to get a better idea of what I might need to code. I say might because I often abandon most of the ideas I start with and pivot to different ideas. This usually means the sketches and notes I have quickly devolve into nonsense. Useful nonsense!

Code

Github Link to view the code.

The code itself is broken into different py files all with their own classes. In fact the gui_helper.py has many classes that inherit from QWidget since I’m not using QT Designer to make the gui. As one would guess the gui_helper.py handles anything involving the gui, the file_helper.py handles anything involving file management, the renamer.py contains the main function used to kick everything off, the style_holder.py holds the css information used for the gui, and the pyinstaller_renamer.bat creates the executable for the application.

First Pass

First Pass

Second Pass… If your curious those are builds for a Qt application made with C++

Second Pass… If your curious those are builds for a Qt application made with C++