Edit: Here is a rewrite of the idea for a Corona Custom Renderstamp. Run the script as whatever (prerender/startup/manually).
To use/test:
Create a new scene
Add a daylight system
Add a frame tag on a frame
Use for example the following stamp definition:“3ds Max §xv | ForestPack v§pfp | §sft | %v/%n | Time: %pt | Passes: %pp/§rpl | Noise: %pe (§rnl) | Daylight: §ssd • §ssth” in Render setup → System → Renderstamp
Close Render Setup
Please read the header of the script or type:
ccr.help()
in the maxscript listener to see all available tokens and scene overrides.
If you want to add your own tokens:
define the token name and descriptive text in struct “tokens”
add a function in the case section of “getTokenValue()” for the new token which returns the value as string to use for it
To test/evaluate all tokens use
ccr.test()
in the maxscript listener.
Good Luck
Original post:
I was searching for a simple option to have framebased arbitrary text and other information inside the corona renderstamp. Time tags (also called “frame tags”) turned out to be the simplest way to do.
Any time tag of the current frame can be put in front of the stamp, so that if you work with animated cameras for stills (e.g. every fifth frame a shot), you can name them by simply adding a tag (see screenshot).
At the moment we cannot setup target noise level and target passes in the renderstamp by UI. The script additionally automatically adds target noise level and target passes to the tokens “%pp” and “%pe” by default when they are used in the render stamp setup string.
You can add your own features, the script is Backburner-proof (it logs into max.log for this reason, to see what’s going on) and works also for the CInfo_Renderstamp render element with switched off stamp in render setup (a related bug was fixed recently, so you need at least a current Corona 2.0 daily for that special case).
To use/test:
Put the script into Pre-Render section of Render Setup → Scripts
Yes! I second that. That would be very useful
For now I’ve made a animated sequence with dates, times etc. shifting along with the sun, but it only works for those times and dates.
Any kind of automated time & date stamp (following the sun) would be a great feature, if possible
Hmm, for (sun)light analysis purpose I scripted a camera HUD (text aligned and linked to the camera) quite some time ago (still MR scene because the sunlight is displayed so nicely in the viewport).
Good idea to put this in the corona renderstamp! I really have to look into that next time. As far as I can remember the only item which cannot be scripted (or easily scripted) was the date - the daylight system is somewhat obscure from maxscripts point of view.
You can animate a time stamp in editing software like AE as well btw.
Well, if you can live with setting the date by hand: no problem. As for the date, this one sums it up quite perfectly:
As an important side note, the .solar_date property for the Daylight/Sunlight system objects is nearly impossible to control via maxscript. Instead of the logical day/month/year controls shown in the 3ds max interface, the .solar_date property uses a single integer offset from the current date (yes, seriously), even though there is no effective way to get the current date in Maxscript. Without a doubt, this is the single most idiotic feature ever put in maxscript…period. Because of this limitation, you can consider the .solar_date property to be effectively inaccessible via maxscript.
I find myself googling this every year :-/ But attached for you is a quick modification which is able to print at least the solar time to the stamp, it uses the controller data from “Daylight001” by default (see top of script).
I’ve been thinking about this topic lately while putting some displacement related values manually (OMG!) in renderststamps (where I got unsure if I had entered the used values everywhere correctly). So I completely reworked the idea of a corona custom renderststamp. I wanted to turn it into something more “solid”, meaning
an easy to use solution without the need to change anything in a script
immediate feedback of changes
a script working as whatever type (prerender+Backburner/startup/manual)
something suitable to quickly extend
option to override stuff per scene/file
minimalistic UI
It turned out that it would be best done with no additional UI: By using custom tokens directly in the Corona renderstamp. The only requirement is, that the render setup window is closed. The benefit is a quite seamless integration.