Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

Community Reputation

7 Neutral

About localstarlight

  • Rank

Personal Information

  • Name
    Steve Watts Kennedy
  • Location
  1. Detect surface using VEX

    Hey symek, that did the trick. I had the input listed wrong. Thanks so much for your help! It works without initialising those variables, but good to know that's something to look out for. No apology necessary, I understand it's a bit frustrating when people treat forums as Google For some reason my searching only turned up trace(), which doesn't return the position of intersection, so I wasn't sure it was something VEX actually had. Thanks again for your help.
  2. Detect surface using VEX

    I'm trying to use the first example you gave (SOPs: intersect) but can't get it to work for some reason. Here's the VEX I'm using: vector direction = @N * -100; vector new_position; float u,v; i@intersected_prim = intersect(0, v@P, direction, new_position, u, v); @P = new_position; I'm trying to shoot a trace in the opposite direction to the point normal. Essentially I have a tube mesh surrounding a more complicated shape, and I'm trying to project the points of the mesh inwards onto the more complicated geometry. The attribute @intersected_prim is returning a prim number (which I assume must be the id of a prim on the more complicated inner geo), but new_position doesn't seem to be getting the location of the intersection, and so @P remains unchanged. This is my first time using a VEX function that requires passing a variable by reference, so perhaps I'm doing something wrong with that?
  3. Detect surface using VEX

    Great, thanks! I actually did various searches trying to find the answer, but clearly I was not phrasing my question right to turn it up. I only ever post on forums as a last resort, but thanks for the reminder nonetheless
  4. Detect surface using VEX

    Suppose I have a position (e.g. [100,200,300]) and directional vector (e.g. [1,0,0]), is there a way in VEX to fire a line trace/ray from that point along that vector and get the position of the first surface primitive that's hit?
  5. Writing attributes to image file

    Works perfectly, thanks so much!
  6. I feel like Houdini must be able to do this, but I can't figure it out... I want to take a vector point attribute and write it out to a 16-bit image file. So for example, for point 0, my attribute @out_P has a value of {561.0, 981.0 ,1174.0 }. I want to create an image sized 256x256 pixels and write the first pixel value to be this value of @out_P. Second pixel is the @out_P value of point 1, and so on... How would I go about doing this?
  7. Not cooking when using filename expressions

    Ah, figured it out. I'm using the image sequence in a ColorMap in VOPs, which apparently can't use time-based expressions inside VOPs itself, so I just needed to promote the parameter. Answer was found here: https://www.sidefx.com/forum/topic/30026/?page=1#post-138004 LS
  8. I'm using Houdini to render point clouds from depth images, and have everything working for a single frame, but can't get it to evaluate each frame in a sequence. I'm using an expression in the parameter that reads in my image files, so the file path looks like this: D:/UNREAL_WORKING/Brush_VR/Video_Captures/Character_Front/Point_Cloud_Map_01SceneDepthWorldUnits.$F4.exr The $F4 is correctly becoming '0001' on the first frame, but when I slide the timeline around, nothing changes. When I click Expression->Expand String Value, I can see that at each frame it is producing a string that should be reading in the correct file - if I write that same string manually, it pulls in the right file - but it's not actually evaluating the data from the image. What do I need to do to make sure the network is cooked each frame?
  9. I'm not sure if Houdini has a quick and easy way to do this...? Here's an article with a lot of detail about the process in a more general sense: https://www.scratchapixel.com/lessons/3d-basic-rendering/computing-pixel-coordinates-of-3d-point/mathematics-computing-2d-coordinates-of-3d-points Don't know if that helps at all though.
  10. Multiple Solver Interactions

    Thanks everyone! Will check out MultiplerSphereClothCollision, thanks Atom. Johnny: those first two videos are basically exactly what I'm looking for. Thanks!
  11. Multiple Solver Interactions

    Hey ParticleSkull, thanks for linking to your FEM+FLIP thread, very interesting! I'm still curious why this seems like such a hard topic to find answers on. I've read a number of times people saying one of the strengths of Houdini is that it has all these different capabilities (hair, cloth, rbd, fluids, pyro etc.) in one place, rather than (a) relying on separate pieces of software, or (b) using various different plugins inside something like Maya. And yet, there seems to be precious little written about how to actually use these things together in the same sims. My priority right now is to figure out a mutually interacting cloth + bullet sim. I can't seem to find anything about that. Not even an answer as to whether it should be possible or not. What's the point in having all these different dynamic solutions under one roof if you can't make them work together? That's a genuine, and not a rhetorical (nor intentionally facetious), question. Has anyone managed to create a mutually interacting cloth and bullet sim?
  12. Multiple Solver Interactions

    I'm gradually trying to learn various of Houdini's solvers (primarily cloth, pyro, and bullet for now) and I'm slowly getting to grips with how they work individually. What I'm struggling to understand, and also struggling to find good learning resources for, are the ways to create interaction between multiple solvers. I'm interested in setups for one-way interaction (eg. pyro affected by bullet/rbd sims) but even more keen to understand two-way (or more) interactions. For example, how to have cloth and bullet (and perhaps pyro as well) all working mutually in a dynamic simulation, all affecting each other. Can someone point me in the right direction towards learning how to combine different solvers together? Are there generic ways for doing this (in other words combining cloth and bullet would involve the same understanding/setup as combining pyro and cloth), or does every solver/combination have its own idiosyncrasies when trying to combine? I found this video about combining pop and bullet solvers: https://www.sidefx.com/tutorials/combining-solvers-with-a-multi-solver/ I assume a good understanding of the multisolver is key here. But the multisolver doesn't accept the cloth solver as an input, so it seems like there must be more to it than that... Any help much appreciated!
  13. Digital Environment Library with Quixel (very WIP)

    Hey Kardonn, Awesome work! Any plans to release your HDAs for the Megascans workflow?
  14. How export cluster from the voronoi fracture?

    Actually, you can get the cluster attribute without having to dive inside the voronoi node. These are the settings you need to change: On the 'Cut' tab, set 'Connectivity Partition' to 'None' On the 'Cluster' tab, turn ON 'Cluster Pieces', and then turn ON 'Create Constraint Network' On the 'Attributes' tab, turn OFF 'Create Name Attribute' (it's important that you create the name separately, for example on an Assemble node downstream, otherwise this won't work) Also on the 'Attributes' tab, turn ON 'Keep Internal Attributes', then delete the word next to all of them except 'Primitive Piece'. I usually then write 'cluster' next to 'Primitive Piece' for clarity. Now if you look at your primitives on the geometry spreadsheet, you'll see there's an attribute (cluster, or whatever you've called it) which you can use to create constraint networks etc. See attached hip file for an example setup, with unbreakable constraint network set up between the clusters. You can do way more interesting things but this just shows you the clusters are holding together as they should. Note also the switch on the left which you can use to switch between seeing the pieces and seeing the clusters. Good luck! Voronoi_Clusters.hipnc
  15. Cloth + RBD Interaction - Is it possible?

    I'm also trying to get a basic RBD + Cloth simulation going on, and can't figure out how to get it working. Attached is a basic hip file, if someone could take a look. The RBD object is interacting with the cloth, but very strangely - it's colliding with it as if it's a hard surface, rather than deforming the cloth, and just continuously bouncing off it. If I change the order of inputs on the merge node, the ball just goes straight through the cloth without interacting. How can I get an accurate mutual interaction between cloth and RBD? Thanks! Cloth_RBD_Test.hipnc