Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


MBaadsgaard last won the day on October 27 2019

MBaadsgaard had the most liked content!

Community Reputation

15 Good

1 Follower

About MBaadsgaard

  • Rank

Personal Information

  • Name
    Martin Baadsgaard
  • Location
  1. I wrote an article that is probably only of interest for the .1% It is a crash introduction to HDK, C++ and the mesh laplacian. https://mbaadsgaard.com/portfolio/laplacian-eigenvector-plugin-for-houdini/ Feedback is, of course, also welcome
  2. Compile block around a single node??

    Thank you. That makes good sense. Haven't looked at the SOP Solver yet so didn't know about that option.
  3. I was looking into the Compile Block wondering about the exact boundaries within which to use it. I got the impression from the docs that the optimization is mostly between nodes. Not having multiple copies of the geo per node, multi threading for loops etc. But while watching the H17.5 launch event I noticed (at around 32:43) a single polyreduce node in a compile block. So... Are there just nodes we should always stuff into a compile block for speed..???
  4. Questions about Mike Lyndon COPs video

    Okay so turns out that just dropping a Snippet in a VOP network makes it much easier and I managed pretty quickly to get the same result directly in COP. But I STILL have a feeling this is not a good way to go about it. Since it seems the most straight forward but an experienced Houdini user like Mike goes the other way. Is it bad practice? Slow? Hard to read? Example.hip
  5. Hey there guys. I was watching this really great video: And at 1:47 he starts talking about using a Wrangle to get Geometry attributes in UV space into a Volume and then bring it into a SOP network. So the questions are theoretical and slightly abstract. 1: Why not just use VEX straight in COP to get the same result? Why make the Heightfield first and sample that? I tried doing it myself but the VEX editor in the COP2 network is horrendous! However, this guy is so capable I doubt that would be a problem. 2: Is there a benefit to doing the things he do in COP and not just with volume wrangles? Speed difference for example? I see the benefit in the end with showing it on the model, so you have a good feedback while developing, but besides that? Now the answers here might just be "for demonstration purposes" or "because it is easier" and that's fine! Just curious if there is something I am not getting right. Thank you!
  6. hou.Geometry.point() not working..?

    Damn, I didn't realize. Thanks! Yea I am on 16.5..
  7. hou.Geometry.point() not working..?

    This is all happening in an HDA that will be used in Unity, so I have to keep all paths relative. I tried doing it in a new scene with an absolute path, it still won't budge. Did you get that example from some of your work or is it just an example?
  8. hou.Geometry.point() not working..?

    Simple problem: I have a foreach loop running over points on a curve each with an attribute that is randomized for which variety of geometry it needs to use. The varieties are coming from 1 input, but where each variety has a different primitive attribute for which variety it is (I get the geometry in from Unity). I got the geometry getting piped in to a copy to points node, in the foreach, but before that I need to delete, per loop, what is not used. Or I need to pick it, I don't know. I just need the loop to select a variety based on the randomly generated attribute. So the way I did it was with a delete node, with an expression with the following python code: curVal = hou.pwd().curPrim().attribValue("namechoice") compareVal = hou.node("../foreach_plank_start").geometry().point(0).attribValue("nameselect") if curVal != compareVal: return 0 else: return 1 Comparing the primitive attribute (int) with the point attribute (int). But.. I get this error: Error: Unable to evaluate expression ( Traceback (most recent call last): File "<stdin>", line 3, in expression AttributeError: 'Geometry' object has no attribute 'point' (/obj/worknode/fence_maker/delete2/filter)). Explanations to why hou.Geometry.point() is not "valid", suggestions for other ways to code it or suggestions for other way to do the network are most welcome!
  9. Hey there. I am trying to read a heightmap, do some changes to a specific area and then write it back out again. I am making it a specific area because an 8x8k heightfield seems a bit too heavy. Unfortunately, when trying to use a Composite COP Node to compose the changed area back on the original image, it leaves big black bars, freezes Houdini, or just instantly kills Houdini. On trying to export it all with the ROP File Output node, it just g ives a bake error. Could anyone have a quick peek and see if there is something obviously wrong with my setup? I imagine it is because I am new to the program and am doing something fundamentally wrong with the way I build graphs. The attached HDA needs a heightmap and that's about it. The Composite node is in [HDA]/TerrainTileOut/Output_Texture/ where it's the second last node. Thanks. Terrain_Spawner.hda