Mesh_Magick opened this issue on Aug 29, 2003 ยท 22 posts
Mesh_Magick posted Fri, 29 August 2003 at 2:38 AM
Class is in session, Im taking my seat now.
c1rcle posted Fri, 29 August 2003 at 4:40 AM
present :)
quixote posted Fri, 29 August 2003 at 6:14 AM
Sure would be nice.
Un coup de dés jamais n'abolira le
hazard
S Mallarmé
Ajax posted Fri, 29 August 2003 at 8:16 AM
We're talking about P5 material nodes, I take it? Basically a node is one point in a hierarchical tree of information that all comes together to make a material. A node can be the originator of information or it can be a filter, modifying information that comes into it before passing that information on to the next node. Eventually the information gets to the root node, which tells the material how it's supposed to look on the model. The root node is very similar in function to the Poser 4 materials editor. There are a lot of different types of nodes and they all do different things. All nodes except the root node have one place to output information. Many nodes have one or more places where they can take information input. Some have none. Most nodes have several parameters which control how information is produced or filtered by them.
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
Ajax posted Fri, 29 August 2003 at 8:19 AM
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
Ajax posted Fri, 29 August 2003 at 8:22 AM
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
Dave posted Fri, 29 August 2003 at 8:35 AM
taking my seat and late as usual. dave
Ajax posted Fri, 29 August 2003 at 9:06 AM
OK, let's have a look at what's going on with the nodes. For a start, I'm trying to duplicate the look of clear clean water in a bathtub, so I'm following the physical characteristics that sort of water has. Water refracts light - ie light passes through the surface but changes the direction it's going in, which is to say the light gets "bent" at the surface of the water. Refraction requires raytracing, so I've turned on raytracing in the render options. When light strikes real water, some of the light is refracted and some of the light is reflected. After this process, the total amount of light should be exactly the same, so the refraction value and the reflection value in the root node have to add up to 1. You'll notice I have a reflection value of 0.4, meaning that 40% of light is reflected from the surface, and a refraction value of 0.6 meaning that the remaining 60% of light passes through the surface and gets bent. But how much does it bend? In physics we measure this with a refractive index. The refractive index of water is 1.3333 (roughly). To control the light bending I have created a raytrace refract node and set it's refractive index to 1.3333. The information created in the refract node is output to the refraction colour of the root node. I have left the base refraction colour in the root node set to white, because I want crystal clear water, not water with blue food colouring in it for example, which I would mimic by setting the base refraction colour to blue. Notice there is a background colour in the refract node itself which I HAVE coloured blue. This is the colour that will be used if Poser can't figure out what would actually be seen through the surface of the water at that point - if there were only empty grey space behind the water for example. That's taken care of the 60% refraction, but what about the reflection? We need a raytrace reflect node to make sure we're getting true reflections of the objects around the water. I've created one and plugged it into the reflection colour. Again the background parameter tells poser what to show if it winds up reflecting empty space or doesn't have enough raytrace bounces to get to the origin of the reflected light. Since there's a lot of grey space facing the water from behind the camera, I need to be a bit more concerned about what gets shown this time. The three nodes supplying information to the background parameter of the reflect node are just the same three nodes that make up the tiled surface of the walls and floor. I've effectively told Poser that if it doesn't know what to reflect, it should reflect my bathroom tiles by default. My water object is actually just a flat square prop from the prop library. I want a rippled surface, not a mirror smooth flat one. To get the ripples, I've set up some displacement. I've set the root node's displacement to 1 and I'm driving it with an fBm fractal node. That means that wherever the fBm is black the displacement will be zero, but wherever the fBm is white the displacement will be 1. In between shades give in between displacements. There are lots of parameters to play with in the fBm. I just mucked about with them until I had something that looked a bit like water ripples. Finally, water has small, bright, shiny highlights. I can't trust the default Poser highlighting to give me that, so I've set the normal specular colour to black and value to zero. Then I've set up an alternate specular setting with a phong shading node. This gives me a bit more control over how the highlights will look. I can use the parameters of the node to make the highlights small but bright. There are other ways you could approach this problem but the key points here are that if you want realisitic water you need a reflect and a refract node, your reflective and refractive values must add up to one and you must have the refraction index in the refract node set to 1.3333 or thereabouts.
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
Ajax posted Fri, 29 August 2003 at 9:24 AM
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
Ajax posted Fri, 29 August 2003 at 9:30 AM
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
Ajax posted Fri, 29 August 2003 at 9:52 AM
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
Ajax posted Fri, 29 August 2003 at 10:20 AM
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
DigitalVixxen posted Fri, 29 August 2003 at 10:24 AM
Nodes, refractions, deep texture editors, raytracing, caustics, specular, diffuse, materials, mesh... who comes up with these names for objects that sometimes look or do anything close to what they're named?!? Can't anyone just name things in a nice simple way anymore?
Ajax posted Fri, 29 August 2003 at 10:25 AM
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
ronstuff posted Fri, 29 August 2003 at 1:09 PM
Ajax - thanks so much for the great information. Your presentation is excellent and a greatly appreciated departure from the usual kindergarten classes ;-)
Mesh_Magick posted Sat, 30 August 2003 at 4:34 AM
Is it possible to put a chart or preset pack together that has setups like water, glass refractive transparent effects?
Mesh_Magick posted Sat, 30 August 2003 at 4:42 AM
You built the water all out of nodes? Is the water a polygonmesh shaped like water or is it a flat plane? And the white pattern in your water testure is that something you made in a paint program or all by nodes?
Mesh_Magick posted Sat, 30 August 2003 at 4:44 AM
Ok I got it it's a flat plane, wow that looks like a water surface model!
quixote posted Sat, 30 August 2003 at 4:51 AM
Thanks Ajax. Brilliant.
Un coup de dés jamais n'abolira le
hazard
S Mallarmé
Ajax posted Sat, 30 August 2003 at 9:05 PM
You're welcome, people. Glad I could help. Crescent is going to repost this info as a tute over at www.fallencity.net in a day or two and a download package with all of the materials discussed here will be included. Keep your eye out for it so you can get the download. Then you can do some hands-on playing with the materials. Mesh_Magic, The water model is just the standard Poser one-sided square primitive prop - just a single polygon. There are only three things done in a paint program that show up in the examples I've given. Those are the two different tiles that go together to make the bathroom tile surface and the base displacement map that I've used to create ridges on the alien field furrows.
View Ajax's Gallery - View
Ajax's Freestuff - View
Ajax's Store -
Send Ajax a message
mathman posted Thu, 04 September 2003 at 10:59 PM
Ajax, You are brilliant. I have learnt so much just simply from reading your clear and concise tutorial - I haven't started even experimenting yet... regards, Andrew
Crescent posted Sun, 14 September 2003 at 1:21 PM
Attached Link: http://fallencity.net/tut-p5/ajax-nodes101-1.php
Crescent is a little backlogged, but finally got everything up, including the sample nodes that Ajax listed above. Thanks again, Ajax, for allowing me to post this at my site!Cheers!
(1 overdue item done, way too many to go ....) ;-)