Welcome to! Click one of these buttons to join in on the fun.

Local TutorialQuick Greebling in Blender

McCMcC373 Posts: 704Member
edited March 2020 in Tutorials #1
Here's a nifty trick I stumbled across and then fleshed out a bit more, which I think will be of use to a lot of the community. Props to YouTuber Ryan Devenney and this video for inspiration.


Greebles. If you're modeling a spaceship, chances are you're going to need some greebles at some point. While precise replication of an existing studio model may demand exacting modeling of each little cube, pipe, and hemisphere dotted across a ship's surface, most of the time that level of exacting replication isn't necessary. That's where this technique comes in handy.

First, a demonstration of the general principle.

I. General Purpose Tutorial

1. Base object

Create a cylinder. This is your hypothetical starship hull. It could be a cube or a plane just as well, but doing it with a cylinder proves this technique works in more than just easy cases!


2. Make greeble objects

Now, create some other objects. These will be your greebles. They can be whatever you want. Make some boxes, with varying scales. Make an icosphere. Make another cylinder. Anything you like. Don't spent more than 30 seconds on any of them. The point (for the moment) is not building a crazy greeble library (though this technique can be applied to one!). I moved the pivot points/origins on some of these objects to be on their "bottom" face. The only thing I strongly recommend is that you not make the "bottom" of each object coplanar with the others, relative to their origins. Vary them a bunch. We'll touch on why later.


3. Collect 'em all!

Add all of these objects to a Collection (Ctrl G, by default). Call it something memorable.


4. A hairy situation

Back on your cylinder, go to the Particle Settings tab of the Object Properties panel. Click [+] to add a particle system and change it from Emitter to Hair. Yes, Hair. We're going to adjust some Emission settings later, but you can leave them as-is for now. Do turn on Advanced and (then) ]Rotation, however.


In the particle settings, go down to Render and change Render As to Collection. Under the now-present Collection submenu, choose your Greeble collection. You'll immediately see some cool stuff, but make sure you turn on: Pick Random (so objects are chosen at random from the collection), Object Rotation (so you can rotate your greeble objects to reorient, if needed), and Object Scale (so that you can scale them and see that respected). Go back up to Rotation and set Orientation Axis to Normal, so that our greebles are oriented to our object's face. The rest of the settings can be left at default. Phase can be fun, as can Randomize Phase. Randomize itself is not as useful because it leads to chaotic greebles, but play around with it to your heart's content.

Having done that, you may also want to rotate some of your greebles at this juncture!


If you want to adjust the proportion of the objects, so that some appear more often than others, you can do that under the Use Count section after checking the checkbox. If you have one object you only want to appear once for every 100 objects, you can set it to 1 and then evenly divide 99 amongst the others available, for example. Maybe I want my icosphere and smokestack greebles to be relatively rare, so I'll set them to 1 and the rest to 5.


You may have noticed that we just have a band of greebles along our cylinder right now. That's governed both by our cylinder geometry and the Source settings under Emission. We could just subdivide our cylinder to get more greeble bands, but instead, let's change Distribution from Jittered to Random* and crank up Number to something like 2000 -- thisis why you keep your initial objects simple! You can also adjust Hair Length (which governs object scale) if needed. Segments can just be 2 (the minimum), since we're not actually trying to use the Hair system to do Hair here.

* (Sidebar: you can use Jittered and play around with Particles/Face and Jittering Amount to get nice-looking distributions, as well, and for some seed surfaces this may be the exact right thing to do. For this example, Random worked better.)


4. Make it real

Alright, now we've got this virtual greeble surface geometry. How do we make it real? Flip over to the Modifiers tab and you'll find a modifier for our ParticleSettings, with a handy [ Convert ] button on it. Push it! ...and then wait a while for the "hair" greebles to bake into a single object. Unfortunately, this appears to be a single-threaded process, so it can take some time. Eventually, you'll find yourself staring at a whole bunch of selected objects (2000, to be exact!). Cool!

Once you've done this, remove the particle system from the Cylinder object!


5. Mass-Booleans (Optional)

But wait...trying to mess around with 2000 objects sounds awful. Can we do anything about that? We can, and our saving grace here is the BoolTool addon that comes bundled with Blender. BoolTool is aimed at making boolean operations slicker. It's still the basic boolean modifier operations under the hood, but it's a nicer interface for certain operations...including mass-applying boolean operations to several objects at once!

How you approach this depends largely on your system. With a beefy enough system, you (probably) could select all 2K greeble objects and run BoolTool > AutoBoolean > Union, then walk away for a few hours while it churned through everything. For my part, even with 2K objects, I was inclined to pick smaller batches to do at a time, starting with just 10 and then working up until I found a number that felt like a decent balance of "Blender is just busy" and "...did Blender crash?" responsiveness. 50 took about 20 seconds; 100 about a minute. I settled somewhere between 100 and 200. The other potential issue here is that if one boolean operation starts causing nonmanifold geometry that propagates boolean errors forward, the entire operation will end up with a garbage result, so doing them in smaller batches lets you catch this earlier.


Note 1: you need to make sure one of the objects in your selection is the active object, or BoolTool will give you an error.

Note 2: Boolean operations hate overlapping faces (and objects with malformed/inconsistent/wrong-facing normals!), which is why I advised not making any of your greeble objects have coplanar faces relative to their respective origins! If you find your greeble objects are resulting in terrible boolean results, one trick you can try is using Object > Transform > Randomize Transform with all of your greeble objects selected, and restrict the randomization to location and/or scale, keeping the variations very small. This will jitter the faces enough per-object that the boolean operation should complete OK, without drastically affecting the placement of your greebles.

Note 3: It's not strictly necessary to boolean all of them together, and in some cases you may not want to, but the next step is made easier by doing so, and if you intend to apply a geometry bevel (as opposed to shader bevel) to your greebles, having them be a single object will make those beveled edges look nicer.

6. Detail applied

One benefit to combining everything into one object -- although, admittedly, BoolTool would allow you to do this without having to combine everything, too -- is that you can then further carve up your greebles to fit them to specific places on your geometry, which in turn also makes them take on additional unique shapes on top of what they've already got.


II. Practical Example

To put my money where my mouth is, here's an example of using this technique on a part of my Coronado model. The sensor wells were looking a little bare with just the big greeble objects in place; too plain. To fix that, I chose a small subset of the faces on which I wanted additional surface detail and duplicated + separated them out to their own object. I applied the method above, then created further boolean objects from the larger original surfaces in order to isolate the greebling detail to just locations where I wanted it.


Hope this is useful to you!
Post edited by Guerrilla on
P5ych0p4thora tzoFreakGuerrillaComcowolfmanSystemSearcherseanr
Sign In or Register to comment.