Tue, Nov 19, 11:51 AM CST

Renderosity Forums / Poser - OFFICIAL



Welcome to the Poser - OFFICIAL Forum

Forum Coordinators: RedPhantom

Poser - OFFICIAL F.A.Q (Last Updated: 2024 Nov 18 10:25 pm)



Subject: Procedural Geometry - Some WIPs


bagginsbill ( ) posted Fri, 23 October 2009 at 3:41 PM · edited Tue, 19 November 2024 at 11:50 AM

Some of you may have seen me talking about working on Python scripts to generate architectural props - walls, doors, windows, etc. I thought I'd share some work-in-progress stuff in this thread. I have no specific commercial or freebie plans yet as to what I will do with this technology and its outputs. Certainly some freebies will come out of it, but for now it's just fun.

Of course everybody knows I have spent a ton of time on procedural shaders for Poser. Now that I've been doing modeling for a few weeks, I have found procedural modeling to also be a fascinating puzzle, in some ways even more challenging than shaders.

Everything I will show you was created and posed entirely with Python scripts - I am not doing any positioning of items in Poser - just loading shaders and adjusting lighting. Occasionally I will add some furniture props or something, and I'll note that when I do.
 


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 3:42 PM

file_441645.jpg

A hotel hallway. Doors don't have hardware yet. The lights and furniture and plant are Poser props - not procedural geometry.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 3:44 PM

file_441646.jpg

A living room. Furnishing props added by hand.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 3:45 PM

file_441647.jpg

Window detail. No hardware yet. (Going to add the slides on the side and the window lock).


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 3:46 PM

file_441648.jpg

Those others I posted before in other threads. Here's something new.

Today I started working on hardware. Here is a WIP model of a door hinge, in wireframe.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 3:46 PM · edited Fri, 23 October 2009 at 3:48 PM

file_441649.jpg

And here, rendered with a few different shaders on it.

I'm working on the bolt next, and then a function to generate screw heads.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


SamTherapy ( ) posted Fri, 23 October 2009 at 4:03 PM

Very nice, BB.  Extremely impressive.

Can't wait to see the next steps. 

Coppula eam se non posit acceptera jocularum.

My Store

My Gallery


bagginsbill ( ) posted Fri, 23 October 2009 at 4:09 PM

file_441651.jpg

I want to show you the steps in building a hinge.

It is all done with an object I have called a QuadBuilder. This class does so many things it's crazy.

We start with a new QuadBuilder, and ask it for a quad. This produces a rectangle. This is going to be the back edge of the hinge.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:12 PM

file_441652.jpg

Now I want to extrude that quad, but with a specific trajectory, so as to make a rounded edge.

First I need a way to make a quarter circle. I have a bunch of handy functions. One of them is circbl function, that makes the bottom left quarter of a circle.

I then pass this function to the QuadBuilder, and using the method "extrudeParametric", it generates a series of quads, joined to the original quad, that follow the function I passed it to make the curved section. It automatically mirrors the curve on top and bottom here.

I can easily control how many polygons are generated by simply changing a single number. In this case, I used 5 segments to sample the parametric function.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:13 PM

file_441653.jpg

Now I use a linear extrude (not parametric) to simply stretch that last quad, making the middle of the hinge.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:14 PM

file_441654.jpg

Another call to extrudeParametric, but this time with the bottom right quarter of a circle.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:15 PM

file_441655.jpg

Another call to extrude, produces a little flange sticking out.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:17 PM

file_441656.jpg

Looking from the right, we see that the last extrusion leaves a rectangular hole. The QuadBuilder is paused on this quad. Now comes some really interesting stuff.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:19 PM

file_441657.jpg

Using a method call lrtb, that partially closes holes, I tell the QuadBuilder to close off the top and bottom.

Then I make a call the method mSplitY, telling it to split itself into two new smaller QuadBuilders, and close the gap between them.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:21 PM

file_441659.jpg

Now I call extrude again. But because the QuadBuilder has split itself into two copies, each copy does its own independent extrusion, leaving two holes.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:23 PM

file_441660.jpg

Another call to extrudeParametric, but this time with a different parametric curve. This curve is actually similar to a quarter circle, but it using a higher exponent so that the corners are a bit more square. I'm left with two small holes.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:24 PM

file_441661.jpg

One more call to quad closes the holes. Remember, I'm not iterating over each hole - I'm just giving instructions to the top level QuadBuilder, and he's delegating to his two workers he created when he split.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:26 PM

file_441662.jpg

The hinge has two interlocking parts. A simple one line change to the script so far produces the other part, that has 3 clones running instead of 2.

Either way, I now have two flat hinge pieces, like you'd get from a metal stamping machine.

I'm ready for the next step.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:30 PM

file_441663.jpg

Now I use a function I'm very proud of. It's called "rollExtrusion". It works the way real metal is worked. A virtual cylinder is placed against the stamped piece, and then the piece is rolled around the cylinder for a specific distance, bending it in a partial circle.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:32 PM

file_441664.jpg

Another call to rollExtrusion, but this time applied to the base of the forks where they join the main piece, and rolled from the back side instead of the front. This rotates the forkes back in line with the base.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:33 PM · edited Fri, 23 October 2009 at 4:33 PM

file_441665.jpg

I go back to the other piece, and do the same rollExtrusion, but  reverse the directions.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


TrekkieGrrrl ( ) posted Fri, 23 October 2009 at 4:34 PM

 Sorry if I'm interrupting.. but.. This hinge.. is it all made with python? (I would think so from your talking of "calls")

This is beyond amazing. I love it! It's like magic happening right before your eyes ^_^

So next step is to bend the flange parts of course. With some sort of circular call. I know nothing about python but I can model things like this and I know what I'd ask my modeller to do (albeit in other terms)

Seriously.. I am tickled pink! Imagine the possibilities! The sky is the limit! And all inside Poser, which is the REALLY NEAT part of it ^_^

FREEBIES! | My Gallery | My Store | My FB | Tumblr |
You just can't put the words "Poserites" and "happy" in the same sentence - didn't you know that? LaurieA
  Using Poser since 2002. Currently at Version 11.1 - Win 10.



Khai-J-Bach ( ) posted Fri, 23 October 2009 at 4:34 PM

silly question. is this exportable to an OBJ?



bagginsbill ( ) posted Fri, 23 October 2009 at 4:35 PM

file_441666.jpg

A final call to combine the two geometries into one piece, and the hinge is done.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


Khai-J-Bach ( ) posted Fri, 23 October 2009 at 4:35 PM · edited Fri, 23 October 2009 at 4:35 PM

Content Advisory! This message contains profanity

Quote - Now I use a function I'm very proud of. It's called "rollExtrusion". It works the way real metal is worked. A virtual cylinder is placed against the stamped piece, and then the piece is rolled around the cylinder for a specific distance, bending it in a partial circle.

.... in shock holy shit man. I'd love that in a modeling app....



bagginsbill ( ) posted Fri, 23 October 2009 at 4:47 PM

file_441667.txt

> Quote -  Sorry if I'm interrupting.. but.. This hinge.. is it all made with python? (I would think so from your talking of "calls")

Yep, all Python. Here is the Hinge script. Of course you need the rest of my "geomatic" library to run it. I'm not ready to share it yet. But you can get an idea of how easy this is by reading over the script.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


bagginsbill ( ) posted Fri, 23 October 2009 at 4:51 PM

Quote - silly question. is this exportable to an OBJ?

Yes. I actually write an OBJ file, then call Poser to load it. This way, all the script works without being in Poser. It can be used in standalone Python as well.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


nekkidchikken ( ) posted Fri, 23 October 2009 at 4:56 PM

[Stares at images in speechless amazement]

The only word I have is unfreakingbelievable! You are AWESOME!


bagginsbill ( ) posted Fri, 23 October 2009 at 5:17 PM

file_441686.jpg

Just for fun, here's a crazy object made using the same techniques, but with different parametric functions, and with more rollExtrusion calls.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


Miss Nancy ( ) posted Fri, 23 October 2009 at 6:02 PM

it's very interesting IMVHO.
if one used a spline modeller, one could get the basic flat shape with rolled cylinder using compound paths (not easy), but the slots in the hinge barrel and the conical holes for the screw heads would be very difficult or impossible in a spline modeller AFAIK.  the user might then resort to booleans (rather than vertex modeller), which usually gives bad results in obj files imported into poser.



SamTherapy ( ) posted Fri, 23 October 2009 at 6:03 PM

I love it!

Coppula eam se non posit acceptera jocularum.

My Store

My Gallery


hborre ( ) posted Fri, 23 October 2009 at 6:14 PM

The next step beyond VSS.


lululee ( ) posted Fri, 23 October 2009 at 7:02 PM

Outstanding! What an acomplishment.
i am looking forward to this.
cheerio
lululee


manoloz ( ) posted Fri, 23 October 2009 at 8:03 PM

with bagginsbill around, who needs revit or archicad?

still hooked to real life and enjoying the siesta!
Visit my blog! :D
Visit my portfolio! :D


Khai-J-Bach ( ) posted Fri, 23 October 2009 at 8:04 PM

so. if I'm right in thinking here, you could infact replace the cylinder for the shaping with say a leg?
is thinking maybe in the future, procedural clothing



Vestmann ( ) posted Fri, 23 October 2009 at 8:26 PM

This is nothing short of truly amazing Bagginsbill! If you create a system around this that's as user friendly as VSS, this will change how we use Poser.  BRAVO!!




 Vestmann's Gallery


bagginsbill ( ) posted Fri, 23 October 2009 at 8:55 PM

Quote - so. if I'm right in thinking here, you could infact replace the cylinder for the shaping with say a leg?
is thinking maybe in the future, procedural clothing

Sure - that's possible. I am tackling "hard" modeling first, because much of this math is not familiar to me yet, and insights are popping into my head daily. Hard modeling seems easier than soft modeling.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


TrekkieGrrrl ( ) posted Fri, 23 October 2009 at 9:12 PM

Quote - Just for fun, here's a crazy object made using the same techniques, but with different parametric functions, and with more rollExtrusion calls.

Heh you should make a "randomize" button that was tied to.. I dunno.. the time or something (aren't most randomizers?) and just have fun with random weird objects. Some of them might be JUST the scrap you were looking for...

Seriously, this could be used to generate random pieces of trash/junk/dirt on the surface of a preselected object. So you could have random trash bits on a street ect. Then add a random shader to it and.. instant clutter ^_^

I like!

FREEBIES! | My Gallery | My Store | My FB | Tumblr |
You just can't put the words "Poserites" and "happy" in the same sentence - didn't you know that? LaurieA
  Using Poser since 2002. Currently at Version 11.1 - Win 10.



wolf359 ( ) posted Fri, 23 October 2009 at 10:04 PM

Impressive work!!
great lateral thinking.

Cheers



My website

YouTube Channel



infinity10 ( ) posted Fri, 23 October 2009 at 10:34 PM

 Cool.  I am particularly interested in the procedural cities.

Right now, I can only use procedural city generation scripts in Blender ( Piiichan's and LittleNeo's - from BlenderArtists.org ).

If and when I can get to use procedural skyscrapers and futuristic cityscapes in Poser - Wa-hey !!!!

Eternal Hobbyist

 


cspear ( ) posted Sat, 24 October 2009 at 8:24 AM

This looks awesome... I'll be following this with great interest!


Windows 10 x64 Pro - Intel Xeon E5450 @ 3.00GHz (x2)

PoserPro 11 - Units: Metres

Adobe CC 2017


MikeJ ( ) posted Sat, 24 October 2009 at 9:28 AM

That's pretty wild there, BB.
I'd love to see you writing Mental Ray shaders or custom modeling scripts for Maya. ;-)



Indoda ( ) posted Sat, 24 October 2009 at 10:02 AM

Amazing - BB you definitely stretch Poser to the limits - incredible hinge

The important thing is not to stop questioning.
- Albert Einstein

Indoda


Michael314 ( ) posted Sat, 24 October 2009 at 10:38 AM

Hi,
I bet this will be the companion to matmatic! Great for buildings, I would love to use these scripts.

For blender, there are also some python scripts out there, recently I found one to make cogwheels:

http://www.swineworld.org/blender/gears/

These might be interesting for reference.

Best regards,
   Michael


DarkEdge ( ) posted Sat, 24 October 2009 at 1:49 PM

Impressive indeed.
I would be interested in seeing the topology though.

Comitted to excellence through art.


bagginsbill ( ) posted Sat, 24 October 2009 at 5:10 PM

Quote - Impressive indeed.
I would be interested in seeing the topology though.

I certainly would welcome advice on topology. I'm not at all experienced with modeling, and I've seen you guys discussing really esoteric issues of polygon flow.

I've been tackling certain things perhaps in ways that are not advisable. Also, issues of UV mapping are very interesting, and I've come up with some crazy UV mapping ideas that are nothing like I've seen in other props. I tend to think in terms of convenience for procedural shaders. I don't just mean Turbulence and the like. I mean, how do you procedurally generate boards in a parquet floor, with some consistency about board size, when the UV map keeps changing from floor to floor? How does wallpaper UV phase behave around corners? Things like that.

I am preparing to entertain and am in a brief pause of cooking. So I only had a minute to write, and will post wire frames for doors and windows and walls tomorrow.


Renderosity forum reply notifications are wonky. If I read a follow-up in a thread, but I don't myself reply, then notifications no longer happen AT ALL on that thread. So if I seem to be ignoring a question, that's why. (Updated September 23, 2019)


odf ( ) posted Sat, 24 October 2009 at 8:58 PM

Nice!

-- I'm not mad at you, just Westphalian.


Michael314 ( ) posted Sun, 25 October 2009 at 3:58 AM

Hello,
having enough mat zones would be great! I'm always a bit annoyed with commerical models,
they often use a single material for walls, ceiling, floor, and lots of extra detail.
Sure that can be worked around with a blend node, but it is just much more complex
to exchange all channels of a material, for example to try only a new wall texture.

With the UV scale, I think there is no standard. It would be great to have a unified scale
for UVs (1 foot, 1 meter, whatever), but often it depends on the size of the model.
UV values > 1 are not established and some programs may not work with them.

A PM:UVscale node could be of big benefit here.

Best regards,
   Michael
 


bopperthijs ( ) posted Sun, 25 October 2009 at 7:48 PM

*I certainly would welcome advice on topology.

*I also would like to see some advice on that. From what I learned on the few lessons on topology I had in my student years is that a dougnut is similar to a coffee cup, because they both have a hole. But that's as far as my knowledge goes about it. Geometry is more my cup of coffee.

regards,

Bopper

-How can you improve things when you don't make mistakes?


MikeJ ( ) posted Sun, 25 October 2009 at 8:24 PM · edited Sun, 25 October 2009 at 8:24 PM

Quote - Hello,
having enough mat zones would be great! I'm always a bit annoyed with commerical models,
they often use a single material for walls, ceiling, floor, and lots of extra detail.
Sure that can be worked around with a blend node, but it is just much more complex
to exchange all channels of a material, for example to try only a new wall texture.

 

Well, you could always load them up into another modeling program and create your own material groups and save the files out as OBJ, which will retain your new material groups.
Or you could also create new material groups right within Poser with the grouping tool. When material groupings are a problem there's no need to go to all that extra effort with the material editor when you can change the geometry yourself, much quicker and easier.



Anthanasius ( ) posted Sun, 25 October 2009 at 8:53 PM

It remember POV a long long time ago !!!

Génération mobiles Le Forum / Le Site

 


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.