Procedural art with Animation Nodes

Animation nodes is addon for blender, that lets you animate stuff, but it is also great for procedural art generationūüôā.

You can get the latest version of Animation Nodes from here (click the green button for download). Support the creator of addon РJacques Lucke Рby donating here.

Update:

Below is the breakdown of the most important steps to obtain results from above (this is for advanced users).  Here is the file

  • generating random point on mesh surface (Plane object) – it will be root of spline:
  • Then I can create spline from random (x,y,z) points in loop, but this gives to noisy result (looks like lightning, jagged and random). So instead I use coherent noise – perlin noise as way of generating points for splines. This makes the splines look like wavy grass thing.
  • next step is making tip of the hairs go into direction of target object (sphere). For that I just create BHV tree for target, and then I snap spline to target with ‘find nearest surface point’. If I snap spline point to target sphere I would end up with this:

    But I do not want snap whole spline to sphere, but just the tips. To do this I can interpolate between originally generated point (x,y,z) and snapped to surface point (obtained from BHV find nearest node).

    The red inscription says: 0 == ignore snapping, 1== full snapp to target shpere). Start value in AnimFloat is root of spline, End – tip of spline.

There is more stuff, but the basic idea is explained above.

Batchtool Baker – update 1.03

Update 1.03 to Batchtool Baker:

  • added ability to bake second or next uv set (UV map)
  • preview of frontal/rear ray distance
  • one click cage setup

Example of fixing black texure spots (to low value of ray distance causes some areas of highpoly to not be captured while baking). First I preview frontal (green) ray distance, fixing bake, then adjusting rear (red) ray distance, fixing bake again.

 

And example of one click cage setup. You can adjust cage offset by weight painting it.

 

Trim Tools for Blender

Blender addon for cutting your geometry. Grab it from here. Compared to other blender Carving addons, this addon works in edit mode.

 

Located in left Tool Shelf-> Tools-> Trim View.

  • Knife trim – cut geometry with knife tool. If this tool is not behaving as it should, try switching¬†‘Trim Type’ parameter from ‘dissolve’ to ‘KDTree search’ (slower) or vice versa.
  • Trim by selection -(based on bisect tool) cut mesh in plane based on selected geometr. To define plane – select 2 or more vertices, then use this tool. After that¬†you can offset the cut plane by pressing F6 and changing depth parameter.

This addon may not work on complex geometry as expected. This is partially due to old blender carve (boolean) module. It was being worked by blender devs, but for now it is disabled. Maybe it will be enabled again in blender 2.8?

New Blender addon Draw Xray

New Blender addon Draw Xray allows to draw your lowpoly mesh on top of your highpoly mesh!

How to use:

  • grab addon from here¬†Draw Xray
  • install it by searching addon by name ‘Xray’
  • go to Properties panel -> shading – Draw Xray.

You will be able to see your mesh now and few more control sliders:

  • Object offset – will determine how much your lowpoly object will be rendered in front of other objects. Set it to 0 to get default blender behavior.
  • Polygon color opacity
  • Edge /Vertex color opacity.

Updata 1.01

  • better mesh drawing when zooming in/out the vieport camera to mesh.

Before:

After

Batchtool Baker

Hi today I release first version of baking addon for Blender and Substance Batchtools. You can get it here
This addon is based on Meltdown script by Piotr Adamowicz. I left the UI stuff not changed too much but I reworked the core of addon to integrate it with Substance Batchtools, fixed bugs, added new features, optimized redundant stuff etc.

I developed it for few reasons:

  • Substance Batchtools speed – you can bake 4k textures in minutes (compared to hours in blender)
  • Substance Batchtools reduced ram usage – I can bake hipoly meshes, without risk running out of ram
  • I wanted to have quick way to bake complex objects made with GroupPro addon. But you don’t have to use¬†it. This addon works for baking normal objects too.
  • Easy iteration – no need to click Import/Export multiple times in blender, and your external baking app. This is usually tedious and time consuming process. All objects are exported automatically in background. ¬†Also addon is smart enough to know when object was changed, and export it only when needed.
  • Easy way to re-bake only parts of your texture, that were changed/updated.¬†I will explain how to do this later below.

For this addon to work you have to have Substance Designer, and then install Substance Batchtools from all www.allegorithmic.com.

To install Batchtools on your PC, go to www.allegorithmic.com, login and go to Download tab.

 

Download

Then click on the icon, as shown in image above and grab Substance Batchtools.BatchToolDownload

After installing BatchTools you are good to go.
Run blender and search for ‘bake‘ phase(1). Enable Batchtools Baker, and point it (2) to sbsbaker.exe file, located in your Substance Batchtool installation folder. In my case it was located in: ‘E:\Program Files\Allegorithmic\Substance BatchTools\5\sbsbaker.exe

Batchtool Baker Addon Preferences

After that you will have new tab in 3d View -> Tool shelf -> Baking.

Basic steps for baking are (make sure your blend file is saved):

  • click button ‘Add Bake Job‘. Few options will popup (file path, resolution, etc)
  • click ‘Add Pair‘ button, to select lowpoly mesh (with uv), and highpoly mesh.
  • click ‘Add Pass‘ and select baking type you want to perform (normal, id, ao etc)

When you are done you can bake by pressing ‘Bake’ button on top. By default output directory is set to: ¬†‘path to your blend file’/textures/‘. You can change it with Path property (just below Dilation parameter). Also you can open destination folder from blender by: shift+LMB clicking on folder icon.

Bake Job‘ corresponds to single UV set (one texture). When you want to bake another texture (eg. separate texture for head, and separate for body) then just add new ‘Bake Job’ for head. Each ‘Bake Job’ can bake multiple sets of high-low poly pairs and passes.

Pairs‘ multiple high-low poly pairs are useful when thing,¬†that you¬†are baking, is composed of many objects, but we don’t want them to influence each other. For example lets say body of character, has pants and shoes that are overlapping each other. Without this addon, you would have to move shoes object away from pants object, so they are not affecting each-other while baking. But with Batchtool Baker, you can just create two pairs high-low poly of objects ¬†– one for pants, one for shoes. No need to move them away.

Passes‘ Batchtool Baker in blender supports following passes:

  • “MAT_ID” – from material color, Vertex Color, Mesh ID, Submesh ID
  • “AO”
  • “NORMAL” (Tangent and World Space, OpenGL and DirectX mode)
  • “UV”
  • “CURVATURE” – it requires normal map pass (just put normal pass bake, before/above curvature map bake)
  • “POSITION” ¬†– all axis or one axis.
  • “THICKNESS”
  • “HEIGHT”
  • “OPACITY”

In addon preferences you can define suffix for each of those passes. So when your bake name is ‘head’, then your will get files like: head_ao, head_id, head_norm, etc (depending on your passes).

Each lowpoly-highpoly pair has bunch of settings.
First two fields are used for selecting your high,lowpoly objects. For highpoly you can also use group of objects or Group Instance (preferably made with GroupPro addonūüôā ).

Grid this button, when enabled allows you to select cage object. When disabled you can tweak forward and rear ray distance multiplier. Those values work as multipliers for main Rear and Forward ray distances defined just blow AA samples parameter. So eg. when you set rear distance to 0,02, and rear multiplier to 10, then the resulting rear ray distance is 0,2  (0,02*10).

PairSideButtonsX – deletes current low-high poly pair
Camera – disable baking of current low-high poly pair.¬†Cool feature here is, that if you previously baked current low-high pair, and then disable it, script will use result of previous bake for new bake. This may save you some time, when you wan to re-bake only some¬†pairs of objects, then just disable ‘Camera’ icon for not needed¬†pairs and previous bake¬†will be used for those.

Refresh – when enabled addon will export fbx file, with current pair of objects,¬†on next bake. When disabled, fbx file will not be exported.¬†Useful when¬†working with heavy meshes, tweaking bake parameters, and you do not want to export all that heavy geometry on each small change. Actually script automatically detects any change to hipoly mesh and enables this button when needed. However there are some bugs in blender eg. if you grab hipoly object, and cancel grab command, update event on mesh will be triggered, resulting in enabling ‘Refresh’ icon, even though no geometry or position was changed. That is why, I added this manual override button, so you can disable exporting FBX file on new bake.

There are similar buttons placed on header of Pairs list:

 They are here just for convenience Рthey allow to disables/enables exporting fbx and baking for all mesh pairs, with one click. See example:

 

 

 

BakeDisable

And the last icon I wanted to explain – green icon – means baking of current baked job is enabled. If you click on it, it will become red – disable baking of bake job.

 

At he bottom I showed you example of how those features could be used. We have two pairs of objects:

  • pipe_low‘¬†and¬†‘PipeHi‘ (group of multiple objects)
  • cylinder_low‘ and¬†‘cylinder-hi

We see that ‘Camera’ icon is disabled for ‘pipe_low’ but it is baked into image, because addon used previous bake result for this pair of objects.
Cylinder_low – is using cage ‘cylinder_lowCage’ object. It has enabled ‘Camera’ icon – so it was baked. Also it has enabled ‘refresh’ icon, so geometry was updated with new fbx file on bake. This is very simple setup, ¬†so there is no much gain in terms of speed. But on complex models, you can introduce changes only where those are needed, without re-baking everything.

Example Batchtool Baker

Update:
I just added object picker for highpoly, lowpoly and cage.

Object Picker

Update 1.03 (more info)

  • added ability to bake second or next uv set (UV map)
  • preview of frontal/rear ray distance
  • one click cage setup

 

PivotPro Blender addon, some art too.

Hi I just finished making new blender addon ¬†– baking tool for substance designer users. It will allow you quicly bake ao, normal, ID etc. in allegorithmic¬†BatchTools software. Baking times will be¬†no longer problemūüėČ. Bad new is it will cost $ but not much (5-15$ I think). I have to test it bit more, but it should be out in 1-2 weeks.

Also PivotPro addon (free) is now available on github. PivotPro will allow you to create temporary pivot point, that can be easily moved, snapped and used for pivot point for rotation, scaling, snapping point reference.

Blender PivotPro addon

PivotPro in action

If you like it you can support me by giving any sum through gumroad.
And here is part of manual for this addon (full manual is provided with gumroad link above):
Now you can press rotate, scale, move selected objects around red pivot point. To do this use:

  • shift + R to rotate box around red pivot
  • shift + S to scale box around red pivot
  • shift + G ‚Äď by default behaves like ordinary grab. But if you enable snapping, box will be¬†snapped to desired vertex/edge/face by red pivot location. Also when nothing is selected,¬†you can use shift+G to translate red pivot to new location, eg. below I used shift+G, then ‘Z’,¬†to move red pivot 1BlenderUnit up in Z axis.

Example of snapping with pivotPro:

PivotPro snapping example animation

Example with grid snapping:

PivotPro snapping to grid

And some stuff  I made in past months: