Thumbnails for workfiles

I had a discussion with an artist recently who mentioned a feature from another pipeline that he used recently that he really liked, thumbnails for workfiles. Basically the work file browser could show these thumbnails as you click a particular workfile.

Where to show?

So basically in the workfiles tool it would show a thumbnail top right. The thumbnail could be e.g. saved next to the workfile with the same name but with extension .jpg and that would then show in the UI.

Top right here it would then show a thumbnail - that’s some sweet sauce!

When to generate or what thumbnail to show?

The thumbnails could e.g. be generated on workfile save with a little “capture screenshot” tool or maybe even a dedicated capture from the host (e.g. single frame playblast or M3DView api image save in Maya).

Another approach could also be that during publishing when e.g. a review is published that it could take maybe a first frame of it as a thumbnail.

We could even say that IF a workfile had been involved with a publish that on the right hand side it could show the outputs of that workfile and if any of those publishes had thumbnails that it could pick show any of those thumbnails. That’d be quite perfect?


Would love to hear thoughts on this!

Especially on implementation with regards to where the thumbnail should be and how it should be linked? (Also with keeping an eye on potentially remote artists connected with site sync, etc?)

I think this might be too obstructing to an artists workflow, but I like using any available thumbnails from the publishes.

I am all for it. We were discussing it here multiple times, and with the simple capture tool it would cover most of the cases even without per host implementation of some auto-capture functionality.

Having thought about this some more and also checking back in with the original artist who mentioned he loved the feature in another pipeline I think it’s not about having a thumbnail PER workfile version in particular but much more about just quickly being able to see the thumbnail of a task/workfile.

So that’d mean we could just find any reviews/renders or alike that came from the particular task and be pretty close what we’d need?

Maybe the first step is just showing a thumbnail at all for a particular asset as soon as you click it?

Mockup:

1 Like

There is some thumbnail logic for Ftrack that makes sure the shots thumbnail is updated, so maybe we can reuse that?

1 Like

This could be probably done very quickly. We already do something like that in the loader, where we show the latest published thumbnail when asset is selected.

Yup, that’s what I was thinking. However, it might be tricky to decide which subset’s thumbnail you might want to show?

I wouldn’t make it too clever and pick the latest published thumbnail from any subset published from the given task. We could technically crawl back up the links and find the subsets actually produced from the workfile and just pick the latest of those.

Alternatively

  1. find latest review or render family subset published from this workfile
  2. find any other latest subset published from this workfiles
  3. find latest review or render family subset published from this folder (asset in OP)
  4. find any other latest subset published from this folder (asset in OP)

Of course if the workfiles has explicit thumbnails, use that.

1 Like

I agree that thumbnails are handy and would be lovely to have.

I have just to add something to it. I do prefer to have it for each workfile from simple reasons…it should be useful not for show of. So it should help artist to locate the proper workfile with visual aid and thats it. The only purpose.

So Im against single thumbnail for shot only (from latest or selected version) its just bells and whistles not being really too much of a use.

Here is how it is in blender and can tremendously help to find the right workfile visually (not needing to read the names) We should strive for this. Could be just viewport capture of active viewport. So artist would be aware that the workfile saves with whatever he has on the screen. So he could benefit from it and set it to his liking communicating the content of it for later search.

This screenshot just shows how well it communicates the content of the particular workfile. Not speaking of the layout.

I like the mockup one @BigRoy made…thumbnail being on the right “details” pane is pretty fine.

Did some more thinking and also testing out ideas and this is definitely true - you want to see the state per workfile, not for the asset/shot.

I actually even want the thumbnails laid out visually per workfile directly instead of only the right-hand side thumbnail. So preferably the list would also show the thumbnails.

I was thinking of prototyping it for now by just saving a {workfile}_thumbnail.jpg file or alike next to the workfiles, and when found that then the UIs would show it. It’d be the most trivial implementation that’d not require any database access, etc. It’d not be site-sync ready but I believe actual (non-published) workfiles aren’t anyways so I guess it’s a good start since it’s the easiest.

Then upon save for each DCC a screenshot would just be automatically grabbed from the current active viewport, e.g.:

# psuedocode (tested now)
import maya.api.OpenMayaUI as omui
import maya.api.OpenMaya as om
view = omui.M3dView.active3dView()
image = om.MImage()
view.readColorBuffer(image, True)
image.writeToFile(f"{workfile}_thumbnail.png", "png")

# jpg actually preserves viewport background color so might be better
image.writeToFile(f"{workfile}_thumbnail.jpg", "jpg")

So that however the user saves there’s no required user interaction for it.

1 Like

I set up a quick draft prototype for the workfile thumbnail per workfile version for Maya + workfiles tool in this PR: Show thumbnails in Workfiles tool by BigRoy ¡ Pull Request #5425 ¡ ynput/OpenPype ¡ GitHub

2 Likes

I think it’s worth mentioning that there’s a PR to extract thumbnail for Houdini workfiles.

There is similar kind of approach already in Hiero. Workfile product type is grabbing screenshot of timeline.
But as you can see, it is not really ideal image ratio.

But I am assuming that for example in Nuke I would expect to see screengrab of full root node tree, rather then Viewer. But ideally both together.