Advanced Modifier Array

Why this is not yet included in Blender? :

http://projects.blender.org/tracker/index.php?func=detail&aid=26662

Looks amazing.

agree this is really usefull.

What I don’t understand is why the current array modifier doesn’t utilize hardware instances. You have to use dupli-faces or dupli-verts to take advantage of the lower resource overhead of instancing.

I can get most of this functionality from combining stnd. array & curve modifiers… but sorely miss instancing for arrays.

really? then start animatiing the curve… madnes…

I said “most”… :wink:

Most issues with animating curves arise from not having applied scales/rotations/loc’ns prior to adding the curve modifier.
Gotta make sure everything is in the proper “space”, or your rotations/offsets are gonna get pretty wonky.

However, any decent sized array of objects chokes Cycles in GPU compute mode (or at least it chokes my GTX560 1GB)

Use dupliverts/duplifaces and massive arrays of objects get rendered in seconds.

Every modifier can have a custom draw function. Maybe we could hook up hardware instancing there too but it’s more complex than you think, because proper instancing needs to use shaders. However Brecht recently duplicated most of the fixed function pipeline with shaders, and that brought hardware accelarated instancing a bit closer :slight_smile:

Agree to for the advanced array modifier.
But seems the patch won’t compile for now and not sure the dev wanted to include it in trunk.

It seems that Fabio Russo is not working on it anymore (his last post 2012-01-30 19:37).
I wrote him a message but no response.

The modifier is still in Beta stage.

It would be a HUGE improvement for vegetation in architectural visualizations.

Is he still alive ?

Edit:
I just found this: http://ruesp83.com/2012/12/03/ama-rises-for-bmesh/#comment-946
We should support him with donations I guess :wink:

Kind regards
Alain

@Psy-Fi
Just out of curiosity, how/why is hardware instancing supported for particles & dupli-verts/faces, but not arrays? I understand that moving the older fixed function gfx pipeline stuff into modern shaders is no simple task, but for a mesh monkey like me who knows just enough to be dangerous, it seems like someone has done the job, but “didn’t clean up the tools”.

They both create multiple objects using the same mesh datablock. (i.e. both systems create objects “Cube.001” thru “Cube.nnn”, all utilizing mesh datablock “Cube”… but arrays send the same mesh datablock to the card over & over severely bloating the memory requirement for a given scene, whereas dupliverts/faces (and, I assume, particles instances) send the mesh datablock only once, apparently. Same for linked (ALT+D) objects. Multiple objects, same mesh data… no instancing. :stuck_out_tongue:

Seems like the functionality is already there, just not utilized by the array modifier, or linked objects. ???

Anyway, guys, my point is that no amount of increased functionality in the array modifier will overcome its basic limitation in Cycles GPU compute mode, or even reasonable standard OpenGL viewport manipulation. For vegetation in arch-viz, as noted above, you will always be better off using a particle system and it’s already existing “randomization” features to leverage true hardware instancing… not just for Cycles GPU compute, but for standard OpenGL viewport rendering.

I don’t think it’s supported. What happens is that the instance only gets uploaded to GPU once with dupliverts. This avoids the overhead of uploading the combined data of the instances. That’s all.

Of course we could duplicate this same functionality on the array modifier too. Still it’s not hardware instancing yet.

Yes, Array modifier can be improved a lot, I saw something interesting in Cinema 4d that can having interesting effects with Array like modifier. Hope that happen.

thats too bad I was really looking forward to this modifier.

It is awesome that he started working on it again. Please tell us where to send our donations :smiley:

I did not like first versions of this modifier. I found the UI too big.
All the randomization stuff reminded me existing tools like randomize transform operator.
There is also a grease scatter add-on to distribute objects in a randomized way.
Array is a “Generate” modifier. It generates vertices, faces and lots of data.
For modeling, it is probably easier to use than :
dupliverts, duplifaces or dupliframes
make duplicates real
join

But for animation, it is not as light as duplication visual instances.
IMO , it should be preferable to have tools to manipulate groups instances instead of a geometry modifier.
Maybe empties could have a modifier tab that could contain this kind of tools.
Maybe Properties Editor could have a Group Tab.

Instead of creating 1 complex modifier, wouldn’t it be better to develop a node-based system for object manipulation?

well… considering I have projects that, with arrays &/or linked objects, I get out of memory errors after crunching the BVH for what seems like an eternity when I try to render, but with dupli-verts my render time is measured in seconds for the very same scene… I’d say adding the same functionality to all objects using the same mesh datablock (e.g. arrays and ALT-D linked objects) would be EXTREMELY beneficial.

Call it hardware instancing, or just instancing, or a kettle of fish… what works, works, what doesn’t… sux. :slight_smile:

@Sago
We’ll likely see something like that once the PyNodes project hits trunk… at least one can hope. :wink:

true maybe but modifiers are very easy to use and I am afraid the node system for that might be more complex.

Or we throw out the modifiers completely and add them as node input blocks where they can be stacked as well.

I am waiting for advanced array to be re-implemented for a long time.It will be extremely powerful if we use it with the array sketch script(needs to be updated too, the thread seems dead) you can see what zbrush users can do with their insert multi mesh brush here http://www.zbrushcentral.com/showthread.php?170167-Insert-Multi-Mesh-Repository

array sketch with advanced array modifier and some other scripts for shapekeys can make something many times more powerful.
we can make for example a brush with start cap, basic array object, mid cap and end cap with all randomize functions and of objects have shapekeys - oh my god, limitless potential!

On his Blog: http://ruesp83.com/2012/12/03/ama-rises-for-bmesh/#comment-946

Regards
Alain

This is Node based: http://nikitron.cc.ua/blend_scripts.html#x

But my little brain does not understand how to use it - in my case for creating hedges.

Kind regards
Alain

PS. Anyone know if Fabio Russo is still working on the Advanced Array Modifier ?