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
Files relating to polymtl university

This is a tool I developed quickly, which allows users to visualize class availability by day of the week for a given program at polymtl. The schedule

PN 3 Mar 15, 2022
A Web app to Cross-Seed torrents in Deluge/qBittorrent/Transmission

SeedCross A Web app to Cross-Seed torrents in Deluge/qBittorrent/Transmission based on CrossSeedAutoDL Require Jackett Deluge/qBittorrent/Transmission

ccf2012 76 Dec 19, 2022
Really bad lisp implementation. Fun with pattern matching.

Lisp-py This is a horrible, ugly interpreter for a trivial lisp. Don't use it. It was written as an excuse to mess around with the new pattern matchin

Erik Derohanian 1 Nov 23, 2021
A python package for batch import of resume attachments to be parsed in HrFlow.

HrFlow Importer Description A python package for batch import of resume attachments to be parsed in HrFlow. hrflow-importer is an open-source project

HrFlow.ai (ex: Riminder.net) 3 Nov 15, 2022
Anki cards generator for Leetcode

Leetcode Anki card generator Summary By running this script you'll be able to generate Anki cards with all the leetcode problems. I personally use it

Pavel Safronov 150 Dec 25, 2022
A community based economy bot with python works only with python 3.7.8 as web3 requires cytoolz

A community based economy bot with python works only with python 3.7.8 as web3 requires cytoolz has some issues building with python 3.10

4 Jan 01, 2022
1cak - An Indonesian web that provide lot of fun.

An unofficial API of 1cak.com 1cak - An Indonesian web that provide lot of fun. Endpoint Lol - 10 Recent stored posts on database Example: https://on

Dicky Mulia Fiqri 5 Sep 27, 2022
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.

Paul Leo 21 Dec 06, 2021
Mute your mic while you're typing. An app for Ubuntu.

Hushboard Mute your microphone while typing, for Ubuntu. Install from kryogenix.org/code/hushboard/. Installation We recommend you install Hushboard t

Stuart Langridge 142 Jan 05, 2023
Devil - Very Semple Auto Filter V1 Bot

Devil Very Semple Auto Filter V1 Bot

2 Jun 27, 2022
Frappe app for authentication, can be used with FrappeVue-AdminLTE

Frappeauth App Frappe app for authentication, can be used with FrappeVue-AdminLTE

Anthony C. Emmanuel 9 Apr 13, 2022
Async Python Circuit Breaker implementation

aiocircuitbreaker This is an async Python implementation of the circuitbreaker library. Installation The project is available on PyPI. Simply run: $ p

5 Sep 05, 2022
Script to work around some quirks of the blender obj importer

ObjFix 1.0 (WIP) Script to work around some quirks of the blender obj importer Installation Download this repo In Blender, press "Edit" on the top-bar

Red_3D 4 Nov 20, 2021
The earliest beta version of pytgcalls on Linux x86_64 and ARM64! Use in production at your own risk!

Public beta test. Use in production at your own risk! tgcalls - a python binding for tgcalls (c++ lib by Telegram); pytgcalls - library connecting pyt

Il'ya 21 Jan 13, 2022
API for SpeechAnalytics integration with FreePBX/Asterisk

freepbx_speechanalytics_api API for SpeechAnalytics integration with FreePBX/Asterisk Скопировать файл settings.py.sample в settings.py и отредактиров

Iqtek, LLC 3 Nov 03, 2022
ChieriBot,词云API版,用于统计群友说过的怪话

wordCloud_API 词云API版,用于统计群友说过的怪话,基于wordCloud 消息储存在mysql数据库中.数据表结构见table.sql 为啥要做成API:这玩意太吃性能了,如果和Bot放在同一个服务器,可能会影响到bot的正常运行 你服务器性能够用的话就当我在放屁 依赖包 pip i

chinosk 7 Mar 20, 2022
Ramadhan countdown - Simple daily reminder about upcoming Ramadhan

Ramadhan Countdown Bot Simple bot for displaying daily reminder about Islamic pr

Abdurrahman Shofy Adianto 1 Feb 06, 2022
Python programs, usually short, of considerable difficulty, to perfect particular skills.

Peter Norvig MIT License 2015-2020 pytudes "An étude (a French word meaning study) is an instrumental musical composition, usually short, of considera

Peter Norvig 19.9k Dec 27, 2022
Tracking stock volatility.

SP500-highlow-tracking Track stock volatility. Being a useful indicator of the stock price volatility, High-Low gap represents the price range of the

Thong Huynh 13 Sep 07, 2022