PDA

View Full Version : Taxin' Refraction Action - Help Needed


SP1R1T
03-22-2004, 03:37 PM
So the conundrum is Fish Fins in a Fish Tank.

The fins of a fish are, by and large, transparent. I have two oscars at home (ravenous cichlids, not awards) and every morning recently I have verified that their fins are thin, gauzy, and transparent. The other thing about them is that their NOT refractive. I mean, maybe they are in such a small amount that it's totally unnoticible. But if its not noticible, who cares?

In our piece, three goldfish need similar fins.

Instead they have what appears to be chunks of sculpted glass hanging out of their bulbous bodies. :surprised

Peek at the attached file, and you can see all the extra refraction happening in their fins. It's also noticable on the edge of one of their eyes (which would be easily solved by removing the cornea, I know.)

All of the fin surfaces have a refraction index of 1.0, and I don't have the whole doubleling-up surface within a surface trick. I think the reason they are refracting so much is because they're behind the glass and water of the tank, which are meant to be refractive (obviously) and do have multiple layers of surfaces for refraction, all with correct refraction indexes.

I've tried a few different refraction indexes and option combos to deal with the issue, with varying results. But render times are enormous (my FPrime order is on its way, but it probably won't make it in time.) So, any advice on how to get some proper fins behind the glass would be greatly appreciated.

Thanks.

zuzzabuzz
03-22-2004, 04:46 PM
Hmm..
I think your tank/water interference theory may be correct.

If the ray is going through an odd number of surfaces...the refraction calculation will be wacky.

(ray)--> |>TANK<| |> water |>FISH<| <|water



I think there may need to be an end to the water before the fish. Going to do a test to confirm.


PS: 5 Stars for the clever subject line. :thumbsup:

--
Update:
Yep..did a quick test. The water was the problem. Need to wrap your fish in a surface ..to tell it to stop calculating the refraction of the water through the fish. What a pain. Anyone got a more clever suggestion?

Mattoo
03-22-2004, 06:27 PM
Yes, most amusing thread title, well done.

All I can say is FPrime will make this scene fly. The biggest speed increases I've seen with FPrime are with refraction/reflection turned ON with blurring on both reflect and refract.

LW crawls on my particular scene even with the blurring turned off, FPrime is stupidly fast.

Having said all that, is it not worth faking all of that nonsense and doing seperate passes:- Render the Fish without the fins, then render the fins in a seperate pass (with the fish set to black in the alpha) and then comp it together using the fins alpha as a mask to blur the background plate....?

easy. :p

cyphyr
03-22-2004, 06:35 PM
Water surfaces
air> water ref index = 1.5
water>air ref index = 1.0

Fish surfaces
fish>water ref index = FIND OUT WHAT GELATIN REFRACTS AT
water>fish ref index = 1.5


I THINK

cyphyr
03-22-2004, 06:35 PM
Water surfaces
air> water ref index = 1.5
water>air ref index = 1.0

Fish surfaces
fish>water ref index = FIND OUT WHAT GELATIN REFRACTS AT
water>fish ref index = 1.5


I THINK

SP1R1T
03-23-2004, 03:14 PM
Thanks guys.

I think I shall you some combination of all of your suggestions.

I.E. I shall have to double wrap my fish fins and run all kinds of annoying tests. :hmm:

But until I get FPrime, I'm just gonna do it in post. :D

And I'm glad you liked the title. I spent way too long thinking it up.

SteveH
03-23-2004, 07:27 PM
Not sure if this will help......but could you render the scene out in passes? The first pass is the fish, the second is the water and the tank - with the fish images as the background?

steve

Dave Jerrard
04-15-2005, 04:32 AM
It's a bit late, I know, but here's a trick. Make the refraction index of the fish the same as that of the water. Rays only change directions (get refracted) when they pass from one sensity to another, or in LightWave terms, one Refractive Index to another. As I menionted in another thread, if a ray passes from one density to another identical density, it's essentially the same a going from water to water. The ray will not change direction. If you make the fins of the fish have the same refractive index as the water, or something very close to it, you can minimize, or even prevent that extra refraction. Now as a ray passes through glass to water to fish, you won't see any change in refraction on the fins.

He Who Has Done A Lot Of Refraction Experiments Over The Years.

CGTalk Moderation
04-15-2005, 04:32 AM
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.