Login
L-System
 
Download v3.2

This is a previous version of L-System. If you are looking for the most recent version please visit the Downloads page.

If you are specifically looking for v3.2 you can get it here:

Please note that previous versions are not supported in any way shape or form (especially those more-previous versions that I didn't actually build)

This is a previous version of L-System. If you are looking for the most recent version please visit the Downloads page.

If you are specifically looking for v3.2 you can get it here:

Please note that previous versions are not supported in any way shape or form (especially those more-previous versions that I didn't actually build)

 

Made With Blender

 

Like LSystem? Buy me a coffee :)

Donate

Made With Blender

 

Like LSystem? Buy me a coffee :)

Donate

 
v3.2 - The Leafy Build

Highlights include:

  • Ability to add multiple leaves with multiple materials and hard/smooth values
  • New 'advanced' leaf rule gives greater control of leaf configuration
  • New leaf options allow more specific control over leaf placement
  • New UI layout
    • Un-used controls have been removed
    • Controls are grouped more logically
    • Status bar to tell you what the heck is going on
  • Save and load uses familiar Blender interfaces
  • User defaults can be set (and original defaults loaded)
  • Generations are saved in temp files, so if something crashes you can re-load your config

It sure seemed a lot more when I was coding it!

There have also been changes to the code that make it all happen - including a bunch of refactoring efforts and some playing around with getting the leaves to generate using Mesh objects instead of NMesh. Unfortunately this made the script run about twice as slow, so I didn't include it.

No promises are made regarding backwards compatibility, but from the small amount of testing done it seems to work just fine. Remember to back up your work.

Highlights include:

  • Ability to add multiple leaves with multiple materials and hard/smooth values
  • New 'advanced' leaf rule gives greater control of leaf configuration
  • New leaf options allow more specific control over leaf placement
  • New UI layout
    • Un-used controls have been removed
    • Controls are grouped more logically
    • Status bar to tell you what the heck is going on
  • Save and load uses familiar Blender interfaces
  • User defaults can be set (and original defaults loaded)
  • Generations are saved in temp files, so if something crashes you can re-load your config

It sure seemed a lot more when I was coding it!

There have also been changes to the code that make it all happen - including a bunch of refactoring efforts and some playing around with getting the leaves to generate using Mesh objects instead of NMesh. Unfortunately this made the script run about twice as slow, so I didn't include it.

No promises are made regarding backwards compatibility, but from the small amount of testing done it seems to work just fine. Remember to back up your work.

v3.2 - Change Log

Updates to allow specification of mutiple leaf types with random distribution. Leaves now support muptiple materials and smooth values. Lots of updates to UI.

  • separated leaf controls into leaf branch and leaf controls
    • leaf branch controls are those that effect the way the tree is rendered regardless of option to draw leaves
    • leaf controls effect leaves being added
  • resV UI control disabled as it doesn't change anything (obvious) even when a value > 1 is assigned
  • added features to allow specification of multiple leaf objects with their own scale, slope and orient
  • added probability for multiple leaf objects - probability works as a lottery - each leaf gets up to 10 tickets of which one is drawn for each leaf rendered. it could be better but this works with the UI.
  • changed leaf generating rules to fit with new leaf generation methods
  • removed 2 Parallel and 1+1 Parallel leaf generation options as these are done by 2 Perpend and 1+1 Perpend respectively
  • added lock for random seed for leaf generation, separate to branch random lock
  • general refactor of code directly related to the work being done.
  • added status bar and color coding for errors and messages
  • changed some default settings to make generic generation faster
  • added leaf angle option to leaves. this option changes the base angle that the leaves are applied from. functionality based on the original lsystem concept of 'perpendicular' and 'parallel' leaves (0 or (-90 or 90) deg in the new system). this concept is expanded by the ability to apply any angle between these two settings. leaf angle also rotates endpoint leaves. for endpoint leaves this is the same as using 'leaf orient' however option is not disabled in these modes
  • added option to add endpoint leaf to leaf configurations other than 'endpoint' and 'active point'.
    • endpoint leaf ignores slope param
  • re-arrange of UI complete with new 'vertical line separator' technology
  • addition of new leaf rule 'Advanced' (l_advanced) - allows for specification of # of leaves around node, and number of nodes along segment (terminology could do with a little works still). Advanced can create all other leaf settings except endpoint and activepoint (although endpoint can be applied), and (currently) allows for up to 10 leaves around and 10 iterations along (this is a UI restriction only). Advanced options show when advanced setting is selected (default).
  • hard/smooth values for faces in leaf objects are carried across to leaves
  • multiple materials for leaves enabled
  • Some areas leaf generation code refactored from NMesh to Mesh and related objects. This was due to inability (of developer?) to set materials on NMesh. However, assigning faces to Mesh is slow - approx 75% longer processing time, so code has since been commented out and returned to NMesh. Mesh is the newer object to use for mesh operations, NMesh is deprecated at least since v2.45. Commented code will come in useful one day. one hopes.
  • this script now predominately uses mesh objects and their textures. Existing leaves have been modified and names and tooltips in UI have been updated to reflect this
    • using object level textures will not (currently) work
  • Configured Save/Load functionality to work with new features.
    • Added a few more options including user defaults and original defaults
    • Added 'proper' file selection windows
    • Replaced original file load/save buttons with a drop menu
    • Added saving of successfully generated configurations as 'load last generated' in case of crashes
    • attempted to keep as much backwards compatibility as possible
  • EndPoint and Active Point now ignore slope and UI options for slope are disabled when these options are selected. Because it looked stupid when applied.
  • Removed code that rotated leaf adding turtle when no leaves were being added. Modified leaf rules for active and end-point to pass 'no leaf' param so leaves were not added. It crosses my mind that it would be better to 'not do anything' when 'no leaf' is being added, rather than call a method and tell the method not to do anything. Oh well...

Updates to allow specification of mutiple leaf types with random distribution. Leaves now support muptiple materials and smooth values. Lots of updates to UI.

  • separated leaf controls into leaf branch and leaf controls
    • leaf branch controls are those that effect the way the tree is rendered regardless of option to draw leaves
    • leaf controls effect leaves being added
  • resV UI control disabled as it doesn't change anything (obvious) even when a value > 1 is assigned
  • added features to allow specification of multiple leaf objects with their own scale, slope and orient
  • added probability for multiple leaf objects - probability works as a lottery - each leaf gets up to 10 tickets of which one is drawn for each leaf rendered. it could be better but this works with the UI.
  • changed leaf generating rules to fit with new leaf generation methods
  • removed 2 Parallel and 1+1 Parallel leaf generation options as these are done by 2 Perpend and 1+1 Perpend respectively
  • added lock for random seed for leaf generation, separate to branch random lock
  • general refactor of code directly related to the work being done.
  • added status bar and color coding for errors and messages
  • changed some default settings to make generic generation faster
  • added leaf angle option to leaves. this option changes the base angle that the leaves are applied from. functionality based on the original lsystem concept of 'perpendicular' and 'parallel' leaves (0 or (-90 or 90) deg in the new system). this concept is expanded by the ability to apply any angle between these two settings. leaf angle also rotates endpoint leaves. for endpoint leaves this is the same as using 'leaf orient' however option is not disabled in these modes
  • added option to add endpoint leaf to leaf configurations other than 'endpoint' and 'active point'.
    • endpoint leaf ignores slope param
  • re-arrange of UI complete with new 'vertical line separator' technology
  • addition of new leaf rule 'Advanced' (l_advanced) - allows for specification of # of leaves around node, and number of nodes along segment (terminology could do with a little works still). Advanced can create all other leaf settings except endpoint and activepoint (although endpoint can be applied), and (currently) allows for up to 10 leaves around and 10 iterations along (this is a UI restriction only). Advanced options show when advanced setting is selected (default).
  • hard/smooth values for faces in leaf objects are carried across to leaves
  • multiple materials for leaves enabled
  • Some areas leaf generation code refactored from NMesh to Mesh and related objects. This was due to inability (of developer?) to set materials on NMesh. However, assigning faces to Mesh is slow - approx 75% longer processing time, so code has since been commented out and returned to NMesh. Mesh is the newer object to use for mesh operations, NMesh is deprecated at least since v2.45. Commented code will come in useful one day. one hopes.
  • this script now predominately uses mesh objects and their textures. Existing leaves have been modified and names and tooltips in UI have been updated to reflect this
    • using object level textures will not (currently) work
  • Configured Save/Load functionality to work with new features.
    • Added a few more options including user defaults and original defaults
    • Added 'proper' file selection windows
    • Replaced original file load/save buttons with a drop menu
    • Added saving of successfully generated configurations as 'load last generated' in case of crashes
    • attempted to keep as much backwards compatibility as possible
  • EndPoint and Active Point now ignore slope and UI options for slope are disabled when these options are selected. Because it looked stupid when applied.
  • Removed code that rotated leaf adding turtle when no leaves were being added. Modified leaf rules for active and end-point to pass 'no leaf' param so leaves were not added. It crosses my mind that it would be better to 'not do anything' when 'no leaf' is being added, rather than call a method and tell the method not to do anything. Oh well...
© Liquidweb