PDA

View Full Version : Scale Units Problem?



2kilo
04-28-2004, 05:22 AM
Can anyone help..?

In lightwave I'm building a 3d room to realistic measurements for a 3d engine.

What I guess I need is a generic unit of measurement that does not change name/denomination as it increases.

- i.e. move from 1cm to 1m to 1km
- but stay as 1cm to 100cm to 1000000cm

What happens is on export of a 100cm cube, it becomes 1m in Lightwave then imports into the engine with a value of 1cm.

I would like to avoid scaling in LW [keep real measurements and sanity] and avoid scaling in the engine [collision problems].

Its a small, but extremely annoying problem that effects workflow, and means when scaling I end up re-checking and comparing results from different settings.

Any help would be appreciated...

Matt
04-28-2004, 05:49 AM
Try using this script I wrote.

Very simple:

1) Pick two points on your model you _know_ the dimension of
in real life

2) Run the script

3) Enter the _real_ dimension

Voila!

It will now scale everything in proporation (assuming you left Scale X,Y,Z ticked) to make the dimension the correct value.

Hope that helps.

Cheers
Matt

Here's the thread where I posted the script.

http://vbulletin.newtek.com/showthread.php?s=&threadid=21794

Matt
04-28-2004, 05:52 AM
Just read your post again, actually you're asking something totally different from what I thought, sorry!

BeeVee
04-28-2004, 07:13 AM
Just press d in Modeler and go to the Units tab. Does that not solve your problems?

B

2kilo
04-28-2004, 10:33 AM
nope

what I need is a unit measurement that does not change name...

1 unit 100 units 1000 units etc
think of a measurement like pixels
1px 100px 1000px

Lightwave goes
1cm 1m 1k

Which means if I export a 1cm or 1m or 1k cube, it will become the same size in the engine, 1unit...

Lightwolf
04-28-2004, 10:53 AM
Erm, I don't get it to be frank. Internally LW uses metres as the unit of measurement, i.e. 1m = 1, 1cm = 0.01, 1mm = 0.001.

If you want something to be 1 unit large in your engine, model it one metre large.
If you want it 10 units, make it 10metres.

Cheers,
Mike :confused:

2kilo
04-28-2004, 02:43 PM
nearly there...

Basically I would like to work with 100 units = 100cm in my engine
Lightwave therefore would have to use 100cm = 100units
Whereas it currently changes 100 cm to 1 m which equals 1 unit in the engine.

Most engines do not seem to register systems of measurement, do not understand that 1m is 100cm. They just take the number value of 1 instead of 100.

Therefore can Lightwave use a measurement system that does not change name and value as it gets larger - eg uses cm for every measurement, 1cm 100cm 200cm 300cm instead of 1cm 1m 1.2m 1.3m..?

I wish to avoid scaling if possible but currently Lightwave measurements mean that the engine program is dealing with lots of small decimal figures making the job a bit of a mind bender...
ie its a lot easier [for me] to work with multiples of 10 than 0.1 when it get complex...

riki
04-28-2004, 06:24 PM
Try the Lscript forum, if you explain the problem you might find some kind soul who can help you out with a custom script. That's of course if it's possible to do.

Silkrooster
04-28-2004, 07:38 PM
If I remember right the units can be entered mathmatically. There fore you could enter in 100cm as 10m*10 or 1*100 which is what you want 1 unit=100cm. This way 1 unit = 1m. Make your design using 1 meter scale then when done resize to 100cm scale.

Lightwolf
04-29-2004, 01:14 AM
Well, in that case work with meters and scale all vertices on import in your engine (I assume that you code the engine and the importer as well). Seems to be the easiest way.

Cheers,
Mike

WizCraker
04-29-2004, 01:53 AM
Just out of curiosity what engine are you useing?

2kilo
04-29-2004, 04:28 AM
Thanks for the replies. Getting closer...

I was wrong on one aspect, a 1cm 1m 1km is now importing to different sizes. I need Lightwave to totally ignore the measurement system and produce a numeric value of 220 instead of 2.2m for export [and avoid scaling, causes other issues down the pipeline]

Lightwolf
04-29-2004, 04:34 AM
LW _is_ totally ignoring it.
1m = 1.0 internally. The units you see are just the external representation.

So 1cm = 0.01 - internally.

I somehow have the feeling you're not used to using the metric/SI system, are you? ;)

Cheers,
Mike

2kilo
04-29-2004, 07:31 AM
Cheers for help Lightwolf

The difficulting is not within Lightwave, I 've had no problem using the measuremnent system for modeling [its great], its the export.

Let me explain people...

Two ways to measure an object:
1: Using a measurement system like metric, where sizes increase using denominations eg 1cm, 1m, 100m, 1km
2: A pure numeric system where there are no denominations, sizes increase from 1,100,1000,10000,etc

A pure numeric system would export 120 as 120, whereas the metric system changes 120cm to 1.2m and export as 1.2.[in Lightwave]

In Cinema 4d, choose cms and ALL the measurements are in cms.
I guess I'm asking is there a way of changing the internal numeric values within Lightwave..? [need to avoid scaling if possible]

[think I'm gonna give up, thanks anyway]

Lightwolf
04-29-2004, 08:39 AM
Now we're getting closer :)
No you can't ;)

It would actually be a pain for developers if you could, it would make many operations more difficult from the programming side if you not only had one value, but also a unit(->mulitiplier) that goes with it.

Cheers,
Mike

mattclary
04-29-2004, 09:07 AM
What format are you exporting?

2kilo
04-29-2004, 10:11 AM
Cheers, thanks for your patience Lightwolf

2kilo
04-29-2004, 10:17 AM
I'm exporting .lwo files, then into Gile[S], then exported to .dbo.
-I'm new to Gile[S], good for quick testing, I will hunt around for scale import settings tonight-

Silkrooster
04-29-2004, 09:30 PM
You know when creating objects you don't have to follow the cm and m rules of LW. If you want 120cm type in 120m then when your object is done rescale your object in the engine you are using.

2kilo
04-30-2004, 06:46 AM
yeah I was trying to avoid that, the work is based on realworld sizes, and I get confused easily [simple I know, but I'm dealing with between 2 or 3 different scales in other apps at the same time].

Best I've managed so far:
Lightwave cube 1m
Gile[s] scale by 10 [1m =10 units here]
engine now has 1m = 1u [better than dealing with 0.1]

Still testing 3 different environment scales in the engine, and Giles[s] which all behave differently, which I guess means hunting backwards for various settings and defaults in each app.... never ending.