checkthegate opened this issue on May 06, 2008 · 7 posts
checkthegate posted Tue, 06 May 2008 at 4:43 PM
I am new to Vue so please bear with my stupid questions.
There is alot of talk about scale. Once I realized I had to scale up terraines REALLY big and make the plants REALLY small....stuff really came together....
(Im still getting used to shaders)
In professional houses, scale is very important. Mostly when having several artists working on a scene at the same time.....they all should have the same scale....
....in Maya the world scale is usually set SMALLER....to CM....over feet or meters.....mostly because this effects render times.....
the beauty of Mental Ray is that it can simulate real world global illumination (It calculates bounced photons...which can be user controled)...this could KILL your render times depending on your settings......it is absolutely essential for there to be a standard when working with Maya.
1.Is there a "World Scale" in Vue in the presets.....like in Maya?
Thanks
Paul
bruno021 posted Tue, 06 May 2008 at 5:08 PM
To answer your questions, we should know which version of Vue you use.
If you use Vue infinite or xStream, you can choose the unit system you want, meters, feet, etc...
Plants will come at the right scale, and Vue objects (vob) as well, if they were created with Vue6Infinite, and if their maker paid attention to scale. Imported objects may not come at the right scale, because of the difference between internal units between programs. Vue infinite offers an automatic scaling upon import that works in 50% of cases.
Now about terrains, yes, they come very small, if you check their size in the object property panel, they are 20x20 meters. You can either scale them up or scale down your plants.
Populationg a whole terrain that is 8x8 kilometers will indeed generate warnings about memory, ther isn't much to do about this, unless you have a 64bit system packed with a loadfull of ram.
Scale will play a role in render times if you use radiosity or global illumination, more photons for radiosity, more rays and indirect lighting shadows for GI. For large outdoors scenes, use ambient occlusion instead of GI, it will compute shadows and self shadowing within a range ( a radius), objects that are not inside this range will be ignored. Note that raytraced shadows will still be computed. Only shadows due to indirect lighting will be ignored, saving render times.
Scale is also important for radiosity, just as in Maya, the bigger the scene, the more bouncing light to compute. For outdoor scenes, choose "optimize od infinite scenery", will speed up the render.
checkthegate posted Tue, 06 May 2008 at 5:17 PM
HUGE HELP! Talk about vital statistics...
I will be working with super small terrains from now on....and moving my camera up in there!
Thank YOU!
chippwalters posted Tue, 06 May 2008 at 6:23 PM
Check out the notes at the bottom of the page of the latest newsletter on Scale:
http://www.e-onsoftware.com/about/newsletter/
Also, Bruno's correct, especially using GI and Radiosity-- scale is an issue. Best to try and keep to a 'real scale' if you can. InterioPak has more information on Radiosity and how it's affected by scale.
-Chipp
checkthegate posted Tue, 06 May 2008 at 6:57 PM
**Good stuff...Thanks again Chip
How long is one Vue unit?**
Internally, Vue only deals with its own units. Therefore, there must be a unique correspondence between one internal Vue unit and the standard metric system:
1 Vue unit = 10 centimeters = 0.1 meters.
This correspondence rule cannot be changed, so it is essential to always keep it in mind when building your scene.
What happens if I change display units?
In the general Options dialog, at the bottom of the display tab, it is possible to change display units throughout the entire Vue interface. The selected unit will be used to display all object Position and Size values (for instance in the Object Properties panel).
It is very important to keep in mind that this is just a display convention, it won't actually change the size of your objects in the scene. For example, if you have a cube which is 30 Vue units wide, and you change display unit to meters, the cube will now show a width of 3 meters. If we apply the conversion rule exposed in the previous section, it gives:
cube size = 3 meters = 300 centimeters = 30 Vue units.
Should realistic units always be respected when designing scenes?
In practice, you will find that very few components are actually scale-sensitive (in the sense that rendering will be different if overall scaling is changed). The most important one is the spectral atmosphere, if one is used (this was discussed in the previous newsletter with the aerial perspective effect). So in theory, following physical units is not absolutely required. However, it is highly recommended, to maintain a perceived sense of scale between the components of your scene.
How to import objects without altering their original size?
Given the previous unit rule, designing a scene within Vue at the right scale shouldn't be much of a problem. However, when a user has to import objects designed in other software packages, preserving original units can be a source of severe headache. Furthermore, if on top of that a camera synchronization process is needed between both applications, there are three unit systems to cope with: Vue units, imported object units, and synchronization data units.
Let's see how things work by following a practical example using 3ds max (other packages may use different conventions when dealing with units, but the method we'll follow here is applicable nonetheless). In 3ds max, the display units setup is similar to Vue, you can choose which units should be used to display positions and sizes. However, you can additionnally specify the conversion rule for 1 max unit (whereas this rule cannot be changed in Vue, as stated earlier).
So, let's suppose 3ds max units are setup as follows:
display units = Metric / Meters
1 system unit = 1 Feet
Now let's create a cube with the following dimensions:
Length (along Y) = 20 meters
Width (along X) = 16 meters
Height (along Z) = 10 meters
Let's export the cube as a 3DS file, and launch Vue. Set Vue display length units to meters (like 3ds max), and import the file without any automatic resizing or centering. Here is what we end up with:
Length (along Y) = 6.5617 meters
Width (along X) = 5.2493 meters
Height (along Z) = 3.2808 meters
The proportions are correct, but it seems that the object was scaled down by some mysterious factor, despite the fact that we clearly specified to import the object "as is". So what happened? The problem is actually totally independent of display units (in whichever product). It is related to the internal unit setups, which are not the same:
1 Vue unit = 10 centimeters (this value is fixed by Vue)
1 3ds max system unit = 1 Foot (our chosen setting in 3ds max)
Let's verify this, by switching to internal display units in both products (called "generic units" in 3ds max, and "Vue units" in Vue). Now as expected, both applications display the same values:
Length (along Y) = 65.617 units
Width (along X) = 52.493 units
Height (along Z) = 32.808 units
Why does it work now? Because internal units hide the actual correspondence with any standard length unit system. They are just numbers which are transferred from one application to another. If we now mentally apply internal unit conversion rules on both sides we get:
in 3ds max (1 3ds max system unit = 1 foot):
Length (along Y) = 65.617 units = 65.617 feet = 20 meters
Width (along X) = 52.493 units = 52.493 feet = 16 meters
Height (along Z) = 32.808 units = 32.808 feet = 10 meters
and in Vue (1 Vue unit = 10 centimeters):
Length (along Y) = 65.617 units = 656.17 centimeters = 6.5617 meters
Width (along X) = 52.493 units = 524.93 centimeters = 5.2493 meters
Height (along Z) = 32.808 units = 328.08 centimeters = 3.2808 meters
And we end up with the values we observed in the first place. What seemed to be a wrong scaling issue appears to be a simple internal unit mismatch between 3ds max and Vue.
Now there are usually two situations:
The first case is easy to deal with: as stated above, one should always display coordinates in generic internal units in both applications, to avoid any dependence to a standard length unit system. As we saw with the example of the cube, values match in both applications when using internal units only.
The second case is more tricky, because this dependency must be accounted for, and, since Vue imposes that 1 Vue unit is always 10 centimeters, some kind of conversion is unavoidable when internal units don't match. Let's use our cube example to perform the right conversion, so that the cube in Vue appears to be 20 meters long, 16 meters wide and 10 meters high, as it was originally built.
From what was observed earlier, the problem boils down to finding the right conversion from one 3ds max "generic unit" to one "Vue internal unit". So we must convert 1 foot to 10 centimeters.
If you don't want to search the litterature for conversion factors, you can use Vue to perform the conversion for you: launch Vue, set display units to Feet, and create a cube with a size of 1 foot. Now change display units to centimeters. The cube size displays as 30.48 centimeters, so we have our conversion rule:
1 foot = 30.48 centimeters = 3.048 x 10 centimeters.
Now the final part: let's import our max cube file again, but this time we check the "resize object" option, choose the "Manual resizing" mode, and enter our conversion factor which is 3.048. Set display units to feet or meters, and this is it, we end up with (respectively):
Length (along Y) = 65.617 feet = 20 meters
Width (along X) = 52.493 feet = 16 meters
Height (along Z) = 32.808 feet = 10 meters
This is exactly what we originally had in 3ds max, so physical units are perfectly preserved, at the cost of a single scaling factor to enter at import.
alexcoppo posted Wed, 07 May 2008 at 2:48 AM
In addition to the above info, I noticed that there is a kind of scaling between Esprit and Infinite (or better, PLE).
If I export a default cube from Esprit (30 units when sized in the program) the import into PLE gives a 6m cube (result confirmed by exporting into OBJ from PLE, which gives a mesh 60 units on the side).
Apparently, Esprit units are 1/2 of PLE ones (or better, 1 Esprit unit = 5cm).
Bye!!!
GIMP 2.7.4, Inkscape 0.48, Genetica 3.6 Basic, FilterForge 3 Professional, Blender 2.61, SketchUp 8, PoserPro 2012, Vue 10 Infinite, World Machine 2.3, GeoControl 2
chippwalters posted Wed, 07 May 2008 at 2:56 AM
Alex,
Unfortunately, Vue's primitives don't necessarily follow the rules. Try creating a scene from Vue-Infinite with a cube, then bake the cube to polygons and export it. Then import it back in. You'll see the new imported cube will be 1 unit square while the existing one is 30 units square.
So, a better test is to use polygon meshes and not Vue primitives.