Log In | Register | Contact | Search


Forum Home  >  Electric Image Animation System  >  EIAS General Forum  >  Thread
Search      Advanced Search
   
 
Scene Size: Upper and Lower Limits
Posted: 15 November 2007 01:47 PM   [ Ignore ]  
Member
RankRankRank
Total Posts:  91
Joined  2007-03-07

Just a quick question for Matt and any power users who may have input. Given that scene units have no value (i.e. feet, meters, miles, kilometers, etc.) what seems to be the best comfort zone for an EIAS scene?

Would a scene of .01 units be too small for EIAS to work with? It’s ridiculous of course, but what about .0000000001?

At the upper end how about 10 million units? Or even 10 trillion?

When you’re outside of the comfort zone, what kinds of things get affected? Fog? Distortion with various focal lengths? Processing errors?

I ask because many new users to the program run into scale issues since we’re working without units. Having an idea of the ideal scene size can help when creating geometry for a scene.

Thanks.

Profile
 
 
Posted: 15 November 2007 11:55 PM   [ Ignore ]   [ # 1 ]  
Sr. Member
RankRankRankRank
Total Posts:  309
Joined  2007-03-11

Hi, Kurt

1) Units have no matter for render/preview/calculation. You can think about value 5.0 (for example) as 5 meters or 5 inches - render will be same.

2) If you change all values proportionally - result should be also same. Note that some parameters can be in square units (photon map density for example) and should be changed correspondly

3) Yes, floating point precision is limited and too large and/or too little values won’t work. There is a very simple rule - in fact, only one need to remember: fifth fractional digit is not guaranteed for single-precision floating point calculations. Said simpler, values like 0.00001 or less are unreliable/unsafe in calculations.  From here it’s easy to estimate: if model’s size is like 0.001, so it’s very possible that a distance between its vertices is less limit. Such model can be rendered Ok itself but causes artifacts after tesselation and/or if it’s passed to plug-ins.

4) About “comfort zone”. IMO the simplest and best way is to assiciate values with usual units (typically meters or foots). AFAIK most of artists use this.

Profile
 
 
Posted: 17 November 2007 12:24 AM   [ Ignore ]   [ # 2 ]  
Member
RankRankRank
Total Posts:  91
Joined  2007-03-07

Thanks you Igors,

the information about fifth decimal place is very helpful.

Profile
 
 
Posted: 17 November 2007 02:56 AM   [ Ignore ]   [ # 3 ]  
Administrator
Avatar
RankRankRankRank
Total Posts:  617
Joined  2007-02-15

We use 1cm = 1scene unit in all cases.

EI world units match those exactly of all the other apps we use so for example, a unit in form z, is the same as a unit in EI. It’s just in formz you can name these units as CM or MM. Same for EI, just replace Granger Unit for CM and MM and you’re off.

As for fractional digits, this confuses me. When I load an object with UVs on it and apply a texture map (which auto scales to the size of the UV polygon) you ALWAYS end up with UV seams UNLESS you have fractional digits set to 5 or 6 so your UV texture scale can be 0.00005 - and that is the only way to get UV textures without seams in my experience.

Ian

 Signature 

Ian Waters
Development Specialist,
EI Technology Group, LLC.

Profile
 
 
Posted: 17 November 2007 05:22 AM   [ Ignore ]   [ # 4 ]  
Sr. Member
RankRankRankRank
Total Posts:  309
Joined  2007-03-11

Hi, Ian

Ian - 17 November 2007 02:56 AM

As for fractional digits, this confuses me. When I load an object with UVs on it and apply a texture map (which auto scales to the size of the UV polygon) you ALWAYS end up with UV seams UNLESS you have fractional digits set to 5 or 6 so your UV texture scale can be 0.00005 - and that is the only way to get UV textures without seams in my experience.

All “transformation” parameters (count scale) are stored with double-precision. They don’t affect directly UV values (that are in standard range [-0.5..0.5]). At render time these original U(V, W) are divided (not multiplied) by scale to get image pixel coordinates.  For popular flat UVs:

image_pixel_horz * scale_x = U
image_pixel_vert * scale_y = V

Profile
 
 
Posted: 17 November 2007 05:33 AM   [ Ignore ]   [ # 5 ]  
Administrator
Avatar
RankRankRankRank
Total Posts:  617
Joined  2007-02-15

Aha! That makes things clearer.

Cheers,
Ian

 Signature 

Ian Waters
Development Specialist,
EI Technology Group, LLC.

Profile
 
 
   
 
 
‹‹ Rotating Text on a Circle      7 ››