I am pretty confused about the unit for example 'getPost(x.x, y.y, z.z). I do the model in 3dsmax and the measurement there is in metre. Once I export to ‘egg’ file, I am not quite sure what the new unit is. I cannot find any answer in the tutorial though.
Panda’s units are generally assumed to be feet, although they can be whatever you’d like them to be, as long as all of your models are consistently -sized. I believe most eggs in the provided examples are assumed to be scaled to feet (i.e. humanoid figures are between 5 and 6 units tall, etc.).
One thing that might be helpful is to load the model “models/zup-axis” and compare it against the model that you converted from Max. Each of the divisions on that axis model is one panda unit, if I recall correctly (assuming uniform normalized scaling relative to render, of course).
If you don’t see what you expected, it may be helpful to look more closely at the Max exporter. I’d be curious to know whether the Max exporter leaves the units alone, or scales the units to be uniform relative to a standard measurement. I haven’t used Max, so I don’t know; is it possible to change the units of measurement for a model in 3dsmax?
Best of luck!
From my experience, I found that Panda unit is centimeter. I’ve used Maya, and I simply created 2 objects (say p1 and p2) separated 1 meter in Maya (center to center). Then once loaded into Panda, I checked it out this way :
satumeter=loader.loadModel("1 meter") p1=satumeter.find('**/p1') p2=satumeter.find('**/p2') self.METER2UNIT=(Point3(p2.getBounds().getCenter())-Point3(p1.getBounds().getCenter())).length() self.UNIT2METER=1.0/self.METER2UNIT print '1 Panda Unit = ',self.UNIT2METER,' meters'
and I got :
1 Panda Unit = 0.01 meters
Actually, it’s the Maya unit that is the centimeter. Whatever units you use to model in, Maya converts them internally to centimeters, and unless you rescale them on the maya2egg command line (for instance, with -uo ft) they will remain centimeters in the resulting egg file.