Script idea pitch ! Need your opinion!

Hello !
Today I got a new script idea and I wanted your opinion on it of it was worth making it and worth to put on a portfolio.

Pitch : Clean check before exporting for Maya

The script is divided in 2 parts.
The first part is supposed to be used with the one that is in charge of keeping export clean. Using this part of the script, they are able to personnalize what will be checked or not.
Things like naming conventions, pivot point of a mesh to 0 0 0, frozen transforms, maximum polycount respected, etc…
Once this is done, the user can generate a maya script automatically that they can distribute to the artists. Even better, a pdf with the instruction is automatically generated as well

The second part of the script is for the artist and is the one generated by the first part. So it basically a button on a shelve that you click before your export and tell the artist if everything is clean before exporting. If it is not, the user can click a button to quickly fix the issue or it can close the tool and manually fix the issue.

What do you think ?

This is a very fundamental tool – if you get it right it becomes a fundamental backbone for your pipeline.

Where it gets a bit complicated is the fact that your list of do’s and don’ts will evolve over time, so you want to design it in a way which makes it easy to expand over time… you’ll want to set it up so that the tests are independent of each other and that adding or removing the tests is easy.

A really good pattern for this kind of thing is set up up like a checklist. At export time you run through the whole list, showing users what worked and what didn’t, like a checklist. It helps if your GUI adds some explanatory text telling artist what the problem is and suggesting how to fix it – you can also add links to tools that help with the problems you’ve seen. It’s generally NOT a good idea to automatic fixups without user permission because that risks the user losing work if something goes wrong.

Usually what I’d do is a gui which only appears when one or more checklist items fail: showing the whole list helps to educate users about the right behaviors. Don’t make it optional, just make it part of the export process proper. Stop the export before it starts rather than expecting the user to make two separate choices (to check and then to export, potentially after they skipped the warning from the checker).

I’d recommend learning a bit about how to use Python decorators to auto-register new checks – that makes it easy to add new checks when you discover new needs. Keep that separate from the GUI so adding a new check is just popping a decorator on a function which returns a true or false, and maybe putting the help text into a docstring that can be used to populate the description in your GUI.

If you are thinking about making this opt-in, i’d reconsider. If you make it mandatory the pressure on you to make it bulletproof will be intense – but if you make it optional, artists will naturally tend to skip it any time they don’t think it’ behaving and after a few months your exports will be just as bad as if you had not written the system at all.

related; Dcc Kit package Critiques: some Python3 modules for clunky 3D asset pipeline - #11 by Il_Berna

2 Likes