Sun, May 26, 7:16 PM CDT

Welcome to the Vue Forum

Forum Moderators: wheatpenny, TheBryster

Vue F.A.Q (Last Updated: 2024 May 26 4:32 pm)



Subject: Measurements in Vue Esprit 6


Indoda ( ) posted Wed, 10 September 2008 at 10:19 AM · edited Mon, 29 April 2024 at 8:08 PM

Hello,

What are the units of measurement in Vue Esprit 6?  In other words how do I set a tree to a set height - I've looked all over the place for an answer to this - I may need new glasses ;)  Poser has its own weird PNU but can set to inches or cms etc..

Thank you

The important thing is not to stop questioning.
- Albert Einstein

Indoda


adrulager ( ) posted Wed, 10 September 2008 at 12:06 PM

not sure this will help but this is from a newsletter a few months back.

From the Developers Desk: Does Scale Really Matter?

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:

· either physical units are of no concern and only coordinate values need to match between both applications, to ensure consistent placement of your scene elements,

· or, preserving physical units is essential, so an object of 20 meters wide originally must be 20 meters wide in Vue, and displayed as such.

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.

 

How about camera synchronization?

When importing synchronization data, a look at the synchronized camera animation properties panel will reveal a synchronization scale factor (which is common to all synchronized items). This scale factor will be applied to any synchronized position value, thus effectively scaling synchronized paths throughout the Vue scene.

As with the 3ds max export process above, the synchronization plugin retrieves position values in the host application's internal units (e.g. "generic units" in 3ds max), so the problem can actually be solved in exactly the same way!

If you use generic units in both applications, and therefore import your geometry without any rescaling, make sure you always set the synchronization factor to 1. If you import your geometry with a conversion factor to preserve physical units, make sure you apply the same value for synchronization factor as for the import scale factor. In both cases, your data will consistently match, as expected.

 


nruddock ( ) posted Wed, 10 September 2008 at 12:18 PM

Quote - What are the units of measurement in Vue Esprit 6?  In other words how do I set a tree to a set height - I've looked all over the place for an answer to this - I may need new glasses ;)  Poser has its own weird PNU but can set to inches or cms etc..

Vue uses it's own units internally (Infinite and XStream offer the ability to see these displayed in a choice of real world units).

The real world equivalent of 1 Vue unit is 10cm.

You'll find pretty much everything for Vue needs scaling to match this scale.


Indoda ( ) posted Wed, 10 September 2008 at 1:15 PM

Thank you both so much - at least that makes sense now and I can build on that
@adrulager  thanks for taking the time to post that article
@nruddock thank you 1 = 10cms

The important thing is not to stop questioning.
- Albert Einstein

Indoda


Privacy Notice

This site uses cookies to deliver the best experience. Our own cookies make user accounts and other features possible. Third-party cookies are used to display relevant ads and to analyze how Renderosity is used. By using our site, you acknowledge that you have read and understood our Terms of Service, including our Cookie Policy and our Privacy Policy.