Welcome to od|forum

Register now to gain access to all of our features. Once registered and logged in, you will be able to contribute to this site by submitting your own content or replying to existing content. You'll be able to customize your profile, receive reputation points as a reward for submitting content, while also communicating with other members via your own private inbox, plus much more! This message will be removed once you have signed in.

Search the Community: Showing results for tags 'foreach'.

More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General
    • Lounge/General chat
    • Education
    • Jobs
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
  • Coders Corner
    • HDK : Houdini Development Kit
    • Scripting
    • Shaders
  • Art and Challenges
    • Finished Work
    • Work in Progress
    • VFX Challenge
    • Effects Challenge Archive
  • Systems and Other Applications
    • Other 3d Packages
    • Operating Systems
    • Hardware
    • Pipeline
  • od|force
    • Feedback, Suggestions, Bugs

Found 21 results

  1. Hi guys, first topic, it's a beautifull moment. So i have a really really simple thing to do but i can't figure a way. I have like 3 objects, i want to go threw a for loop to get the bbox of these 3 objects and the generate a bbox from a cube with every of these objects. So at the end i will have 3 boxes with the size of the windows. I want to make it automatic so if i plug a new window it will be generate. Easy right? But i can't find the way to do it with the for each loop, some help? thanks So just for you to know, i loop in every windows and i take the bbox in a wrangle with this v@bbox= getbbox_size(0);
  2. I'll get right to it. I am running a foreach loop on a bunch of prims. For each prim I scatter a number of points. Still within the foreach loop, I run a point wrangle on those points. In the wrangle I run intersect on each of the points and if one hits I want to set an attribute on the prim (foreach loop peice) that the points were scattered on. In the end I don't need the scattered points, I just need the prims output with the attribute @keepage. What I cant figure out is how to set up the forloop so that this works.
  3. This has been driving me insane for the last half an hour so I thought I'd see if anyone here has any insights. I've made two near identical setups. One in a foreach subnet (working correctly) and on in a foreach block (not working correctly). I've attached a simplified setup to demonstrate the problem. I suspect it has something to do with the "merge each iteration" option. Which seems to work slightly differently on the blocks. It's like it's not feeding the results back into the next iteration correctly. Any ideas? There's no real reason that I can't use a subnet, I'm just intrigued as to why the results are so different. I'm sure it's just me doing something wrong. FOREACH_Loop_vs_Subnet_01.hiplc
  4. I have replaced the file with just a cube so you guys can still see what is going on. It's very basic. It's just a box with points at the center of each piece telling what is active and what is not active. however when I put this expression: point("/obj/Angel/AC", groupbyvals("/obj/Angel/AC", D_POINT, "name", $OBJNAME), "ACTIVE", 0) in the active value DOP that I got from another dude on a forum on here, that expression doesn't work. Can someone please tell me what I am doing wrong here? This is for a demo reel project so I am on a time crunch..that's why I'm posting this. Thanks so much!! Angel_Destruction_3.hip
  5. Hello everyone ! I have some trouble with the foreach loop, and after some search I have not found an answer... I want to connect points from two scatters and do some operation on each pair of points : connect them to a line, resample, noise and set pscale depending of point number of each loop. Here is what I have : A scatter "A" creates two points. For each of thoses points I want to scatter (with scatter "B") another point and connect them together. Here is my two issues : 1- I don't know how to scatter from a sop outside the foreach loop. 2- I connect my points using the add sop setted to "Polygons > By Pattern > Polygon 0 > 0-$N". Will it work on the second iteration ? Here is an image of my network : Thanks for helping ! scatterForEach.hipnc
  6. Hello, I am working on a project helping a friend where I have a fractured character/object (made of a cloth like material) that is basically disintegrating and blowing away using the spring SOP with help from a CMIVFX Tutorial The only issue is that I need the pieces to dissolve away to nothing as well. I figured the "foreach" node (with a transform node shrinking as time passes with $FF) would be the way to go, but I am still learning Houdini and VEX expressions, and despite any research, I have not been able to really understand how to get it to do what I want. The foreach node still kind of confuses me at the moment. How can I get each piece to shrink way over time to nothing? Thank you in advance for any help. Thanks, Dustin
  7. Hey guys, I am using a foreach block in a solver sop but the foreach causes my point orders to changes, if I bypass the the foreach my point order stays intact as the points accumulate. In the foreach I am using a static point attribute that exists on the points before they enter the solver, and in the solver I want to use the attribute to apply different transforms to the points based on geometry with a matching attribute. Everything about the setup works apart from the point orders changing as the point increase messing up my system later down the line. I attached a simple example to illustrate the problem. Any ideas for what I am doing wrong or could do differently? Thanks, Zybrand foreach_point_order.hip
  8. Hey everyone! totally beginner question. I'd like to use an attribute to extrude geometry after fracturing. In the attached example I'm painting my point density, fracturing a plane and then run through pieces with the extrudeLevel attribute but the extrusion never seem to work. Any tips very appreciated! basicSetup_1.hip
  9. Hi, I'm trying to make an object explosion and I prefractured the object using the voronoi fracture node. Then I use the foreach to calculate the volume of every object and delete it if smaller then n. All works well, but if I enable the option "Add Interior Detail" when the geo passes through the foreach the point number and the prim number change (not the number of points) and I use it to delete the object ... Any idea why this is happening? Thanks in advance! Marco voronoi_fracturing_and_foreach.hipnc
  10. EDIT The problem comes from the clusterpoint node which seems to add a duplicated piece name with no path: I am trying to do a bullet cluster sim. i am having a problem when doing the glue network. For some reason the connectadjacentpiece node doesn't want to compute on one of the cluster created. Whatever the number of cluster, there is always one cluster that will not be computed by the node. It seems that the problem isn't the foreach as when i try to select the problematic group and apply the connadjpiece outside the foreach, i still get no connection computed for that particular cluster in this particular example bullet_cluster.hipnc i added a partition to debug and see which cluster doesn't compute. You can change the cluster group and see that it works for all other cluster thank you for helping.
  11. Hi! So we can't have nested foreach() loops? This: int thoseNumbers[] = array(0, 1, 2); int otherNumbers[] = array(3, 4, 5); foreach(int this; thoseNumbers) { foreach(int other; otherNumbers) { } } throws this: warning.WTF? Happy rainy day!
  12. Hi Folks! My new tut is uploaded. Hope it will help! Please share with me if you have some better suggestion on this technique. THANKS in advance! CHEERS! Link:
  13. Could anyone please give me some advice on how to program a simple box filter in COPs using python or VEX? Basically calculating the average of every pixel and its immediate surrounding pixels over and over again? I created one in a VOPCOP2filter, but due to the lack of a foreach-node in COPs I cant repeat it multiple times without copying nodes over and over again (see attachment). boxblur.hipnc
  14. Hello, I'm trying to create setup, where multiple objects are cut by multiple lines. I got inspired by this great thesis. So I guess it should contain two foreach sops: one for each geometry (based on piece attribute from connectivity sop) and the other for each curve (based on line attribute from connectivity sop). But I cannot get it working. Would you be kind to look into attached file and suggest a solution? Thanks geo_cutter.hipnc
  15. Hi, guys. So there is a problem when i created a point solver SOP in foreach. I have three moving point which i want generate their trail each, so i merge their last frame in solver SOP. After above steps, the point haven't get a nice trail, it looks like only one point works, the rest of them just disappeared. I will be appreciated if someone can help me out. Thanks. point_solver_in_foreach2.hip
  16. Hi. Im trying to do a fracture and make some glue constraint but the problem im havin is that the glue adjunct pieces doesnt work inside my foreach. Please help! Thnx see attachment! ForEachConnectAdjunctPieces.hip
  17. Hello All I have a question regarding control of individual pieces of voronoi geometry using some sort of velocity expression.(I am a noob when it comes to expressions so go easy on me) I think this can be implemented using a ForEach within the AutoDOP What I'm trying to achieve is basically this- Once my voronoi pieces leave the main body of geometry I need to scale down the piece to nothing or make it vanish at a set point in the scene. I'm trying to give the pieces the illusion that they are disintegrating. I plan to attach a small emitter to each piece to add to the look. I'm currently using a glue network that is controlled by Cd attribute using a distance threshold on a sphere to delete the glue network when I need to release the pieces from the main body of geometry... anyway rather than babble on I have attached the file to this message so the script can be looked at. The file poc_RESIZE_v2r5(elongated).hipnc is the script where i generated the sky_for_sim.bgeo and the poc_v9r3_elongated(finished_poc_sky).hipnc is the main file where the sim is implemented. Any help with this would be fantastic as my back is well and truly against the wall Cheers C C poc_v9r3_elongated(finished_poc_sky).hipnc poc_RESIZE_v2r5(elongated).hipnc
  18. I've got a foreachSOP but I'm not sure how to get the carveSOP to read each primitive number and carve them one by one. SequentialCarve_v01.hip
  19. Hi guys, I’m new to this forum and to houdini I am working on a setup to fracture a tower consisting of a couple of pillars and platforms. My setup of the pillars basically looks like this: -geo -file -copy -foreach - subnetwork - fracture setup - subnetwork - glue setup -dopimport The goal is to have as many pillars to fracture as I want (on top of each other to form a tower), but the problem is, that if there are more than 1 pillar, the dynamics behave very strange (if one pillar is hit by something all of them react etc...). I think the problem is that the voronoi fracture creates a name attribute for each piece which is used by the dop network, but if there are 2 copies, I have 2 pieces with the same name. Maybe there is a way to name the pieces accordingly to their pillar (like: pillar1_piece01). I've tried using a connectivity node (before the foreach node) to create a attribute "copynumber" but I don't know how I can access it in the voronoi fracture node where the names are set. But this is just my assumption, maybe there is a whole other problem with this setup, but I hope that my problem is understandable and that somebody can help me out
  20. Hello, I'm trying to find a way to write out certain values from inside a foreach iteration to somewhere else, so that I can refer to it in subsequent iterations. On showing off my newly acquired Houdini knowledge to a friend I was tasked with procedurally generating something much like a pine cone. -I have bitten off more than I can chew. I've found it very tricky to procedurally generate this object. -The idea is that the 'scales' of the cone start off large at the bottom of the cone, and as it moves up they get smaller and smaller. For simplicity right now I've just gone with putting scales over the surface of a cone like shape. I'm using a FOREACH node to do all the work. -I have a curve that represents the height of the cone. -Inside the FOREACH node I use a 'carve' sop to cut the line at a certain point for each iteration and put in a circle of scales. Initially I was using a maths function that didn't need any knowledge of what the previous iteration had done, but I'm not getting enough control over the distribution. (Bottom scales too big, top scales too small) What I'd really like to do is write out the distance travelled up the line in each iteration to somewhere, so that it can be referred to by the next iteration. For example, the bottom scales are 10% of the total height and I want them to shrink by 1% each time. -> 10% - 9% - 8% - 7% - 6%: My maths isn't good enough to just know how high up the line the next iteration needs to be placed. Ideally I can keep a running total of what;s been done that the sops inside the foreach node can refer to. I'd appreciate any help on this. 'regards Sim.
  21. Hello, I am still new to Houdini and got the following Problem to solve: I got a fractured Object and want to use a Box to Group a specific area of the fractured Object. BUT I want to select only whole Pieces. In other words: If one or more Primitives with the Attribute NAME are in Box, assign ALL Primitives with same Value of Attribute NAME to Group "X". Example 1: If Prim A (with Atb. NAME = "Piece5") is in Box, assign ALL Prim with Atb. NAME == "Piece5" to Group "X". Example 2: If Prim B (With Atb. NAME = "Piece2") and Prim C (Atb. NAME = "Piece9") are in Box, assign ALL Prim with Atb. NAME == "Piece2" OR NAME == "Piece9" to Group "X". So in the end it should work for n Primitives in Box. How can I achieve this? Thanks in advance Lukas