Improving metadata burning
Metadata burning is writing information onto a rendered image, such as the frame numer, the camera name, etc. This is invaluable for previz/animatics : when doing back and forths with your client, they can naturally ask you to "cut shot 6 at frame 223" -they know because it's written on the image. Of course this is also useful to the artist, for instance when scrubbing through a playblast.
The problem : Blender allows all that, but in an inflexible way.
- You can't tell it where the information should be displayed, or in what order.
You may want to burn info on top of an image that already had metadata burned onto it -for instance a global frame number for an edit that already has per-shot frame number. In this case, the new metadata will be overlaid onto the old, and will be obviously unreadable. This is actually the one problem that made me write this proposal.
- The different pieces of information you can choose to show are hardcoded -and sometimes you may want to display a specific property from your Blender scene, such as an animated exposure value or some other thing.
To solve these two problems I would like to suggest moving to an expression-based system, where the user can simply write any property from the Blender scene into a text block, and give XY coordinates for placing the information onto the picture (top-left, bottom-right, or exactly in the middle, get crazy!). It would be modular, with user-defined text blocks with each their own placement and justification settings : this would allow aligning information to the right hand side of the rendered image as well. In the mockup, "positionX" and "positionY" are to be understood as "distance from the edge".
Common variables, such as the ones already available in Blender, would be informed to the user in a collapsable panel : %frame, %rendertime, etc.
I guess this could be made to use Python string formatting for ease of use. I left the % sign in my mockup because that's what other renderers use. Also, there are alternatives apparently : Link to stackexchange -but that's more of a workaround, not easy to use and doesn't solve the placement problem.
What do you think ? would that be useful to anyone else ?
Erratum, "Justification" should be "alignement"
2 Comments
Alternatively (or rather in addition, both sound awesome to me), I'd like the text object to support expressions like
#frame, and new ones like#timeStamp,#timeStampFrame,#date,#cameraName,#sceneName,#userName,#cpu,#gpu,#station, and so on...Thus allowing to really create your own data burn in with a total customize-ability.
Imagine if you could just write this in edit mode: {attachment expressions}
And it would result into this: {attachment results}
* @-L0Lock- * love the idea. Hopefully geometry nodes bring some love to text objects and allows for that too.