Measurement system

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
radiant
Posts: 112
Joined: Fri Feb 22, 2008 8:04 pm
Location: Mexico

Post by radiant »

i tough as much.... i just have one question... a few post ago when i made the tests... i used inches instead of meters.... and i got meters anyway when used getDistancefrom()....

used a 10 inch cube.... and got .254 for each edge....

im not saying irrlicht uses meters.... but... if MAX is exporting inches.... why do i get a meter like... unit from irrlicht ?

maybe is a MAX problem.... exporting meters anyway.... just converting from inches....

can anyone bring some light into this?
arras
Posts: 1622
Joined: Mon Apr 05, 2004 8:35 am
Location: Slovakia
Contact:

Post by arras »

how does irrlicht knows how big they are?
Irrlicht just read that from your 3ds file. Its Max which decide, what to put in when you save your model it to file.
im not saying irrlicht uses meters.... but... if MAX is exporting inches.... why do i get a meter like... unit from irrlicht ?

maybe is a MAX problem.... exporting meters anyway.... just converting from inches....
No! Max measure everything in UNITS internally, meters or inches are just ways it interpret that UNITS to you.
radiant
Posts: 112
Joined: Fri Feb 22, 2008 8:04 pm
Location: Mexico

Post by radiant »

Hmmm..... interesting behavior.... i made a cube in blend.... when it was 2 blender units... i got a 2.2 side in irr.... when i made it 1 blend unit.... i got 2.2 in irr.... when i made it 100 blend unit.... i got 2.2 side edges.....

@_@ .....

still.... every cube had diferent size in irr... at least it looked diferent....

lets see what happends if i import a cube from max to blender and then export to irr....

still 2.2 each edge in irr.... im kinda lost here....

ok heres how it goes.... the proyect im working on is a 3d ambient navigator... but it needs some specs that the client needs... it has to be able to load any ambient that they trow at the program.... i can put some restrictions tou... but i also have restrictions.... the models int gonna come from max or blender... are commig from a architecture SW wich not only models it also allows you to set propertys... like when u design equipment u can set price... measures, descriptions etc...

now... i cant take the model straight from that SW since irrlicht doesnt display... i have to edit at least once in max or blender so irrlicht can read it... i recently discovered that ill have to use irrscenes or collada scenes to load(this is explained in a diferent post) one of the things the app has to do is measure distances... i already came up with a very simple strategy to measure.... just need to know how to read what im from a getDistanceFrom() function.....

in the end... the loaded meshes should probably be .irrmesh files in a .irrscene file...

anyone has an idea to solve this problem?.... cause even if i stick with a distance unit in the architecture SW if it has to go through blender it ll probably happen the same that happened to the cube... => 2.2 units

Thanks in advance
Kriolyth
Posts: 26
Joined: Wed Mar 26, 2008 6:59 pm
Location: Moscow, Russia

Post by Kriolyth »

Model a simple ruler in MAX or Blender that has some definite size (for instance, 1 Quatloon :P ). You will have a scene anyway, where you can scale models to fit the dimensions needed.

BTW, 3DS has a special tag for defining unit scale and anotehr tag for object matrix that can also have a scaling factor. Other formats have their own intrinsics. There are quite a few parameters that can lead to unintuitive metrics.
The cake is a lie.
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

radiant: You are using so many different mediums, and trying to compare them. That's not how it works, unless you know what each one is supposed to do specifically.

First of all, Blender's or Max's units could be straight from OpenGL units, and second of all an exporter can do whatever it wants to with the data that Blender hands to it. So you are assessing the exporters, and not Blender's units.

A unit is a unit, just leave it at that. Stop over complicating things, that's all you are doing.

When you are modeling, just pick your own scale, and model everything to that scale. Then everything will work out, and if your model doesn't turn out big enough, then you can still scale the model and it will look perfect.

It isn't that hard to get your mind around the fact that 1 unit is 1 unit, and (0,0,0) to (0,0,1) is just 1 unit. What is so difficult?
TheQuestion = 2B || !2B
radiant
Posts: 112
Joined: Fri Feb 22, 2008 8:04 pm
Location: Mexico

Post by radiant »

well.... ti be honest ... i cant do that.... cause im not gonna be the one using the app...

Someone.... is goin to make models of equipment... in program they choose..
(i can tell them how i need the models to be... single mesh for each equipment... where to put the center of the mesh, etc... but thats all)

someone(maybe the same person) is gonna take the models and make a scene... in the same sw.... again i can put some restrictions... the scene is being exported into .3ds, .vrml .dxf, dwg, .dgn or .c4d, c4u, a4d i can pick wichever i think suits better...

//////
In this point the scene has to be procesed so irrlicht can read it, and every equipment can be read as a diferent object... cause equips have to display info when picked by the explorer's user.... i cant use meshbuffers to do this so i need a scene file format... all this also has to be done bye someone in the client's side... they will have to learn how(more like somone on the development team has to teach them)
//////
Here's where i enter the scene(program developer)

once i have my scene loaded in te explorer(somehow x_x) one of the features needed is to measure distances... since the models already went trough at least 2 programs:

A) architecture program
B) Blender or max exported as scene(probably blender ->.irrscene)

as i checked in the earlier post... blender messed up the original distance unit system(from the arhitecture program)....

how could i measure distance witthin the 3d scene ?

one thing i can think of... is if when i load my scene i ask... or something one of the measures of one side of the scene... and then compare it to the side measure i get from the bounding box... i can make an aproximation to the actual size of the units in the scene...

ie....

500 u (get distance from) 80m..(actual distance)

1m = 80/500

Any ideas???
Halifax
Posts: 1424
Joined: Sun Apr 29, 2007 10:40 pm
Location: $9D95

Post by Halifax »

Okay, please change your way of thinking. Blender isn't messing up the measurements. The exporter is messing up your measurements. And second of all, yes you can still influence the modelers that you are having make your models. Just simply tell them that 1m = 1 unit, or 1cm = 1 unit, etc.

And those ellipses are really annoying. :lol:
TheQuestion = 2B || !2B
radiant
Posts: 112
Joined: Fri Feb 22, 2008 8:04 pm
Location: Mexico

Post by radiant »

ok.... i understand that blender isnt messing up my measures... obiusly... a cube is a cube.... so when exported blender just says... this is a cube...and is "this" big in relation to the default cube ie... grid cube and i know thats done by the exporter.. or importer i dun know when it happends.... just that after blender i dont get the right measures... putting that aside...

i already gave up on finding a measure system... cause it will be lost when exporting/importing.... i proposed a way arround this:
one thing i can think of... is if when i load my scene i ask... or something one of the measures of one side of the scene... and then compare it to the side measure i get from the bounding box... i can make an aproximation to the actual size of the units in the scene...

ie....

500 u (get distance from) 80m..(actual distance)

1m = 80/500
will this work? anyone has a diferent idea... maybe easyer?

Thanks in advance
Post Reply