Scale in Houdini, Maya, etc.

   32520   11   4
User Avatar
Member
9 posts
Joined: May 2016
Offline
Houdini's default scale setting is 1 distance unit = 1m (right)?. BUT if I create a cube in Maya that is 1m³ in scale and import it to Houdini, it will be 100 times bigger:




So if I create a .01m (1cm) cube in Maya, then import it to Houdini, it matches a default Houdini cube in dimensions:



The problem here is that I want a 1cm³ object to behave like a 1cm³ object in simulation–not like a 1m³ object, without having to adjust the physics themselves. I would like to be able to start with a real-world -9.8m/s² as my foundational gravitational constant, etc., instead of having to adjust gravity and mass significantly to make a simulation feel right. Is there any reliable way to

1.) Quickly set and measure scale to real-world standards, and
2.) Consistently create and import geometry to those standards without having to scale things to match?



Now, regarding that (and this is almost more important):

When I create a ground plane at Houdini default, it is smaller than when I set the unit to, say, centimeters.




So do I understand this correctly to mean that if you create a Houdini-default cube at a scale of 1m³, then set the scale to centimeters, it will adjust the physics to treat the original cube as though it is now 1cm³? Or does that have more to do with the individual Physical settings you give each object?

See, in Maya (which I'm learning effectively has its own way of measuring and exporting (in terms of units as opposed to actual measurements ), when you create a measuring tool and measure the distance between two points, then change the global scale, that measurement's numbers update immediately to match the new unit. In Houdini, the numbers remain the same:




PS—Please explain it to me like I'm five, if you can, since I'm very new to this, and I'm a very visual person..
Thank you!
Edited by ninthtale - May 19, 2016 21:45:48
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
Dont change Houdini unit settings > or Mayas , just bring your data into Houdini and scale by 0.01 using a transform sop or the scale parm on the geometry node.

Rob
Gone fishing
User Avatar
Member
702 posts
Joined:
Offline
We have found that maya always exports its data as cm and inside maya is where the scaling happens…but when exporting it is always going to export as cm
User Avatar
Member
9 posts
Joined: May 2016
Offline
circusmonkey
Dont change Houdini unit settings > or Mayas , just bring your data into Houdini and scale by 0.01 using a transform sop or the scale parm on the geometry node.

Is it better to use a SOP?


sidenimjay
We have found that maya always exports its data as cm and inside maya is where the scaling happens…but when exporting it is always going to export as cm

Actually I've found that the programs' measurements are offset by two magnitudes: Maya centimeters are Houdini meters; Maya millimeters are Houdini decimeters. There's definitely scale information, but it's been awfully confusing at first :\
User Avatar
Member
4189 posts
Joined: June 2012
Offline
ninthtale
Actually I've found that the programs' measurements are offset by two magnitudes: Maya centimeters are Houdini meters; Maya millimeters are Houdini decimeters. There's definitely scale information, but it's been awfully confusing at first :\

That's the same thing. Both are 1:100 ratio

1cm : 100cm, Maya:Houdini
1mm : 100mm, Maya:Houdini

User Avatar
Member
702 posts
Joined:
Offline
I see what makes you assert maya cm is houdini m….

if I understand, you are saying is that if you export a box from maya at 1unit with maya set to m, you get a box in houdini at 100 units…which is 1m or 100cm so maya is exporting it to cm from meters…again if you export a 0.01 unit box from maya set to m, it is 1 unit in houdini which is 1cm … maya is taking the m and converting to cm on export…

if you make a 1unit box in maya at mm at export it, do you get a 100 unit box in houdini?

if so maya is making the change to cm not houdini….
Edited by sidenimjay - May 19, 2016 23:49:39
User Avatar
Member
9 posts
Joined: May 2016
Offline
Artye
ninthtale
Actually I've found that the programs' measurements are offset by two magnitudes: Maya centimeters are Houdini meters; Maya millimeters are Houdini decimeters. There's definitely scale information, but it's been awfully confusing at first :\

That's the same thing. Both are 1:100 ratio

1cm : 100cm, Maya:Houdini
1mm : 100mm, Maya:Houdini



Haha, sorry. I've been scrambling around the vasts of the internet and it's been difficult to be sure I'm saying what I mean, since the issue has thrown me off a bit. Thank you


sidenimjay
I see what makes you assert maya cm is houdini m….

if I understand, you are saying is that if you export a box from maya at 1unit with maya set to m, you get a box in houdini at 100 units…which is 1m or 100cm so maya is exporting it to cm from meters…again if you export a 0.01 unit box from maya set to m, it is 1 unit in houdini which is 1cm … maya is taking the m and converting to cm on export…

if you make a 1unit box in maya at mm at export it, do you get a 100 unit box in houdini?

if so maya is making the change to cm not houdini….

No, not quite.

So:

If you create a box in Maya with the units set to cm, then import the obj to Houdini set to m, the box will be 1m, matching Houdini. Either way, there's not an actual conversion going on; it's a simple offset of two magnitudes.

Maya meter = 100 Houdini meters (1 Hectometer)

Maya cm = 1 Houdini meter

Maya mm = 1 Houdini cm

And so on.

BUT I learned that if you export in FBX format from Maya, you can get a 1:1 scale ratio when importing to Houdini (just be sure to click Merge instead of Import if you're trying to add to the scene)!

I don't know why there's such a dissonance, but at least I know how to work with things now. Thank you for your helps!

User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
ninthtale
Is it better to use a SOP?

Depends what you need to do , if your extracting a bit of geometry sure use a transform sop , if your just extracting geometry level data , just alter the scale there

Rob
Gone fishing
User Avatar
Member
34 posts
Joined: Sept. 2011
Offline
This scale issue does not need to be confusing.

It is very simple. And once you understand it you will be on your way to worry about other things.

Try and think of it this way.

All programs have an internal scale. Why or how this is is not worth getting into. It just is. And all programs treat dynamics and so on relative to this unique scale within themselves.

But in order to interface,(import/export) they have to reach a common mathematical ground. So for lack of anything else to call it, we will call this ground 0. But for mathematical purposes we better assign a number of 1 to this. Ground zero (no scaling needed) is 1.

This is the scale space the assets must live in and transfer through to get to the other program. We will arbitrarily assign Houdini, LightWave and Blender as applications that live internally at ground 0. So in essence a 1 Meter cube imported or exported to and from any of these three apps is 1 Meter.

However Mays for instance is at ground 0(1) x 100. So a 1 Meter box exported from Houdini to Maya will be 1CM. And a box that is 1 Meter in Maya will come back to Houdini as a 100M box.

The math then is:

Houdini to Maya x100
Maya to Houdini .01

Softimage is ground 0 x 10

So From Maya to Softimage it is .1
From Softimage to Maya is is x10

From Softimage to (any ground zero program) it is .1
From any ground 0 program to Softimage is is x10

3D Max I believe is the same as Maya. But it has been a while.

So write these down someplace and forge them in your memory. If you have a program in question export/export a cube or something, write it down.

All of them so far seem to be in increments of 10.

So as mentioned. Keep the scale as is in each program and don't mess with it.

Simply scale your assets accordingly.

As a side note, nDymamics in Maya assume a unit to be 1 Meter. So you have set the Space Scale the Nucleus node to .01 if your assets are created to real world scale based on the default 1CM unit.










Edited by RichardCulver - May 22, 2016 10:53:55
User Avatar
Member
260 posts
Joined: Nov. 2014
Offline
with all the scaling involved, just keep in mind, that if you import camera via alembic from Maya, you cant scale it 0.01
there are additional steps needed.

Scaling camera in houdini doesn't work correctly.
M.
User Avatar
Member
2624 posts
Joined: Aug. 2006
Offline
As its bound to come up > here is the chops system I use to scale and and then rebuild a new camera in Houdini. From any abc file from any package

Attachments:
rse_chops_camera.hip (113.3 KB)

Gone fishing
User Avatar
Member
766 posts
Joined: April 2014
Offline
If I use a bbox_size in a detail wrangler with the units in Houdini set at default to 1m. And I use the bbox_size vex expression to measure the object the size in X,Y,Z is in meters, correct ?
【T】【C】【S】
  • Quick Links