Jump to content

All Activity

This stream auto-updates     

  1. Past hour
  2. Select node with Python

    Hi Ben, Yes, this is very handy, I did use this method. Thank you so much!
  3. Today
  4. for loop - inheriting v attribute

    @eimk Thank you ! This clears things up for me a lot. appreciate the examples.
  5. Yesterday
  6. Beginner to python here. I have a big scene with a lot of geometry and in order to render I need to do some camera culling. My setup has 49 geo nodes and I'm trying to add a wrangle to the end of each network inside each geo node. So far I have defined some stuff and tried to loop over it with no luck: wrangle = hou.node("/obj/foo/cullWrangle/") exportNodes = hou.selectedNodes() for node in exportNodes: len(exportNodes.children()) I thought it might be simple to loop over the selected geo nodes, access the child nodes, define the last sop in each geo node, and then something something add wrangle. Can anyone help me out?
  7. How to cap and triangulate 3d "holes"

    yeah some it just works, while some you have to adjust the Pairing Shift to -2, I'm yet to find a proper way, I've never like Houdini poly bridge anyway, too finicky.
  8. Find parameter value from list to use in expression

    Hey - okay awesome, I'm not too sure what wedge or PDG are... Can you elaborate, thanks very much for your help.
  9. My guess is you need to be using a Static Object DOP pointed to your collider geo and enabling "Use Deforming Geometry", making sure the collision relationship in the "Merge" node is set correctly
  10. "Banding" effect on pop sim

    Thanks it works like a charm, perfect !
  11. How to cap and triangulate 3d "holes"

    On 2nd look, the polybridge seems to be making doubled geometry...I assume this is due to the same edge loop being bridged against itself. I haven't had much luck with polydoctor getting rid of every set of duplicate polys, but maybe I can derive some information from the edges that this setup makes.
  12. How to cap and triangulate 3d "holes"

    Hey eikonoklastes, the engine doesnt render the polys, but we're still paying for vertices to do the visibility calculations against, and the verts multiply if they have split normals, or UVs, so it can add up. I will be sending assets back that need backfaces from now on, but I'm in the middile of this task and getting a model change at this point will cost me far more time than fixing it manually in Houdini. Thats way better than I was able to do, Thank you Noobini. I'll see if I can control the consistency or maybe add a twist attribute to these meshes so the edge pairings can be controlled a little bit. Thanks for the guidance!
  13. "Banding" effect on pop sim

    On the DOPNetwork titled "Experiment" there is an Object field. This field contains an asterisk by default denoting the wildcard of all nodes with geometry inside the dop network. If you examine your network you'll discover that there is a StaticCollision node named geo1. When you import everything using the asterisk the collision geometry is imported as well. Houdini supports some symbolic grammar to allow you to modify this list. You can use the caret symbol to exclude an object from import. Try using... * ^geo1 to import the particles but exclude the geo1 collision node inside the dopnetwork.
  14. Find parameter value from list to use in expression

    For exporting to FBX you can use wedge or PDG and switch blend input based on wedge number.
  15. "Banding" effect on pop sim

    @Atom Hey Atom, I'm having a look at the file you just sent a couple days ago, trying to get what you did. I'm almost grasping it but one thing is bothering my noob/intermediate user knowledge, I just can't render the particles because the points are hiding behind the biggest sphere and I'm really having a hard time finding a place where I could hide this object. Could you please explain where I could find a switch that would help me out ? Sorry if this seems like a dumb question, Thanks in advance,
  16. I decided to go with the pop grains instead of the vellum grains, so that I might be able to fine-tune its behaviour a little bit better. But over here I stumbled over another issue I am sure there's an obvious solution, that my noobyness cannot seem to find. I made a collider object outside of a pop network (grain) and want to reuse it in there. how do I approach that? And btw. what do I need to use, if the collider object isn't static but animated? (instead of the static solver?) D'you have any ideas?
  17. Alright. Figured it out. The alembic file had to be unpacked and converted to polygons before merging as an additional collier:
  18. so what are the results? if you have twitter and can tell us...
  19. for loop - inheriting v attribute

    A wrangle set to run over points will execute the VEX code once for each point in the input geometry. When using the @attribute syntax, you are setting an attribute on the point that is currently being run over. If you want to set an attribute on a different point, you have to use setpointattrib, which I see you already have commented out. The one you have will do exactly the same as setting @v since the point to set the attribute on is @ptnum. If you want to set the @v attribute on the point you just created, you'll have to store the created point in a variable, and then use that variable in place of @ptnum. for(int i=0; i<10; i++){ if(@rand>0.8){ v@pos = point(1, "P", 0); v@v= v@P-v@pos; i@point = 1; } if(i@point !=1){ v@v=set(0,1,0); v@Cd=set(1,0,0); } if(i@point==1){ v@Cd=set(0,1,0); v@v= v@P-v@pos; v@P+=v@v*-0.01; int new_point = addpoint(0, @P); v@v= v@P-v@pos; setpointattrib(0, "v", new_point, v@v); } } There are also some inefficient methods in your code, which aren't necessarily a huge issue for what you're doing here but it's good to always optimise things anyway. You're creating variables by setting attributes, which is slower and leaves you with a bunch of attributes you don't need after that wrangle. The first if statement executes once for every loop even though it will have the same outcome each time. Also, certain attributes like P, Cd, and v are recognised by Houdini and don't need to be specified as vectors. Here's an example of how you could remove these inefficiencies: if(@rand > 0.8){ vector pos = point(1, "P", 0); @v = @P - pos; @Cd = {0, 1, 0}; for(int i=0; i<10; i++){ vector P = @P + @v * -0.01 * i; int new_point = addpoint(0, P); setpointattrib(0, "v", new_point, @v); } } else{ @v = {0, 1, 0}; @Cd = {1, 0, 0}; } Hope this helps!
  20. New poll by Henning Sanden (flippednormals - About maya users switching to Houdini
  21. Open world roads

    Sounds like a good project for getting into lidar hardware. For this purpose a rotating one might be nice, but one which could be carried around is probably even better.
  22. Find parameter value from list to use in expression

    Hey guys, Thanks for the reply's - the issue is that I need this to run through a blend shapes so that each state is recorded as a morph target when exported to FBX, I don't think there other options will achieve this. So both your solutions are great options, but won't achieve the results I need for this workflow. Thanks again,
  23. Open world roads

    @Pancho sounds interesting. Would love to get my hands on a LiDAR scanner. We are working on a Project where we have to scan different little spaces (gardens mostly) and get them into UE4. If you have some sources or experience, let me know.
  24. Random vellum pressure

    Thank you @Atom I'll try to build that with a grid texture map and some fall off/mask. I saw you started from the file created on the other post of Samvac
  25. Declaring your function as an int doesn't work. Either write: int hasRes = teximport(s@imgFile, "texture:resolution", v@scale); or leave out the return value variable: teximport(s@imgFile, "texture:resolution", v@scale); As for Hscript vs Python vs Vex, there are numerous explanations already online. This is just how I see it: The short version is "HScript is Houdini's legacy scripting language." Which you can mostly use like you would with python for importing, renaming files and so on. That's pretty oldschool though, so as given in the documentation, you should rather use python for that now. However Hscript is the go to to use as expression functions for changing parameter values on nodes, like I do with the trace SOPs "file" parameter here. You could also do that in python, but it's a bit more cumbersome. Vex works a bit different and is mostly only used for editing geometry and geometry attributes as well as in shaders, cops and chops. For the geometry editing you could also use python, it would just be way slower since it is python and by default only single threaded. You can not use vex to change any parameters of nodes.
  26. Filling a container with RBDs from bottom

    Thanks Jonidunno. Finally I had to fill the bathtub, let particles evacuate and then play it backward to get the filling effect. Not perfect solution but worked.
  27. How to cap and triangulate 3d "holes"

    another route...not ideal but it does a few of the tubular ones...who knows it might do 75% of the geos which may be a time saver vu_struts_boxes.hiplc
  28. How to cap and triangulate 3d "holes"

    Sorry this is a bit off-topic, but surely the game engine you're running manages back-face culling by itself? Why manually delete perfectly good faces?
  1. Load more activity
×