Any of this possible in Blender? maybe as addons

  1. Ability to compare Slot 1 with Slot 2 on the same render window with a divider line that I can drag back and forth over the preview window to reveal image A / B. This would make comparing tweaks much better.

  2. Ability to fade in 3D objects (so not using compositor) like in Post Production when animating the opacity of a an image. I know I can animate the visibility tracks in an ON/OFF way and also can animate a material so it fades out but that includes the internals of the object in the fading (Z depth?) which I don’t want. What I want is the ability to fade in an object like in Premiere Pro, its either solid or semi transparent across the object without being able to see back faces.

  3. Enable or disable keys for scene layers during animation? I have a huge scene which is separated into layers for easier working on the models. However in animation there are layers that should not be visible at the start of the animation but become visible later on. e.g. I have a car that is on layer 2 that animates moving, I don’t want this car visible on frames 0 to 200 but to have it appear on frames 201 to 500. Currently I render frame ranges and when that is done I hide / unhide layers and start the render again. This is not very efficient and I would rather not animate thousands of camera/visibility tracks just to achieve what I want.

  4. Batch render. It is possible to render frame ranges of a scene, send that to a render queue then make changes to the scene and send that to a render queue. Once I have done this several times for different shots, layers and even different scenes I can tell Blender to run the queue which might have 6 animations in it. With this, later items in the queue could use images from previous items in the queue as materials, backgrounds etc. I can then let all these render over night and have 6 animations when I wake up.

Maybe some of this is already possible or that addons exist.

Thanks

  1. If you don’t want to use the materials, render it out first, fade it in compositing.
  2. Use the compositor with different render layers. Keyframe the factor of the alpha over node
  1. and 4. could be managed with a python script. Since the requirements for each scene will be different, you can’t really have an addon that would just work. You’ll have to learn some python and write scripts custom tailored for what you are trying to do. I did this a lot when I needed scale renders of different parts of a scene. One part was small, so it only needed ~100x100 px, other parts were huge and needed to be ~3000x2000 px. since you can’t animate render size, I set up different scenes (with a script) for each area I wanted to render. once all the scenes were set up, I then wrote a script that rendered each of those scenes and saved them with a specific name.

Python is super powerful, it will save you a ton of time if you get familiar with it.

That is really interesting. I come from 3DSMax where you can batch render exactly as I mentioned (it saves a temp file per submitted job) but the idea of learning python to do this is interesting. Will give it a shot. I might have to create an accompanying batch manager in c# but that should be quite trivial just to monitor folders for .blends and report on frame progress.

e.g.

To batch render

  1. “Save Scene As” to special folder \batchRender\SettingsTest1.blend
  2. Change things, “Save Scene As” to special folder \batchRender\360Test.blend

Then an external app that monitors that folder will show two items in a list with options to “Start” “Stop” “Continue” “Overwrite Y/N” “Restart” “Delete” “Show Frames” etc

If the user clicks “Start” then the app launches blender with the scene that has the earliest modified date which does not have a “completed flag” set on it, sets the render overwrite options, runs a python script if needed and that job starts rendering.

It all looks possible: https://docs.blender.org/manual/en/dev/advanced/command_line/arguments.html

External rendered frames can be monitored, when the last frame is done it kills the process and launches blender again with the next not-completed file in the list.

As to finding how to fade an object, I managed this in unity using a shader that ignores zdepth. Maybe I can write a node using python that does the same. At least it gives me something to look into, that was such a long time ago I have forgotten what I did :slight_smile:

Cheers all

for #2, here is an example nodegroup for fading the whole object without internal faces:


Ahhh I see great, thanks.
So I can just append that onto materials that I want to fade out (as long as they are unique materials or other things would fade out too).

Maybe this could be taken one step further with a plugin that simply has a checkbox for “Fade” and a slider from 0…1 which is wired to the FAC on a mix shader.

When the user clicks the Fade checkbox it creates unique instances of the material(s) for that object and wires up the transparent shader to it then the user can key the slider which affects all the instanced materials for that object. If the user unticks the fade checkbox then it somehow restores the original linked materials and removes the instanced materials (which would also remove any keys).

As previous example, but replace transparent depth with Geometry/Backfacing (no math node). The transparent depth method will fail if you have transparent objects in front of it, and the backfacing method may fail in other cases. I think I would do it in post though.

The backfacing method doesn’t work well for objects with internal geometry. You’ll get weird artifacts on a torus, for example:


But you are correct about layering transparent objects, that would break the transparent depth shader.