Blender pluggin (python script) that adds a randomly generated tree with random branches and bend orientations

Overview

Blender add-on for creating a Magic Fractal Tree

Python script which can be installed as a Blender add-on for creating a tree with a set number of segments (i.e. edges), branching with a set probility (default is 50%) with a reduced number of segments (and segment length), and recursing until the number of segments is one. Once installed, the script is accessable as a button in the 3D viewport (Add > Mesh > Magic Fractal Tree).

Install instructions

  1. Ensure you are using Blender 2.8.0 or greater
    1. Blender can be downloaded from here: Blender
  2. To install an add-on, go to Edit > Preferences > Add-ons
    1. Click "Install..." button
    2. Use Blender's file explorer to navigate to where the python script is on disk (where you cloned this git repo)
    3. Row should appear with an empty check-box for enabling "Add Mesh: Magic Fractal Tree"
    4. Enable the Add-on

Usage

From the 3D Viewport, ensure 'Object Mode' is selected in the drop-down. Click 'Add', mouse over to 'Mesh', then mouse down to 'Add Magic Fractal Tree'. Give Blender some time, and it should create a randomly generated tree. An object called 'MagicFractalTree' should appear in your scene collection and remains selected. Before you de-select the object, take note of the UI box that appears at the bottom-left of the 3D Viewport. If you de-select the tree, this UI box dissapears. Open the box to play around with the settings. Note that any change to these settings will cause a new tree to be generated (overwriting the origional tree object).

Branch Count

Starting number of segments (i.e. edges) used for the 'root' branch. Recursive iterations reduce this number by half for each new branch that is created - extruded from the verticies of the root (current) branch. Recursion stops when the branch count is reduced to one.

Bend Range

Random rotation used for determining the direction a new vertex will be extruded as the branch is being created. The first direction the tree chosses to go is completely random (from world origin). Subsequent directions are then calculated as deltas from this first direction (plus/minus the Bend Range).

Branch Split Probablity

Chance a new branch will be extruded from a vertex of the current branch. This is a float value between [0.0 - 1.0], where 0.0 creates no branches and 1.0 creates a branch at every vertex

Initial Branch Radius

This plug-in uses the skin modifier to give the illusion of thickness to the branches. Thickness of the branches can be controlled with this parameter

Reduce Branch Radius

For every new branch off the root branch, reduce the branch radius (thickness) by half. NOTE: This operation is extreemly time intensive because it is using UI operations. It is the author's hope that a new way can be found to do this by using data within the bmesh before mesh data is created. It is not reccomented to increase Branch Count beyond 20 when this feature is enabled.

Owner
Travis Gruber
Software Engineer with a heavy interest in real-time messaging middlewares and distributed computing.
Travis Gruber
Installer, package manager, build wrapper and version manager for Piccolo

Piccl Installer, package manager, build wrapper and version manager for Piccolo

1 Dec 19, 2021
Chat meetup

FLiP-Meetup-Chat Chat meetup create function bin/pulsar-admin functions create --auto-ack true --jar pulsardjlexample-1.0.jar --classname "dev.pulsarf

Timothy Spann 1 Dec 09, 2021
PORTSCANNING-IN-PYTHON - A python threaded portscanner to scan websites and ipaddresses

PORTSCANNING-IN-PYTHON This is a python threaded portscanner to scan websites an

1 Feb 16, 2022
Dot Browser is a privacy-conscious web browser with smarts built-in for protection against trackers and advertisments online.

🌍 Take back your privacy with Dot Browser, the privacy-conscious web browser that protects you from being tracked and monitored online.

Dot HQ 1k Jan 07, 2023
Python implementation of the ASFLIP advection method

This is a python implementation of the ASFLIP advection method . We would like to hear from you if you appreciate this work.

Raymond Yun Fei 133 Nov 13, 2022
Test for using pyIIIFpres for rara magnetica project

raramagnetica_pyIIIFpres Test for using pyIIIFpres for rara magnetica project. This test show how to use pyIIIFpres for creating mannifest compliant t

Giacomo Marchioro 1 Dec 03, 2021
Backend Interview Challenge

Inspect HOA backend challenge This is a simple flask repository with some endpoints and requires a few more endpoints. It follows a simple MVP (model-

1 Jan 20, 2022
Wagtail + Lottie is a Wagtail package for playing Adobe After Effects animations exported as json with Bodymovin.

Wagtail Lottie Wagtail + Lottie is a Wagtail package for playing Adobe After Effects animations exported as json with Bodymovin. Usage Export your ani

Alexis Le Baron 7 Aug 18, 2022
Minimalistic Gridworld Environment (MiniGrid)

Minimalistic Gridworld Environment (MiniGrid) There are other gridworld Gym environments out there, but this one is designed to be particularly simple

Maxime Chevalier-Boisvert 1.7k Jan 03, 2023
A supercharged version of paperless: scan, index and archive all your physical documents

Paperless-ng Paperless (click me) is an application by Daniel Quinn and contributors that indexes your scanned documents and allows you to easily sear

Jonas Winkler 5.3k Jan 09, 2023
ARK sõidueksami Matrixi bot

ARK Sõidueksami bot Küsib ARK-i lehelt uusimad eksami ajad ja saadab sõnumi Matrixi kanali Dev setup Linux python3 -m venv venv source venv/bin/activa

Arti Zirk 3 Jun 15, 2021
Python library to decode the EU Covid-19 vaccine certificate

DCC Utils Python library to decode the EU Covid-19 vaccine certificate, as specified by the EU. Setup pip install dcc-utils Make sure zbar is installe

Developers Italia 13 Mar 11, 2022
Advanced Developing of Python Apps Final Exercise

Advanced-Developing-of-Python-Apps-Final-Exercise This is an exercise that I did for a python advanced learning course. The exercise is divided into t

Alejandro Méndez Fernández 1 Dec 04, 2021
Basic repository showing how to use Hydra + Hydra launchers on SLURM cluster

Slurm-Hydra-Submitit This repository is a minimal working example on how to: setup Hydra setup batch of slurm jobs on top of Hydra via submitit-launch

Raphael Meudec 2 Jul 25, 2022
Headless - Wrapper around Ghidra's analyzeHeadless script

Wrapper around Ghidra's analyzeHeadless script, could be helpful to some? Don't tell me anything is wrong with it, it works on my machine.

8 Oct 29, 2022
InverterApi - This project has been designed to take monitoring data from Voltronic, Axpert, Mppsolar PIP, Voltacon, Effekta

InverterApi - This project has been designed to take monitoring data from Voltronic, Axpert, Mppsolar PIP, Voltacon, Effekta

Josep Escobar 2 Sep 03, 2022
Translation patch for Hololive ERROR

Translation patch for Hololive ERROR How do I install the patch? Grab the Translation.zip file for the latest version from the releases page, and unzi

18 Jul 20, 2022
A python library for writing parser-based interactive fiction.

About IntFicPy A python library for writing parser-based interactive fiction. Currently in early development. IntFicPy Docs Parser-based interactive f

Rita Lester 31 Nov 23, 2022
ARA Records Ansible and makes it easier to understand and troubleshoot.

ARA Records Ansible ARA Records Ansible and makes it easier to understand and troubleshoot. It's another recursive acronym. What it does Simple to ins

Community managed Ansible repositories 1.6k Dec 25, 2022
Lightweight library for accessing data and configuration

accsr This lightweight library contains utilities for managing, loading, uploading, opening and generally wrangling data and configurations. It was ba

appliedAI Initiative 7 Mar 09, 2022