CGTalk > Sponsored Challenges and Awards > Past Challenges (Archives) > Eon (Model)
Login register
Thread Closed share thread « Previous Thread | Next Thread »
 
Thread Tools Search this Thread Display Modes
Old 10-12-2006, 01:59 PM   #61
GonzaloGolpe
Now
 
GonzaloGolpe's Avatar
portfolio
Gonzalo Golpe
Concept Artist
España
 
Join Date: Mar 2005
Posts: 1,956
I like the idea of abstration to show us a future human world.Good luck to you!
__________________
PORTFOLIO
PROJECT 1
FACEBOOK
TWITTER
 
Old 10-12-2006, 08:12 PM   #62
Intervain
....
 
Intervain's Avatar
CGSociety Member
portfolio
Magdalena Dadela
Senior Character Artist
Ubisoft Toronto
Toronto, Canada
 
Join Date: Mar 2005
Posts: 4,560
the abstract tests are looking really good and promising especially like the last one!
__________________
www.mdadela.com



 
Old 10-12-2006, 11:48 PM   #63
taavi
healthy sceptic
 
taavi's Avatar
portfolio
Taavi Torim
graphic designer
Estonia
 
Join Date: Jul 2004
Posts: 394
Hey James, Your abstarct design has definitely strong mojo
One of my favourites. Good luck!
__________________
my Master & Servant Challenge>
http://www.cgtalk.com/showthread.php?threadid=229439
 
Old 10-13-2006, 09:19 AM   #64
Zapan
CG Snail ... Again
 
Zapan's Avatar
portfolio
Stephane Brouty
Character Artist
Lyon, France
 
Join Date: Mar 2004
Posts: 2,705
Send a message via MSN to Zapan
Heya James !

The amazing work continues .... the concept is just great , and the library looks very modern and huge and "hi tech" ... pretty much like I was picturing it while I was reading !!

So I just can't wait for the next !!

cheers ,

-Zapan
__________________
Dominance War V
Secret Agent
Anatomy Thread

"One today is worth two tomorrows"
-Benjamin Franklin-
 
Old 10-13-2006, 10:41 AM   #65
flyingP
.....quack
 
flyingP's Avatar
portfolio
Brian Read
Freelance Illustrator
Germany
 
Join Date: Jun 2003
Posts: 4,229

as you know, no time to join myself, but I'm warning you that I will find the time to come and stick my nose in here ...... just not on Thursdays it would seem

nah what the hell, sounds like an interesting concept wabbit
__________________

 
Old 10-13-2006, 09:59 PM   #66
JamesMK
Flipping bits
 
JamesMK's Avatar
portfolio
James Kaufeldt
Freelancer
Triassic Asylum
Kalmar, Sweden
 
Join Date: Feb 2003
Posts: 8,335

Evenin', dudes and dudettes.

Oh, the greek and the pig have found my thread... this cannot possibly be a good sign.

Anyways, been fiddling around a bit more - update below

--------------------------------------------------------------------------------------
 
Old 10-13-2006, 10:00 PM   #67
JamesMK
Flipping bits
 
JamesMK's Avatar
portfolio
James Kaufeldt
Freelancer
Triassic Asylum
Kalmar, Sweden
 
Join Date: Feb 2003
Posts: 8,335

Concept Sketch or 3D pre-visualization: More experiments



Have added, and subsequently removed again, lots of stuff. Then I added some other stuff instead, and kept it. Anyhow, I think the archway may have a reasonable amount of various chunks going in different directions now.

Played around with some lights too in order to see how far I could get with just a bunch of square, squeezed spots.

Next task will be to find a decent method to add a couple of millions (literally) of books in the silo, and just generally flesh things out to get from previs to actual production level of detail.
__________________

xenomata

Be indiscreet - do it continuously.

Last edited by JamesMK : 10-13-2006 at 10:02 PM.
 
Old 10-13-2006, 10:05 PM   #68
shakes
backslidden
 
shakes's Avatar
portfolio
John Shakespeare
cartoonist
Sydney Morning Herald
sydney, Australia
 
Join Date: Feb 2004
Posts: 2,631
nice light setup james. look forward to seeing all those millions of books! i expect seperate titles on all of them. har
 
Old 10-13-2006, 11:14 PM   #69
DaVee
Element_Air
 
DaVee's Avatar
portfolio
David GRESET
xx
No
BESANçON, France
 
Join Date: Feb 2004
Posts: 564
Send a message via ICQ to DaVee Send a message via AIM to DaVee Send a message via MSN to DaVee Send a message via Yahoo to DaVee
Nice model, and very clean.

David.
__________________
Wake up !!
|| website ||
 
Old 10-14-2006, 02:27 AM   #70
TheFirstAngel
moonstruck
 
TheFirstAngel's Avatar
portfolio
Sacha Angel Diener
concept artist/illustrator
Character Development & Digital Painter, FantasyFlight Games
Switzerland
 
Join Date: Jul 2003
Posts: 4,521
Send a message via MSN to TheFirstAngel

Cool

looks great, very playful but stylish constructions stuff it with books ^^
 
Old 10-14-2006, 10:07 AM   #71
jddog
click for more options
 
jddog's Avatar
portfolio
Julien Daulte
Owner
Effectred
Muralto, Switzerland
 
Join Date: Jun 2003
Posts: 3,053
here we are: very interesting architectural structor, love it. Here you have a lot of potential to reach an excellent space int your library. the small bridge now give the immensity of space sensation
__________________

Effectred. Creative Studio
www.effectred.com
 
Old 10-14-2006, 02:17 PM   #72
flyingP
.....quack
 
flyingP's Avatar
portfolio
Brian Read
Freelance Illustrator
Germany
 
Join Date: Jun 2003
Posts: 4,229

great......where are the worms ??
__________________

 
Old 10-14-2006, 07:59 PM   #73
TheSoracle
Animation Admirer
 
TheSoracle's Avatar
portfolio
Steven Ritchie
Associate Planner
Critical Mass
Calgary, Canada
 
Join Date: Apr 2006
Posts: 454
!!! "Rough Geometry test" ALready it is better then my whole project!! Wow, great modelling, lighting and texturing so far. Even if it is still rough.

Great work! Keep up awesomeness JamesMK.


-Steven
 
Old 10-16-2006, 09:42 AM   #74
MacAndre
Know-it-All
 
MacAndre's Avatar
portfolio
andre richter
grafik designer
gladbeck, Germany
 
Join Date: Feb 2003
Posts: 425
nice architectural visualisation looks very promissing in me eyes...
__________________
Er zog los um Abenteuer zu suchen, durch deren Überwindung er ewigen Namen und Ruhm gewinnen würde.
 
Old 10-17-2006, 07:17 PM   #75
JamesMK
Flipping bits
 
JamesMK's Avatar
portfolio
James Kaufeldt
Freelancer
Triassic Asylum
Kalmar, Sweden
 
Join Date: Feb 2003
Posts: 8,335

For whom the script tolls

Um, cheers guys...

[No, the worms have not yet arrived. I actually didn't even know I was supposed to have any to be honest.]

Anyway! Concerning the task at hand - how to add an insane number of books to the silo? After thinking about it for a while, I've decided to combine low poly bookshelves with colour and displacement maps. To do that however, I need a reasonable method to generate lots of unique textures that look like lots of books.... Given the total amount of shelves, around 2000-2500, of which several hundred might be visible simultaneously in any given shot, it's important that these maps look believably random - i.e. I don't want any obvious repetition. That in turn means I probably need at least 50 different maps, each one representing 300-400 individual books.

After studying typical library bookshelves in a deeply scientific way (that is, looking at them for a few minutes while saying 'hmmmmm...' and thoughtfully scratching my beard) I wrote down a couple of basic rules for bookshelf population patterns, and started coding a script that would generate endless variations to be rendered out as textures.

So, here's SBCGAL - Stochastic Bookshelf Content Generator for Alexandria Library!

After setting various parameters such as book thickness and height intervals and so forth, it's merely a matter of a single click to generate stuff like this, with as many randomly assigned materials one cares to create beforehand:



My next job is to make a load of decent book materials, generate a bunch of these simple shelf sets and start rendering textures.

As a token of infinite kindness, the full script is found below here for ye olde copy/paste operation... It's not perfect by any means, but good enough to do this particular job. Since it's written in COFFEE, it will only run in Cinema4D, and because I wrote it for R10 it's rather unlikely that it will run in any earlier version without modification... but anyway... here it is:

Code:
// ------------------------------------------------------------------- // SBCGAL - // Stochastic Bookshelf Content Generator for Alexandria Library ;) - // COFFEE script for Cinema4D R10 - // (c)2006 James Kaufeldt - // LICENCE: - // GNU General Public License - http://www.gnu.org/licenses/gpl.txt - // ------------------------------------------------------------------- // CONSTANTS - Adjust these values to influence the overall result: var gap = 3, // inbetween padding, adds space to the right of each book w_min = 10, // mimimum width (thickness) for the books w_max = 60, // maximum width h_min = 200, // minimum height h_max = 340, // maximum height b_depth = 200, // constant depth for all books t_max = 0.4, // maximum angle (in radians, not degrees) for tilted books t_prob = 0.05, // probability factor for books to be tilted v_prob = 0.05, // probability factor for empty slots shelf_width = 2000, // total width of each shelf shelf_height = 400, // height of each shelf level shelf_num = 7; // total number of shelfs to fill // Do not edit code below this line unless you know what you are doing // ----------------------------------------------------------------------- // PRE-DECLARATIONS: makeBook( rand, y_baseline, x_left, gap, w_min, w_max, h_min, h_max, b_depth, t_max, t_prob, v_prob, shelf_width ); countMaterials(doc); addRandomMaterial(rand, doc, op); // GLOBALS: var previous_tilt = 0; var previous_empty = 0; var booknum = 0; var parent; // MAIN: main( doc, op ) { // add a null object to hold the books: CallCommand(5140); parent = doc->GetActiveObject(); parent->SetName("Books"); // add and initialise random number generator instance: var rand = new(Random); rand->Init(time()); var r = 0, y_base = 0, x_left = 0; // infinite loop - calls makeBook() repeatedly and breaks out when the bookshelf is filled up: while (true) { r = makeBook( rand, y_base, x_left, gap, w_min, w_max, h_min, h_max, b_depth, t_max, t_prob, v_prob, shelf_width ); x_left = r; if (r == 0) { y_base += shelf_height; if (y_base/shelf_height >= shelf_num) break; } } CallCommand(100004767); // deselects all objects } // IMPLEMENTING makeBook(): makeBook( rand, y_baseline, x_left, gap, w_max, w_min, h_max, h_min, b_depth, t_max, t_prob, v_prob, shelf_width ) { // Calculate random dimensions for the new book: var xsize = (w_max - w_min) * rand->Get01() + w_min; var ysize = (h_max - h_min) * rand->Get01() + h_min; var zsize = b_depth; // Check if book should be tilted: var b_angle = 0; if (rand->Get01()<= t_prob && previous_tilt==false && previous_empty==false) { b_angle = t_max * rand->Get01(); previous_tilt=true; } else { previous_tilt=false; } var tiltoffset = sin(b_angle)*(ysize); // Return 0 and discard book if there is not enough room on the current shelf: if ((shelf_width - x_left) <= xsize + tiltoffset) { return 0; } // Return new x_left and bail out without adding new book if this should be an empty slot: if (rand->Get01()<= v_prob && previous_tilt==false) { previous_empty==true; return (xsize + x_left + gap + tiltoffset); } else { previous_empty==false; } // Create the new book: CallCommand(5159); // adds a cube var bookob = GetActiveDocument()->GetActiveObject(); bookob#PRIM_CUBE_LEN:VECTOR_X = xsize; bookob#PRIM_CUBE_LEN:VECTOR_Y = ysize; bookob#PRIM_CUBE_LEN:VECTOR_Z = zsize; // Calculate multiplier to direct tilts randomly to the left or right: var tbias = 0; if (int(rand->Get11()+0.5)){tbias=1;}else{tbias=-1;} // whoa, obfuscation... // Translate: bookob#ID_BASEOBJECT_POSITION:VECTOR_X = x_left + (xsize/2) + tiltoffset/2; bookob#ID_BASEOBJECT_POSITION:VECTOR_Y = y_baseline + (ysize/2); bookob#ID_BASEOBJECT_POSITION:VECTOR_Z = 0; bookob#ID_BASEOBJECT_ROTATION:VECTOR_Z = b_angle * tbias; // Place cube as child of parent null and give it a name and number: if(parent) { bookob->Remove(); bookob->InsertUnder(parent); var booknumstring = tostring(booknum); bookob->SetName("book_"+booknumstring); booknum++; } // Apply random material: addRandomMaterial(rand, GetActiveDocument(), bookob); // Return the new x_left value to offset next run: return (xsize + x_left + gap + tiltoffset); } // IMPLEMENTING countMaterials(doc): countMaterials(doc) { // Returns the total number of available materials in the document: var mat = doc->GetFirstMaterial(); var i = 0; while(mat) { i++; mat = mat->GetNext(); } return i; } // IMPLEMENTING addRandomMaterial(...): addRandomMaterial(rand, doc, op) { // Calculate random number between 0 and max.materials: var random_material = int(rand->Get01() * countMaterials(doc)); // create a texture tag and set it to UVW Mapping: var ttag = AllocTag(Ttexture); var tbc = ttag->GetContainer(); tbc->SetData(TEXTURETAG_PROJECTION, 6); ttag->SetContainer(tbc); // loop through available materials until random number reached: var mat = doc->GetFirstMaterial(); var i=0; while(i < random_material) { mat = mat->GetNext(); i++; } // apply tag to object, then material to tag: op->InsertTag(ttag); ttag->SetMaterial(mat->GetMarker()); } // ------------------------------------------------------ end ------------------------
__________________

xenomata

Be indiscreet - do it continuously.
 
Thread Closed share thread


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
CGSociety
Society of Digital Artists
www.cgsociety.org

Powered by vBulletin
Copyright ©2000 - 2006,
Jelsoft Enterprises Ltd.
Minimize Ads
Forum Jump
Miscellaneous

All times are GMT. The time now is 08:42 PM.


Powered by vBulletin
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd.