PDA

View Full Version : Enabeling more detail depending on the camera distance


Cockx
01-10-2008, 12:59 AM
Hey all,

I have a object (my bee you can see it in the test phase in my gallery) I made a rig for it to animate it in a scene. I was asking myself if it is a good idea to have less iteration in my turbosmooth if the bee is far from the camera. How can I set this up, so it automaticaly changes during rendering depending on the distance of the camera. Also to disable or lower the quality of hair and furr in the distance I think this should shorten the render time? I would also be usefull for a big landscape scene. So objects are automatically change their detail. So I don't have to worry about this during animation.

In 3dsmax please I forgot to mention that...:buttrock:

Cheers,
Cockx D.

labbejason
01-10-2008, 03:43 AM
I remember messing around with this a while ago. I would just setup a script controller on the turbosmooth's track with an expression like:

myCam = $camera01 -- Your camera!
bee = $bee_master -- Your bee's master control
dist = distance myCam bee -- calculate the distance between the two objects
if dist > 200.0 then 0 else 2 -- If the distance from the camera and bee is greater than 200 units, make the turbosmooth 0, otherwise let's put it to two. (You can also set it up with another else statement so if it's between 200 & 100, it sets it to 1.)


I don't have MAX open, but something like that!

Cockx
01-11-2008, 12:49 AM
Thanks a lot!
I tried it on a simple box and made this script:


case of
(
((distance $Box01 $Camera01)<= 200): $Box01.TurboSmooth.iterations = 5
((distance $Box01 $Camera01)> 200): $Box01.TurboSmooth.iterations = 2
default: $Box01.TurboSmooth.iterations = 2
)


It works like a charm :thumbsup:
This opens a whole new world for me :buttrock:

Cheers,
Cockx D.

labbejason
01-11-2008, 01:07 AM
Glad it worked out.

CGTalk Moderation
01-11-2008, 01:07 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.