Modeling vertex points in meshes to world coordinates?

   1548   5   0
User Avatar
Member
117 posts
Joined: Feb. 2015
Offline
Hi,
I'm modeling a mesh that follow terrain measurements on a map.
So I modeled a grid first the the correct lines to match the height lines of the mape. Then I use the Edit node to move the vertex points so they match the terrain height values that is written on the map.

The problem is that the Edit always moves in relative values, and I need it to be in absolute values. For example if I move a vertex so its height at 500, if I then do a new Edit node with vertex move it will now be based on 0,0,0 so I basically can no longer know if the vertex height is actually correct. So what I would like to do is just edit each vertex value in absolut values say just set the Z to 505m.

I'm sure there is a super easy solution that I just cannot find.
Andreas
User Avatar
Member
117 posts
Joined: Feb. 2015
Offline
Hiya,
I actually found a way that is helpful. If I select the Point in the viewport I can write absolute values in the Geometry Spreadsheet.

I'm sure there is a better way to do these terrain models so any tips are welcome. The dream would of course be to automatically build the geometry, but not sure how to get terrain data that would be useful.
User Avatar
Member
117 posts
Joined: Feb. 2015
Offline
Actually that turned out not to work very well. If I enter say 15.2 then it will change it to maybe 15.4 most of the time.
Another problem is that if I a point other points will move randomly as well. Maybe this is because I have several Edit nodes and they interfere.
Any ideas?
User Avatar
Member
56 posts
Joined: June 2016
Offline
Maybe I am wrong, but I think Houdini is the wrong tool for this "manually enter values" approach. (Please proof me wrong!)

You can always open a wrangle-SOP and type something like:
if(@ptnum == 1)@P.y = 5;
if(@ptnum == 45)@P.y = 0.2;
...

Or if you have a clean text file with your values you can import via python-SOP and set your positions there.
geo = hou.pwd().geometry()
filePath = hou.pwd().evalParm("filePath")
for line in open(filePath, 'r').readlines():
    point = geo.createPoint()
    pos = line.strip().split(';')
    point.setPosition((float(pos[0]), float(pos[1]), float(pos[2])))

Not sure if this helps you ...
User Avatar
Member
117 posts
Joined: Feb. 2015
Offline
Thanks for the reply Xue_Yue.
This is useful, but not quite what I'm after in this case.
I guess I'm just trying to actually move points precisely in Houdini by typing in their positions, but so far that does not seem possible unless I use say Python etc like in your example. To me this is a pretty basic modeling requirement so would think it is possible in some way.
User Avatar
Member
117 posts
Joined: Feb. 2015
Offline
Ok, So I got a decent way of doing this. Export the nodes to a geo. Then import again, now use the Geometry Spreadsheed to retype the values. If you have any nodes then this will create a huge mess since Geometry Spreadsheet seems to display the final result but lets you edit the top values.

Any better way would be appreciated but this works ok
  • Quick Links