Add-In for Blender to automatically save files when rendering

Overview

Autosave - Render: Automatically save .blend, .png and readme.txt files when rendering with Blender

Purpose

This Blender Add-On provides an easy way to document & preserve a project's progress over time and to jump back to an arbitrary previous state, if required.

It saves the .blend, .png (render image, optional) and a readme.txt (optional infos) -file in a new, dedicated subdirectory on every rendering.

The new sub-directories are named YYMMDD-hhmmss + an optional short note, located in a base-directory of your choice.

Creating images/animations with Blender is usually a highly iterative trial-and-error process, that can lead into dead ends when using wrong techniques or taking bad artistic choices.

When trying to resume at a former version, it can be difficult to find the matching .blend file for that state of the project.

This add-on can be understood as a basic but efficient source control system for the poor artist.

Installation

  • download the .py file to a location of your choice
  • in Blender: Edit -> Preferences-> Add-on -> Install... and pick the .py file
  • don't forget to activate it by setting the checkmark

Developed & tested under Windows 10 on Blender V2.90.1, 2.93 and 3.0 Alpha. It should work on other OSes and/or in older Blender versions too.

Usage

The user interface appears in the Properties Area -> Output Properties -> Autosave on Render:

UI

  • set the "Autosave on Render" checkmark to save the .blend file before rendering

  • define/create the base-directory that will contain the new subdirectories

  • optionally save a .png file after rendering

  • optionally create a readme.txt. It can be previewed using the OS' file browser, its keywords will be indexed by the OS' search function.

    The content of readme.txt looks like:

    ---- Blender Generated Readme 211007_200350 myproject.blend
    -- Scene Infos:
         Blender V: 2.93.4
             Built: 2021-08-31 23:48:04
        Scene Name: Assets               
     Current Frame: 1
      Resolution %: 100
    View Transform: Filmic
              Look: None
          Exposure: 0.0
             Gamma: 1.0
            Engine: CYCLES
             Samples: 128
         Feature Set: EXPERIMENTAL
              Device: CPU
    -- Metadata Note:
     note from the output properties
    -- Readme Text:
    This is a text from the readme text. 
    It can contain a history of the project or longer annotations.
    ---
    

    The first section contains general infos about the Blender version and parameters used.

    The 2nd section contains the metadata note entered under Output Properties -> Metadata, if any.

    The 3rd section is the content of a document named "readme" from Blender's built-in texteditor, if a text with this name exists. It can contain information concerning this project, its history, keywords etc.

  • optionally enter a short note to be appended to the new directory's name. Free shorthand reminder like "eevee only", "applied" or "!" when used in production etc. Use only characters allowed in your filesystem (Windows: no ":<>" etc).

    This leads to folder names like "211007-145010-with geometry nodes, final version", intended as a quick reminder when revisiting the folder after a while

  • finally start the renderprocess hitting and browse the new subdirectory

Hints

  • the dimensions of the .png file are determined by the output properties
  • this add-on doesn't affect other settings like output paths etc
  • it doesn't make much sense when active while creating animations ( - )
  • manually delete directories if they are not needed
  • -Click on the folder icon opens the base-directory in your OS' file system browser
  • because the .blend file is saved before and the .png file after rendering, rendertime is documented too
  • choose your base-directory on an external or network drive. This may save your live if your SSD dies

Advanced usage

Shift your base-directory into the new sub-directory once you think you achieved significant progress with that render. This transforms the otherwise linear folder structure into a tree, having elaborated versions in its branches.

Optionally rename the parent folder with a speaking name for better orientation when browsing the filesystem later on. The latest and/or best version should then be in the latest & deepest leaf folder.

...unless you give up an idea too soon.

Enjoy!


You might also like...
Addon for Blender 2.8+ that automatically creates NLA tracks for all animations. Useful for GLTF export.
Addon for Blender 2.8+ that automatically creates NLA tracks for all animations. Useful for GLTF export.

PushDownAll An addon for Blender 2.8+ that runs Push Down on all animations, creating NLA tracks for each. This is useful if you have an object with m

This an Anki add on that automatically converts Notion notes into Anki flash cards. Currently in development!

NotionFlash This is an Anki add on in development that will allow automatically convert your Notion study notes into Anki flash cards. The Anki deck c

This is a library which aiming to save all my code about cpp. It will help me to code conveniently.

This is a library which aiming to save all my code about cpp. It will help me to code conveniently.

A "multiclipboards" script for an efficient way to improve the original clipboards which are only able to save one string at a time

A "multiclipboards" script for an efficient way to improve the original clipboards which are only able to save one string at a time. Works on both Windows and Linux.

carrier.py is a Python package/module that's used to save time when programming

carrier.py is a Python package/module that's used to save time when programming, it helps with functions such as 24 and 12 hour time, Discord webhooks, etc

Synthetik Python Mod - A save editor tool for the game Synthetik written in python

Synthetik_Python_Mod A save editor tool for the game Synthetik written in python

addon for blender to import mocap data from tools like easymocap, frankmocap and Vibe

b3d_mocap_import addon for blender to import mocap data from tools like easymocap, frankmocap and Vibe ==================VIBE================== To use

 A small Blender addon for changing an object's local orientation while in edit mode
A small Blender addon for changing an object's local orientation while in edit mode

A small Blender addon for changing an object's local orientation while in edit mode.

A simple armature retargeting tool for Blender

Simple-Retarget-Tool-Blender A simple armature retargeting tool for Blender Update V2: Set Rest Pose to easily apply rest pose. Preset Import/Export.

Comments
  • render_auto_save.py

    render_auto_save.py

    Sorry not an issue ... just if you know about render_auto_save.py addon bundled with any experimental build https://developer.blender.org/diffusion/BAC/browse/master/render_auto_save.py;10ebd1e553b16e599b51b8f1afcfee764365be26

    not a bug 
    opened by mond-cz 5
Releases(v1.3.8)
Owner
Volker
Oh well.
Volker
The first Python 1v1.lol triggerbot working with colors !

1v1.lol TriggerBot Afin d'utiliser mon triggerbot, vous devez activer le plein écran sur 1v1.lol sur votre naviguateur (quelque-soit ce dernier). Vous

Venax 5 Jul 25, 2022
A promo calculator for sports betting odds.

Sportbetter Calculation Toolkit Parlay Calculator This is a quick parlay calculator that considers some of the common promos offered. It is used to id

Luke Bhan 1 Sep 08, 2022
The fetch of the delegator list and the input of the epoch nonce need to be done independently

raffle The fetch of the delegator list and the input of the epoch nonce need to be done independently. Get the list of delegators at the epoch change.

1 Dec 15, 2021
A simple language for new programmers and a toy language ;)

Yell An extremely simple, yet powerful language for new programmers, as well as a toy language ;) Explore the docs » Report Bug · Request Feature Yell

Yell 4 Dec 28, 2021
HogwartsRegister - A Hogwarts Register With Python

A Hogwarts Register Installation download code git clone https://github.com/haor

0 Feb 12, 2022
A python program, imitating functionalities of a banking system

A python program, imitating functionalities of a banking system, in order for users to perform certain operations in a bank.

Moyosore Weke 1 Nov 26, 2021
A dead-simple service that notifies you when something goes down.

Totmannschalter Totmannschalter (German for dead man's switch) is a simple service that notifies you when it has not received any message from a servi

1 Dec 20, 2021
Repo to demo translating colab/jupyter notebook to streamlit webapp

Repo to demo translating colab/jupyter notebook to streamlit webapp

Marisa Smith 2 Feb 02, 2022
Incident Response Process and Playbooks | Goal: Playbooks to be Mapped to MITRE Attack Techniques

PURPOSE OF PROJECT That this project will be created by the SOC/Incident Response Community Develop a Catalog of Incident Response Playbook for every

Austin Songer 987 Jan 02, 2023
A repository containing an introduction to Panel made to be support videos and talks.

👍 Awesome Panel - Introduction to Panel THIS REPO IS WORK IN PROGRESS. PRE-ALPHA Panel is a very powerful framework for exploratory data analysis and

Marc Skov Madsen 51 Nov 17, 2022
Huggingface package for the discrete VAE used for DALL-E.

DALL-E-Tokenizer Huggingface package for the discrete VAE used for DALL-E.

MyungHoon Jin 5 Sep 01, 2021
Send notifications created in Frappe or ERPNext as push notication via Firebase Cloud Message(FCM)

FCM Notification for ERPNext Send notifications created in Frappe or ERPNext as push notication via Firebase Cloud Message(FCM) Steps to use the app:

Tridz 9 Nov 14, 2022
Library for managing git hooks

Autohooks Library for managing and writing git hooks in Python. Looking for automatic formatting or linting, e.g., with black and pylint, while creati

Greenbone 165 Dec 16, 2022
Python requirements.txt Guesser

Python-Requirements-Guesser ⚠️ This is alpha quality software. Work in progress Attempt to guess requirements.txt modules versions based on Git histor

Jerome 9 May 24, 2022
A VirtualBox manager with interactive mode

A VirtualBox manager with interactive mode

Luis Gerardo 1 Nov 21, 2021
Spartan implementation of H.O.T.T.

Down The Path I was walking down the line, Trying to find some peace of mind. Then I saw you, You were takin' it slow, And walkin' it one step at a ti

Trebor Huang 25 Aug 05, 2022
A compilation of useful scripts to automate common tasks

Scripts-To-Automate-This A compilation of useful scripts for common tasks Name What it does Type Add file extensions Adds ".png" to a list of file nam

0 Nov 05, 2021
A napari plugin to inspect data within a cisTEM project

napari-cistem A plugin to inspect data within a cisTEM project This napari plugin was generated with Cookiecutter using with @napari's cookiecutter-na

Johannes Elferich 1 Nov 07, 2021
Think DSP: Digital Signal Processing in Python, by Allen B. Downey.

ThinkDSP LaTeX source and Python code for Think DSP: Digital Signal Processing in Python, by Allen B. Downey. The premise of this book (and the other

Allen Downey 3.2k Jan 08, 2023
No more support server flooding with questions about unsupported hosting.

No more support server flooding with questions about unsupported hosting.

3 Aug 09, 2021