[Plugin] Random Painter (Updated March 9th, 09)
-
@unknownuser said:
Todd is defeated! You are brutal with him
No, its not like that. Todd's script does a lot more thinking than mine. His works so that every other face is painted to create a checkerboard pattern. Mine will do no such thing. Mine just randomly paints the faces. Both have their uses.
I know of a ruby add-on that gives a color wheel thing. I'm going to try and see if I can figure out how to get it to work with this plugin so you can use a color wheel to pick the colors instead of typing them all in by hand. I make no promises on this one though,
Chris
-
Here are a few more views:
And here's the thread that inspired this exercise:
http://www.sketchucation.com/forums/scf/viewtopic.php?f=72&t=15785 -
@unknownuser said:
Phone Todd to stop his script!
Both scripts are very different, each serves a different purpose. I am already thinking of a couple of creative uses for Todd's script, both related to Greeble... You have to see beyond mere colors and into the selection possibilities of these tools.
And Pilou, you don't need to worry about entering precise values when using "Random Painter". Just click on the Red box and input "1", hit Enter, then "2", hit Enter, then "3", until you have the number of colors/materials you want. And then replace those "placeholder colors" with Any Colour You Like, one by one, with the Bucket tool + Shift.
Almost forgot: Here's the SketchUp file of "Greeble City":
-
Awsome, the way you do it Chris .
Ecuadorian, i like very much this city view ;thanks for the trick
Pilou, tu es un beta testeur de classe Alpha
MALAISE
-
Thanks everyone! And wow!, that is a great usage for the script Ecuadorian! Maybe I'll play around with seeing if there is a way to use a folder of jpgs as the random materials instead of random colors. THen you could put all the building materials into a folder and just choose the folder and off it goes! But that might be over my head, I don't know.
But what I wanted to say was that I updated the script!
NEW!
Now there's a color palette for you to choose your colors from. It also lets you enter RGB values if you'd like. It does not allow for hex numbers though Frenchy, so no copy and paste still. This version requires WxSU plugin. So please install it and then install my plugin and see how it goes, hope you like the improvements. Also, I just added a prompt asking if you want to paint the backside of faces too. If your version doesn't ask that, then redwonload my plugin. It looked like a few people downlaoded the version that did not have that implemented yet.
Chris
-
great script, thanks
-
New York rebirth
WxSU Ruby is 2 649 742 size ? (as 2,6 Gigas?)
Seems not reasonable loading -
As 2.6 Megas.
-
Amazing stuff, Chris.
This plugin comes in handy for an architecture project I am working on.
Thank you very much ! -
@ecuadorian said:
This exercise was inspired by a $4,000 program for "parametric" generation of cities I saw on the web. I just wanted to prove that you can "random generate" cities in SketchUp, too. Thank you a lot, Chris, for delivering the missing link to make this possible.
I saw that software as well. Played around with rubies to quickly generate some simple buildings.
With all these various plugins, it should be possible to make a City Generator script which automates the process you just did. What would be more interesting is if there was a script to generate streets in a non-rectangular pattern. Seeing how nearly every city is more organic laid out.
-
@unknownuser said:
As 2.6 Megas.
Many Thx! Seems more reasonable
I had asked that because loading was not working till yet for me
Edit : works -
This is how I am using the plugin.
-
Very more confortable for the color choice!
About the greeble, there is now a message between each new generations: is that normal?
-
@thomthom said:
With all these various plugins, it should be possible to make a City Generator script which automates the process you just did. What would be more interesting is if there was a script to generate streets in a non-rectangular pattern. Seeing how nearly every city is more organic laid out.
THat's precisely what my plan is Thom. My decision to get into scripting came immediately after a marathon weekend of modeling the entire city of San Jose (in California). I thought there needs to be a better way to make filler buildings. Thats why I started with the greeble script. I'm hoping to grow it into more of a building generator.
But I had not considered using the colors like this. Its really quite nice. I'm impressed with how everyone is using it! I wish I could get the custom colors to remember what they were set at. But that seems impossible at the moment.
@Frenchy - sorry aboutt he greeble popping up a number message everytime you greeble. That was part of my testing and I thought I clread it out before uploading. So I uploaded another version of it to get rid of that annoying pop up if you'd like. Thanks for your patience!
Chris
-
@chris fullmer said:
THat's precisely what my plan is Thom. My decision to get into scripting came immediately after a marathon weekend of modeling the entire city of San Jose (in California). I thought there needs to be a better way to make filler buildings. Thats why I started with the greeble script. I'm hoping to grow it into more of a building generator.
I'm in particular interested in working out an algorithm to generate a streetmap. I'm thinking that a script would take a face and generate streets represented by single lines. Now it should be possible for the greeble script to split up the faces in between the streets and construct buildings. I hope to find some resources on the internet on creating procedural formulas, which a person without a math doctor degree can understand.
-
@thomthom said:
I hope to find some resources on the internet on creating procedural formulas, which a person without a math doctor degree can understand.
Thats the key, isn't it?! I'm surprised at how complex some things are to do.
Chris
-
Ok, this is what I did with Random Painter + Random Push Pull + Greeble. As I just need Random Painter as a placeholder for different materials, I just entered sucessive values: Green 10, Green 20, Green 30, etc., and in the second example Red 20, Red 40, Red 80. Then I replaced those colors with materials I had prepared, and which I am attaching here.
First, I made a 1Km x 1Km square, and divided it with SCF Toolbar's Greeble several times. Then I Protruded it 100m with offset 4-12m.
I copied the upper faces and deleted the rest. Then I divided those faces even more and again, protruded them 100m with offset 1-3m, again kept only the upper faces and procedded to "random paint" them with Green values from 10 through 110. Why Green? Because that's my favorite color.
I then proceeded to replace those colors with the 11 high-rise textures I had downloaded from cgtextures.com (I had resized them to 12 pixels height (EDIT: 120 pixels) to keep the file manageable). I just used the paint bucket + Shift. I am attaching that material library as a zip file so anyone can use it.
I then made three concentric groups of those faces. To make the groups, I changed to a Top view, rotated 45 degrees and used right-to-left marquee and Right click > select > all connected. For the outer ring, I used random push-pull 45/9m. I also re-pasted the faces from the first step and pushed them 20cm to act as sidewalks.
The middle ring was random pushed/pulled 90/18m, and after this graphic, the inner group was random PP 180/36m.
I then changed to Parallel projection > side view and carefully selected all the roof faces with a left-to-right marquee. After that, I "random painted" them with Red values 20, 40 and 80.
Finally, I replaced those red colors with roof textures. I then re-built the 1Km x 1Km square again to represent the streets. That's it! Greeble City made possible thanks to your "Random Painter"!
This exercise was inspired by a $4,000 program for "parametric" generation of cities I saw on the web. I just wanted to prove that you can "random generate" cities in SketchUp, too. Thank you a lot, Chris, for delivering the missing link to make this possible.
-
some starting points - http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/Documents
-
If someone has already worked on a "city generator" and makes it available for free, It wouldn't hurt to try and convince him to join the SketchUp Community and adapt those algorithms for SketchUp (either commercially or for free), share his source code, or provide an output in a 3D format SU can import. Check these efforts:
This guy wrote a city generator include file for POV Render. The zip download includes the city script (which you can peruse with any text editor), some pre-made buildings in .obj format, and some documentation in .txt format:
http://www.geocities.com/ccolefax/citygen.htmlAnd here's a way more sophisticated free city generator, scripted for Softimage's XSI (Now part of Autodesk):
http://www.paoloemilioselva.it/citygenerator.html -
My internet goes down for a week and so many great things happen on this site!
Thanks so much Chris. I've been using 3DS Max a lot this week and one of the things I was playing around with quite a bit is the "Material by Element" modifier. When a Multi/mixed material is applied to an object, the modifier will randomize the various sub materials among the different elements nested within the object. It also allows you to add a percentage of each sub material that the modifier will apply.
Max has material ID numbers which allow for the connection between materials and modifiers to be more fluid. I was wondering if there were a way via ruby to perhaps set the Random Painter script to call materials based on a naming function. Let's say I wanted to apply 5 random textures, or 5 variations of a single texture to group of faces. If those materials were named as Random_1, Random_2, etc, could the scripts be modified to called those textures and randomly apply them to the desired faces?
Advertisement