HowTo: quick Greeble City from plan-spline


#1

A few days ago i toyed arround with a simple cityplan-spline from Vienna (place where i live) imported from illustrator. This was to help out a student who posted the problem on an austrian computer graphics forum. Find the original thread here (german only). Hence i searched for a quick way to generate a random city with acceptable complexity using greeble, based on that spline.

Finally i used the following steps to produce the city:

  • pro-cutter to cut the city spline out of a plane primitiveNote: adding “mesh select” to the spline allows it to be picked as cutter object,
    you can delete this modifier later since pro-cutter does the mesh conversion internally* extracted the base spline as instance to keep everything tweakable
  • for buildinglike mesh topology i used “Quad. Tesselation” in Pro-cutters “advanced options”
  • i placed a “volume select” and a “delete mesh” modifier on top to get rid of unneeded parts
  • at last of course i placed the “greeble”-modifier with fitting parameters on top of the stack

I was quite satisfied with the easy and quick results and amazed about the fact that everything is still fully tweak- and changeable !

  • edit the base spline to interactively change city’s layout (fun to watch greeble build !)
  • adjust Pro-cutter “Quad-size %” value for building block sizes & numbers
  • play with greeble’s parameters as usual :wink:

I’m quite sure there are some steps in the procutter usage that could be simplified, so please feel free to post suggestions.

Attached are some pics and the Max9 scene using Pro Cutter. This is a subscription-only plugin for Max 9, but integrated in Max 2008 and later. And most important, it uses the great and free greeble plugin (big thx to Tom Hudson for this !) http://max.klanky.com/

Here are the files…


#2

Looks good. Nice job!

Question: How do you know how much you have to extrude the mesh? I can see that some buildings are obviously higher then other. What was your approach on this?


#3

there is no extrude operation involved or something similar - the magic building stuff including building randomization is all done by greeble. The main problem for greeble is always to supply it with some reasonable floor tesselation - this is achieved via procutter and it’s quad option in my solution…

Another note:
the buildings in my example miss details - of course you can place another greeble layer on top of it, or even adjust the initial greeble settings to get a LOT more details…
I had to switch off some details in the greeble modifier , because the original request was for realtime…


#4

Hi,

Nice one - there were some really lovely ones done the same way on mattepainting.org by Glenn Mellenhorst, but I think they pics have gone.

One thing I’ve never really seen addressed is mapping the greeble surfaces accurately.

Do you tend to do face mapping, and if so is stretching a problem? I guess you could use real-world co-ordinates and not face map, but then you might get windows getting chopped off at the corners?

Or do you not worry about it viewed from these kind of distances?

Cheers

Steve


#5

Hi Steve

no clue - i’m no heavy user of greeble i’ve to confess, so i can’t speak of any experiences texturing the thing. I only came up with this solution to help out a student who got stuck when he tried to build such a city with Maya particles or scatter mel-scripts :wink:

Thanks for pointing that link to Glenn Melenhorst on Mattepainting.org - after a little search in the forum i found this thread http://mattepainting.org/vb/showthread.php?t=3986

looks like he got essentialy the same idea with procutter but pushed it far further than me :wink:
So it looks like i’m just one year (almost exactly :slight_smile: ) late with my findings - but i have’nt seen his work before - i swear :bowdown:


#6

Yeah, it’s a very cool technique.

I’m going to have a look at mapping again tomorrow.

From what I recall facemap turns off real world co-ordinates, so if you use that, you could get windows stretched along the side of the building depending on the height, rather than being a fixed height.

The alternative is to unwrap it (but then you lose the chance to adjust the underlying shape), or box map it and use real-world co-ordinates. But then you could get windows cutting off at the corners.

I seem to vaguely recall a plugin which had a better stab at face mapping - can’t remember who wrote it though.

edit - http://www.vg2max.spb.ru/PolygonMap.htm

Cheers

Steve


#7

Whoa -
Tom Hudson posted some info that he’s working on greeble 2 with some great additions including texturing options…

http://forums.cgsociety.org/showpost.php?p=5848165&postcount=5


#8

Awesome.

The stuff mentioned is a wishlist I’ve had for a long time.

Cheers,

Steve


#9

Hi Josef,

looking at your scene, I’m trying to figure out how you’re applying ProCutter to the spline.

When I do it, I can’t use a spline as the basis for a cutter object, but your stack has it going from a spline to a cutter compound object?

Before, I’ve extruded the spline and done it that way - I’m just curious as to how you’re getting it to work.

Cheers

Steve


#10

ha - i think i placed a mesh select on top of the spline before i added it to pro-cutter
later on it seems i deleted it from the spline’s stack during a scene optimization pass.
Pro-cutter does the to mesh-conversion internally like most modifiers do, but of course this is a little confusing here :wink:
A simple spline itself is not addable to procutter as it seems - you are correct !

By the way: I suspect extrude to produce double vertices even with 0 height - so i always place a mesh select on top of planar splines i want to become a surface…

Another nonsense i detected in my setup:
The planes resolution is totally irrelevant ! Pro-cutter does the tiling all by itself without considering the plane tiling - i changed the scene and the initial post
The higher plane resolution only leads to less performance of course…


#11

Heh, no worries - I just couldn’t work out how you were doing it :slight_smile:

Back to the texture mapping…

Yeah, if you face map, then textures can distort - so it’s either do that or box map and have textures clip, or possibly stretch if the buildings stray off the horizontal/vertical too much.

I think in your example, you might find it easier if you stack 2 greebles on top of each other - one to do the streets (0 height and tapered, with tops selected and another greeble on top of that, with optional widgets for vague roof detail)

That would make it easier to assign materials to the roof of buildings, but you lose the ability to have more varied buildings from the widget shapes…

That said, you could always use a falloff map set to object z-axis so anything that’s pointing up will be one material and any verticals are another.

Cheers,

Steve


#12

This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.