Jump to content

Fenolis

Members
  • Content count

    37
  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Everything posted by Fenolis

  1. "Tent": Connect 1 pt to a bunch of others pts

    Turn your process into a HDA at the SOP level, and be the change you want to see!
  2. Modelling Parts for a Pillar

    I had fun with the math shape. astroid.hipnc
  3. Wall generation from wireframes

    looks like you did an inset after... PolyExpand3D!?
  4. Technique for modeling a wheel

    I would like to know if you have any ideas on how to start modeling a shape like this procedurally in Houdini: I've already managed to build the tyre with help from the Creep SOP, but if you have any techniques you'd like to share, I'd be happy to learn those as well!
  5. Technique for modeling a wheel

    That was very helpful! Thank you! Here's a design using Polybridge.
  6. Technique for modeling a wheel

    Thank you for the link! I've actually seen that one before a few times, and while I feel that there are some good steps there I have come up with an easier process. You used bending to achieve the curvature along both axes, while I drew a curve profile for my tyre base, revolved it to create the tyre, converted it to a NURBS surface which I then swept my tread pattern along using the Creep SOP. The Creep SOP also allows for control over surface coverage quite easily, as well as making sure it is impossible to create any overlaps. I'm sure the way you generated the tread pattern is similar to mine, and will work in my process as well.
  7. Capsule

    You could always hack the height with a "n/bbox(opinputpath(".",0),D_YSIZE)" expression in the scaleY value of a transform node, where "n" is the height you want.
  8. Is the aimed point on the same plane as the points your normals are coming from?
  9. Greeble plugin for Houdini

    Hey this looks good! Do you have any way to resolve self-intersections?
  10. Procedural Road Creation

    Replace all $SIZEX $SIZEY $SIZEZ expressions with the "bbox()" expression. e.g. bbox(opinputpath(".",0),D_XSIZE) bbox(opinputpath(".",0),D_YSIZE) bbox(opinputpath(".",0),D_ZSIZE) Feel free to replace the "opinputpath" section with the path of the node you want to read the parameters from. It's definitely more tedious, but it works.
  11. Grape Modeling

    Hi, I have generated a bunch of grapes using Houdini's L-system SOP. I instanced the grape geometry using the leaf J input for the L-system, and the grapes sometimes intersect each other. As the model has to be used in a dynamic simulation, these intersections will cause issues in future. Is there any way to fix/prevent these geometry intersections? Attached .hip for reference: grapes_single.hip
  12. Hi guys, I am trying to make a bowl filled with water. However, the fluids keep on leaking out from the collision geometry even though the collision geometry looks fine. Could anyone take a look at my hip and see what is wrong? untitled.hip
  13. Flip Fluids leaking through geometry

    That...blew my mind. Excellent explanation of the FLIP sim and a cool solution to boot. Thank you very much!
  14. Copy stamp a string value?

    Hi.. 3 years later and I've come across a similar question. Good examples and effective solutions, but perhaps, chs("../node/stringparm#") BECOMES chs("../node/stringparm"+stamp("../copystamp","copy",0)) This will allow stamping of string parameters using the copy SOP, with one variable in the copy SOP called "copy" with a value of "$CY+1" (or whichever variance you wish to stamp by)
  15. Flip Fluids leaking through geometry

    Can't upload .bgeo files: angel_first_bowl_pour_origin.zip
  16. Hey Marc, still too busy for this? :x
  17. I've been trying to switch the input for a Sweep SOP between a Null SOP and several Curve SOPs to disable/generate a bunch of profiled lines. However, on switching to the Null SOP, the Sweep SOP still produces geometry (that's handled by other nodes further downstream) even though the input contains no geometry (I middle mouse clicked on the Switch to confirm this). One solution I could find was to refresh the Sweep SOP by double clicking on Bypass, then it decides that there is no geometry coming in and accordingly produces no output. However, I have to do this each time the Null is switched to. The other solution is to have a second switch after the Sweep and switch to the Null there. I don't know why this has to be a workaround, it feels a little less intuitive than just switching the input of the Sweep to a Null. Anyone else encountered this? HIP file: sweepbug.hip
  18. Is this a Sweep bug?

    Thanks for confirmation! -RFE'd
  19. Cloth Penetrations

    Looks like your polygon count doesn't remain consistent throughout the duration of the simulation. Try appending a Font SOP with the expression: `nprims(../node_you_want_to_check)` and run a Flipbook to see if the polygon count changes over the course of your cloth simulation. Hope this helps!
  20. Shader Issue

    With PBR you have to check the OpenGL parameters are linked to your color/texture map. This should make them show up in viewport.
  21. Looking to dive into houdini

    Houdini is as much about creating your own tools to solve problems as it is about providing such tools. Some Houdini users create digital assets (reusable nodes) that let them work more efficiently by simplifying a complicated process (you don't have to create an entire set of nodes more than once!)
  22. Looking to dive into houdini

    While it's true that Houdini and Maya/Blender are quite different in the way they handle, I've used Houdini for a while now (switched from Maya almost a year ago) and I very much prefer the flexibility it offers. As for your confusion, Houdini does have groups and will bring in UVs from imported geometry (if they exist). You can create a Group node in the network view to see the different ways you can group objects (bounding box is usually the most convenient for me). You can check for existing groups in imported geometry by middle-mouse clicking the File node - this will also show if the geometry has UV attributes. If desired, you can append a Material node to test your shader. Use the Group parameter to call in the group you wish to apply the shader to. If you haven't yet created a shader but wish to view the UVs, you can use a UVQuickShade node for clarity. Hope this helps! Edit: Couple minutes later than michael :x
  23. I have a file node with the Geometry File parameter set to /home/Houdini/bgeo/geo1_lod_$F.bgeo so that it's capable of reading .bgeo files with different levels of detail at different frames. What I would like to do is instead of having the LoD change with the frame number, I would like to have an integer parameter called "Level of Detail" or "lod" control the file selected. I understand that it is possible to add an expression in the file param that goes /home/Houdini/bgeo/geo1_lod_'ch("control/lod)'.bgeo, but in the event that I have to change the geometry (geo2_lod_0.bgeo, geo3_lod_0.bgeo) I would have to add the expression each time. I'm wondering if there's a way to replace the $F portion of the file string with the expression 'ch("control/lod)' maybe via an intermediate process (button?) so that I could change the geometry, run that process, then change the value on the "lod" parameter to select different sub-geometries. I'm open to Python/Hscript if it makes my life easier in the long run... (Lots of geometry choices to go through here) Edit: I've come across what seems like a similar question at link. Hope this leads to my solution!
  24. Yes that sounds like what I need! Do you happen to have a sample python script for that purpose? I'm new to using python for Houdini, and I don't really know how to do button callback scripts... Thanks!
  25. Yes, that works for most of my cases. But I suppose I did not clarify well in the last post, sorry. What I meant was, the naming convention goes: file1/geo1_v1_lod0.bgeo file1/geo1_v1_lod1.bgeo file1/geo1_v2_lod0.bgeo file1/geo1_v2_lod1.bgeo file1/geo2_v1_lod0.bgeo file1/geo2_v1_lod1.bgeo file2/geo1_lod0.bgeo file2/geo1_lod1.bgeo file2/geo2_lod0.bgeo file2/geo2_lod1.bgeo file3/geo1_v1_lod0.bgeo file3/geo1_v1_lod1.bgeo As you can see the file names are roughly similar but they are stored in different folders by design type, some don't have version numbers. The user would be able to navigate to the desired folder and choose a geometry + version type, then using a parameter control to change the "lod#" Since the file name is specified manually I cannot use expressions directly in the parameter, so I would like for a button sort of control to replace the lod# part of the file name with lod'ch("control/lod)' Is this possible? (Thanks for your time, by the way!)
×