Fresnel effect in XSI?


#1

Ok, here’s what I’m looking for: I have sphere with a texture/bump map for mars applied to it.

NOW what I’m looking to do is create the atmosphere… I’ve created a sphere SLIGHTLY larger than the mars globe… what I want to do is create a fresnel effect where the atmosphere is really only visible near the outermost edges of the planet. (for example, close to the globe’s surface, and looking over its horizon, you would be able to see the thin, whispy atmosphere.

I know how to do this fairly easily in 3D Studio Max, but I’m entirely sure how to go about doing this in XSI. Can anyone offer me any tips or tricks?

My basic approach thus far has been to create the globe and apply a lambert material. Now what I’m looking to do is apply a fresnel like transparency map to this material… But I’m not having a whole lot of luck. :slight_smile:


#2

plug an incidence node in the transparency.


#3

If that doesn’t do what you want, try using a dielectric node instead.


#4

Oh wow, a reply from Ed Harriss himself! I am indeed honored! :slight_smile:

I tried using the incidence node previously, and I couldn’t get quite the falloff I wanted… I’ll try the dielectric node next when I get home this evening.

Thank you both for replying, I’ll let you know how it turns out.


#5

Thanks Ed.
I was going to ask if there was an alternative to the incidence node, as I find it a bit quirky. Now the Dielectric node responds a lot more how I imagined it should (i.e faster to set up).

It would be even nicer if you could create your own gradient to imitate the Incidence node, especially if it let you place precise values for the facing and incidence angles. With experience I find I know roughly what values I want to use, but at the momment with the Incidence and Dielectric nodes I have to gauge by eye what grey scale shade equals the value I want.
The again I expect somebody will pop up to tell me can already do that :slight_smile: , or even more likely, with practice I will learn to instinctively know what shade equals the value I want :thumbsup:


#6

Ok, after digging around, I found the dialectric node… and after implementing it on a test sphere, I get EXACTLY the kind of falloff I want. Yay!

However: When I try and use it with my project, the ONLY node I can plug it into seems to be the surface point on the material node. It’s output is an RGB color value… but I can’t plug it into a transperency link on the phong node at all.

I’ve been trying to read the help file, and glean as much info as I can on my own, but I’m not having a whole lot of luck…

UPDATE:

Ok, while typing this reply, I think I’ve found my answer:
I found a post via google on the softimage forums dating back to July of 2001 that says there’s a bug with the dialectric shader (may or may not be. this COULD be intended functionality) that ONLY allows you to use it with your shader when it’s ONLY plugged into surface, and not photon or shadow.

So basically, I got the chain to work as thus:
Dialectric -> Phong:transparency ->only Material:Surface

Dialectric setup:
mode: Output Refraction Energy
Exponent: roughly .5 (this might change as I teak it)

Thanks for your help everyone!


#7

you can plug an incidence node into the “input” input (yeah, the input is called “input”) of a gradient mixer. modify gradient to your heart’s content and plug that into your transparency.

chris g


#8

Make sure you use the Nodes->Texture Generator->Gradient in order to get the input port.


#9

This is really sweet :thumbsup:
I’d been messing around with putting colour balance and colour correction nodes between the incidence and phong shaders to get just the right effect, but using it as an input to a gradient is even faster and a lot more powerful. Thanks for the tip :slight_smile:

I’m begining to feel like XSI is a never ending pool of possibilities :smiley:


#10

When working with the incidence node it is a great help and time saver to use the preview option in the render tree ( sometimes it hangs my machine maybe that’s why they eliminated the hot key for that, so save first :slight_smile: ) you have to set up a hot key (keyboard mapping) for it. It used to be “P” in the rendertree. Go to file/keyboardmapping and in the keyboard mapping editor go to the Rendertree group (at your left) search for the command: Node preview (obsolete) ( at your right ) and assign any key you have unassigned ( I think P is unnasigned so you can use it as it used to be) then in the rendertree each time yo click on a node and press P it plugs that node temporarilly to the surface input of your material and you can actually see the effect ( in this case a red gradient) of your node, it is a lot easier to test settings if you can actually see the gradient of the incidense node. ( Remember to press P again to exit preview mode and to save your scene before previewing I’m not sure if it is just me but I’ve experienced some hangs over here while using it :smiley: )
P.S even though you use the gradient technique being able to preview THAT gradient in your object is helpfull so you can click on the gradient node (affected by the incidence) and press P to preview how it works on your geometry.

Hope this helps.


#11

Hey dudes!

I am planning to add some fresnel rim lighting to my character, and have been fiddling with the instance node myself, (pretty new to XSI, comming from a few years of Mayaness!).

I was just wondering if there is an easy way to have the “rim” effect only on the mesh on the oppisite site to where the light source is instead of the whole outline?

Cheers chaps, much appreciated!

Rich :slight_smile:


#12

suer!
create a phong - with large specular… difuse set to black . turn off all the reflections, radiance and so one, and us that phong as an intensity of your incidence/gradient. That way you will get the rim only where the light makes it…
Q


#13

Cheers qba3d! :slight_smile:

I’ll give that a go when I get in tonight!

Rock on!!


#14

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.