The idea is to create a tool that will present animation clips to the artist, based on certain search or filtering criteria. The artist can then select the clips they want and import them into Houdini, where the clips will be assigned to the correct character with looping frames set correctly.
I have coded the UI for the clip browser in Qt with PySide2.
I purposefully did not use QtCreator or QtDesigner, as I wanted to re-visit the grammar and syntax of Qt and Pyside.
The project is in the initial stages, and there is a long way to go. I have many techniques to learn and many hours of coding, testing and discovery ahead. Here, I present the first draft of the UI, which I can describe in more detail.
The artist will want to work down the UI. Starting with the Character selection comboBox. The comboBox will be populated with a list of all the characters in the current Houdini setup.
Next, the artist can select a Primary and/or Secondary actions. For example, a clip may have a character who is idle, but also waving a flag. In this case, 'idle' is the Primary Action, 'wavingFlag' is the Secondary Action.
The artist can also select a direction. Most of the time, this will be left as 'straight', but there may some turning clips, arcing clips or up ramp or down stairs clips.
A text search will also be available, where the artist can simply type a short description of the required action, or if they know the clip name, the text search can find all clips with that name.
Once the artist has filtered the library and found some clips, they will want to review and select some clips to use in their setup. The middle row of the UI contains a list of filtered clips ('clips found'). The artist can select one and the preview of the clip will load in the small viewport. This is a standard Houdini viewport and the artist can tumble the camera and focus on specific areas - the feet, for example. I will include the option to display a ground plane. The character playing the clip will be the character selected in the first comboBox.
If the artist likes the clip, the clip can be added to the 'basket'. Once the artist is happy with their clip selections, they can Check Out the basket. This will create a clip node, organised by Character, and also, if the clip is a looping clip, the in/out frames will be added to the agent's clipProperties node.
There is also an Export List option, for the artist to write out a CSV file containing all the details of the basket of clips.
The topic of clip naming is an important one. Consistency is obviously critical, but in many studios there are various naming conventions brought about by diverse departments, and differing ideas about how to do things properly. I am considering an extnesion to this too to allow Crowd Leads to find, collate, name and categorise all the clips for thier current show, to create a subset of the library, with custom meta-date applied to the clips to make them more easily searchable. I will update the tool, if I find this is a good idea.