sitting around at home(which to be honest is not much of a change from normal work life) I've been watching various stuff. I saw this video about creating interesting backgrounds.

In this he uses a tool call JSplacement which is really good, but it involves going into another program, exporting and perhaps resizing - it also doesn't let you animate the elements once created(except for translation etc of the image itself).

Having time on my hands I started working on a fuse that does something similar.

I give you the first release of Greebler(so called because it was something used in 3D modelling to create surface detail and this sort of looks a bit like that).

What it does is create a random grid of shapes. That's it, but those random shapes can then be used in a multitude of ways.

Cool! I started something similar a while back—a pattern generator Fuse, as a combination of MultiMerge and my OpenCL experiments. But then OpenCL fuses got deprecated and I shelved it.

Instead of pre-defining the shapes, you could let the user specify the number of layers, the number of sides for each layer, and the rendering qualities. Maybe an 'Add Layer' button that creates a new set of controls—see MT_MultiMerge for a technique to do that.

Instead of pre-defining the shapes, you could let the user specify the number of layers, the number of sides for each layer, and the rendering qualities. Maybe an 'Add Layer' button that creates a new set of controls—see MT_MultiMerge for a technique to do that.

Hi,

I think I understand what you mean, but I think what you are suggesting could be done using cloners, feed in a basic shape, use scale and rotation effectors to change the look randomly then merge them, Whereas this fuse is more of a random generator. Just my understanding of what you said, I may have missed your point.

Added in 39 minutes 33 seconds:

first update.

This adds lines, which are just random lines, you can determine how many segments the random lines have.

Also made the default everything off except solid triangles, I don't think you would want to use all of them at once, so this makes it easier to choose which ones.(only put triangles on because I wanted it to show something when tool first added)

Greebler.fuse

You do not have the required permissions to view the files attached to this post.

Mmmm... No, I think you missed what I was saying. Instead of having several sets of controls that each make one specific type of polygon, imagine you had a control template:
Shape
-- Shape type (poly, lines, squiggles)
-- Number of sides
-- Solid
-- Scale
-- Starriness
-- etc

These controls would be there by default.

And a button: Add shapes

Pressing the button would load in another set of controls underneath the existing ones, which the user can use to set up another layer of random shapes. So instead of having to make another set of controls for pentagons, hexagons, heptagons, octogons, etc, plus all their starry variations; you could just let the combination of a flexible UI and the createPoly() function do that work.

I pointed out MultiMerge because it's an example of a fuse that adds controls as-needed. The limitation is that there's not a good way of forcing the control panel to update with the new controls—you have to switch to another tab then back again to make them show up.

Or you could skip the modular controls and just have a 'Number of sides' control for each of the existing polygons instead of Triangles, Squares, and Circles.

edit: Actually, as I think about it, the MultiMerge example isn't necessarily a good one because it depends on counting connected inputs to be able to rebuild its control panel. You'd need a different method of remembering how many layers there were supposed to be upon reloading the comp. CustomData, maybe? Well, put that off for a while. I still think letting the user choose how many sides for the polygons is a more flexible way to go than hard-coding them.

Having looked at your shape, I now think I may have completely over engineered this.

I think it was because I looked at the JSplacement and it's use is varied so it mixes things etc together.

As someone said in another thread, fusion's way is to compartmentalise tools then put them together. Rather than try and get over complicated by trying to manage layers within the tool, which as you said is not trivial, the tool should be simpler.

My point is perhaps this should be a tool that generates a grid of simple random single shapes(defined using the controls of your shape(with perhaps a couple of extra options(e.g line thickness))). The user can then use multiple versions merged together to get the look they want. e.g 1 greebler doing squares, another doing lines which could be merged,masked, channeled etc to get a look. That is after all how I used it in the examples.

I think I was trying to make it a one stop shop with all controls in a single node which is not necessarily fusion's way.

Greebler2:Electric Greebaloo
Greebler2 - just when you thought it was safe to greeb in the fusion
Greebler is back - and it's never even been here before(if anyone gets that one I will be impressed)

In fact it's just version 0.5. Much much simpler, to get complex effects just merge etc greeblers together.(if you want lines make sure solid is off and put sides to 2 - nothing will appear if you have solid and 2 sides)

Thanks to Bryan for helping me see the wood from the trees.

Greebler.fuse

You do not have the required permissions to view the files attached to this post.

As someone said in another thread, fusion's way is to compartmentalise tools then put them together. Rather than try and get over complicated by trying to manage layers within the tool, which as you said is not trivial, the tool should be simpler.

My point is perhaps this should be a tool that generates a grid of simple random single shapes(defined using the controls of your shape(with perhaps a couple of extra options(e.g line thickness))). The user can then use multiple versions merged together to get the look they want. e.g 1 greebler doing squares, another doing lines which could be merged,masked, channeled etc to get a look. That is after all how I used it in the examples.

I think I was trying to make it a one stop shop with all controls in a single node which is not necessarily fusion's way.

I'd be interested in other points of view on this.

Yes, providing building blocks (nodes) doing one thing will allow a user to combine them in ways you maybe didn't think of. That's indeed the way to do it. Looking forward to see your fuse evolve.