Behind-the-Scenes with Firstborn  
Get an exclusive sneak peek inside innovative digital agency Firstborn.
  • 1/3
You are here: Forum Home / Autodesk® Softimage® / ICE - Interactive Creative Environment / Yet another realtime SSS
  RSS 2.0 ATOM  

Yet another realtime SSS
Rate this thread
 
28926
 
Permlink of this thread   Subscribe to this thread
avatar
  • Total Posts: 52
  • Joined: 19 February 2008 08:19 PM

Hi

nothing special there, actually it’s a mix of existing compounds from resources, thickness map, and one of solutions for smoothing property maps founded on the internet - well I don’t know who is author of second.
Anyway, this one has built in shadowing, including self shadows, so it’s able to avoid displaying of “cavities” in your characters. As you can see, it’s “spectral” :), exactly there is inverse blending of colors.
SSS effect rely half on measuring distance by ray casting, half on smoothing between neighboring vertices.

In order to work properly, it needs fairly well subdivided, smooth meshes. Let’s say, real polymesh subdivision at level 1 is a good idea. Also at least one Vertex Color Map. It seems that ICE catch vertex colors better if appropriate cluster isn’t called “sample”. And it’s not very real time, so I added a few switches for faster playback.

XSI model with compound: http://www.matkovic.com/anto/am-subsurface.rar
Movie: http://www.matkovic.com/anto/ya-rt-sss.flv

Enjoy



Attachment Attachment
Replies: 0
avatar

really nice, I was wondering if it’s possible to combine that (if you are already looking up neighbors) with a simply occlusion. By just counting up the nb of points in the surrounding area and using that to map density of an occlusion map.
That would make it interesting for the neck area, for example.



Replies: 0
avatar

Well I got a real ambient occlusion, by raycasting in hemisphere around normals. It’s much faster than I expected, but it isn’t stable with deformed meshes, at least with raycasting only from point positions. Anyway, I hope I’ll find some solution.

For making uniform effect, regardless of edge lengths, it seems that Density compound from resources, plugged into “SSS length” of Yet another RT SSS, works well.

I’ll work more on that SSS.



Replies: 0
avatar
  • kotsoft
  • Posted: 10 May 2009 08:26 AM

with ambient occlusion there’s also this other approximation by using the surface curvature. it will tell whether it’s concave somewhere, flat, or convex, and you base the ambient occlusion on that. light usually has more difficulty reaching concave parts, and more ease reaching convex parts.



Replies: 0
avatar

Hi,

so now it’s a couple of ICE nodes that works with vertex color maps, or weightmaps:

- Subsurface

Now it using only one raycast node. Similar to mi_sss skin, it takes the only first and last surface intersection, so it’s able to avoid internal surfaces of your character, such as mouth, wholes for eyes. Everyone who tried to lighting the characters with good old Diffusion or MdSubScatter, may know what I talking here.That avoiding is amazingly simple to do with ICE, just by moving raycast origin, then raycasting back to point position and taking the distance.

In addition, Subsurface can cast rays from any direction, not only form camera. Also, simple exponents at every color channel can produce a nice ‘spectral’ look at borders.

- Environment look up

For now, it works only with spherical environments maps. Actually it just remaps texture map from NURBS grid to surface normals. Effect is the the same as XSI ambient occlusion, when it sample environment with zero spreading. Highly blurred, low resolution HDR images are good idea. It needs the one NURBS grid with Texture Map too.

- Ambient Occlusion

It’s ‘real’ one, I wasn’t satisfied with the look of Curvature maps solutions. Default is a single ray along surface normals. When it’s in multi sampling mode, it is of course slower, but I still found it very usable. It’s faster when you use it with weightmaps.

- Node for smoothing Vertex colors maps

It takes values from neighboring points, then it repeats the process a few times. Faster and accurate than using Closest Point node - it won’t take mentioned internal surfaces. I found this one on the internet. If you adapt this to use with weight maps, be sure to use take values form one weight map and apply result to another, otherwise weight map may flicker.

As any other solution that use shading form vertices, all these nodes likes only smooth or subdivided surfaces. Especially ambient occlusion, because of ray spreading. I have some ideas for improvement, maybe to force more samples or break the smoothing at hard edges, but this may take time to do.

Playback performance may vary, depending on mesh density, smoothing iterations, sampling. Anyway Subsurface and Ambient Occlusion are many times faster for rendering then appropriate MR pixel shaders. Also, there is no hassle with lightmaps.

Download XSI model with compounds: http://www.matkovic.com/anto/am-subsurface.rar

Cheers



Attachment Attachment
Replies: 0
avatar

Really nice, I just looked the model real quick and the compounds look very well packaged, maybe you should publish those to the download area?



Replies: 0
avatar

Upload error, zip, rar, emdl, all the same… (Permission denied in [B][path]/downloads.php[/B] on line [B]1448). [/B] Will try the other day...[B][/B]



Replies: 0
avatar
  • kotsoft
  • Posted: 17 May 2009 06:14 AM

just for comparison, here’s an example of some realtime ambient occlusion using the surface curvature. this was pretty simple to do and only takes 15 nodes in ICE.



Attachment Attachment
Replies: 0
avatar

So where is compound :)

There is some rule of thumb (just a rule of thumb, but I like it) that everything that takes the surface interaction into account (shadows, distance between surfaces, thickness, reflection, final gathering...), is much better than any deal with surface normals (shading, curvature maps...). Because the first helps in melting scene, so your character interact with rest of the objects, instead flying through the air. Well, better cost more.

After all, even the first Ambient Occlusion shader and Curvature map became in the same time to XSI, both are very easy to use, I think the AO (real one) is a bit :) more popular.

I think my next ICE shader will be blurred reflection, of course raytraced reflection. There is a serious reason for that, screen-based blurring of MIA material isn’t enough for small details in animation - but vertex based blurring should work fine.

Cheers



Replies: 0
avatar
  • CiaranM
  • Posted: 17 May 2009 01:03 PM

Great stuff!



Replies: 0




   
  Settings Choose Theme color: