Jump to content

Search the Community

Showing results for tags 'VEX'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • General
    • Lounge/General chat
    • Education
    • Jobs
  • Houdini
    • General Houdini Questions
    • Effects
    • Modeling
    • Animation & Rigging
    • Lighting & Rendering
    • Compositing
    • Games
    • Tools (HDA's etc.)
  • 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 428 results

  1. Genetic Algorithms in Houdini

    I am not sure if this is the appropriate forum. I recently wondered how hard it would be to implement genetic algorithms in SOPs. The particular example I was curious about was if I could turn a box into a sphere by optimizing for a target function that maintains volume but minimizes surface area. Overall, this was easier than I thought and did not involve all that much code. I ended up recording a video that explains this: The underlying motivation was to get this working in PDG but I figured I had to start with SOPs first. Let me know what you think.
  2. contrail deformation by spline

    Hey guys, I'm trying to deform a volume "contrail" by a spline with direct projection without the use of converting to points and back. I've tested this method on points and it seems to work, but am unable to get it working on volumes without major stepping. It relatively follows my curve, but I can't seem to figure out where the stepping is coming from - it works perfectly with points and conserves it's thickness, so I'm pretty stumped. I attached the project file and few screen grabs. Let me know if anyone has any ideas volumedeform_v03.hipnc
  3. Add prims VEX

    i'm trying to connect each point with the next one and then the centroid what am i doing wrong? seems simple enough (maybe there is a node for that) ideally i want to make also edge loops after like concetric circles connect_to_center.hip
  4. in a primitive wrangle i have a bunch of line segments as input and i want to use the xyzdist function to find the nearest point on the closest geo. So starting with one line segment each time i want to test against all of the rest segments, so not including its self. The problem is xyzdist(0,@P) means 0 and @P could be the same line. how can i make a condition to avoid that? xyzdist.hip
  5. Hello everyone. I have a long sequence where changes happen in the geometry, I have an attribute that changes to 1 whenever the geometry change happens. I would like to store which frames the attribute jumps to 1 in something like an array, does anyone know whether this is possible in VEX? and if so how? I hope I am clear enough in what I want.
  6. link two points with a curve in vex

    I have a grid or any geo and I need to join two points with a rounded curve is there a way to do this in vex ? Thanks hdni_vex_curve.hipnc
  7. Hello Everyone, I have just create tutorial of making nuclear cooling tower destruction using new features of constraint in Houdini 17.5 Check in here: https://www.cgcircuit.com/course/nuclear-cooling-tower-destruction Best Regards, NhanVo
  8. Hi For some reason, it is hard for me to understand multithreadness of VEX I mean, in most cases, the fact that my code works in parallel on each of the components messes my plans. So I usually make my code to be able to work on 'detail' and manually set all the processing loops. Everything was fine until yesterday when my wrangle was cooked for a solid eight hours.) So my questions are: Is there a way to make a point(primitive) wrangle to process elements in a specific order, or do I have to use detail_wrangle if the order is crucial? Can I somehow speed up a detail wrangle, like divide all the components in several batches or partitions to compute them in parallel? Can you suggest something to read about how to adjust both my mind and code to be parallel processing friendlier)
  9. Hi guys, I'm trying to learn a bit more about geometry creation and manipulation in vex. I've been attempting to create a simple grid with lines moving along in one direction. Once the line reach the end of the grid, it moves back to the other end. Like a treadmill. I've been able to create some stuff with addvertex and addprim in a for loop, but nothing nice and procedural. Anyone have an elegant solution to this? Thanks
  10. Enforce Prototypes @ptnum

    Hello, So doing some clean up on my vex code in a wrangle and I turned on Enforce Prototypes to remove a bunch of the hacks to get the code setup. The one thing I can not find out a cleanup for is to replace @ptnum with a non @ function. Is the only way to declare it prior to the wrangle as another attribute? That just seems messy. Even declaring before hands means you need @ptnum to source that attribute. Thanks, -Ben
  11. how get attributes name?

    Hi odforce, i have a small problem,its confused me a few days.how can i get the attributes name use vex or python(vex is better,because im not familiar with python)? for example,i have a geometry with some point attirbutes like "v" "Cd" "mass" "aaa",and prim attributes like "prima" "primb".if i want create a new string attribute and store all the attributes,how do i achieve that?
  12. Hello everyone!! I have seen these organic creations and I have fallen in love <3 How we can do somenthing like this? We need too much VEX code to achieve it? I'm sure that between all of us we can achieve it! Cheers!!!!
  13. I'm using about 1000 points in a point wrangle SOP as seeds to generate lines, totalling about 20,000,000 points... performance seems almost single threaded, which I assume is due to the creation of new geo. Is there any way I can speed it up? Here's the code in question if anything obviously jumps out: // trace lines through nested velocity volumes void stepRK4(vector pos; const int prim; const float dt; const vector V0; float dir) { vector V1 = volumesamplev(1, prim, pos + (0.5 * dt) * V0) * dir; vector V2 = volumesamplev(1, prim, pos + (0.5 * dt) * V1) * dir; vector V3 = volumesamplev(1, prim, pos + dt * V2) * dir; pos += (dt / 6) * (V0 + 2 * (V1 + V2) + V3); } void step_forward(vector pos; float dir) { float dist = length(pos); // There are volumes at 5 levels of detail, starting from the origin. This distance metric chooses which to sample from int prim = int(max(log(dist / 8. * 2) / log(4) + 1, 0)); // advection step based on the voxel size float vd = volumevoxeldiameter(1, prim); float dt = vd * 2; vector vel = volumesamplev(1, prim, pos) * dir; stepRK4(pos, prim, dt, vel, dir); } int steps = 10000; int pr1 = addprim(geoself(), "polyline", @ptnum); int pr2 = addprim(geoself(), "polyline", @ptnum); vector pos1 = @P; vector pos2 = @P; for (int i=0; i<steps; i++) { step_forward(pos1, 1); if (length(pos1) >= 1 && length(pos1) < 1000) { int newpt1 = addpoint(0, pos1); addvertex(geoself(), pr1, newpt1); } step_forward(pos2, -1); if (length(pos2) >= 1 && length(pos2) < 1000) { int newpt2 = addpoint(0, pos2); addvertex(geoself(), pr2, newpt2); } }
  14. I want to split a string after a specific number of characters. ie. split after the 5th character (position 5) string s = "0123456789"; into "012345" and "6789" I don't have any consistent separator. I have a consistent amount of characters after which I want to split. Split function won't work because by default it will set space as the separator if none is specified. My approach would be. Split the string into a characters array, and then recreate the separated strings using a for loop string s_char[] => (0, 1, 2, 3 , 4, 5, 6 , 7, 8, 9) int coord = 5; //coord to split at string s_1, s_2; for(int i; i <= coord; i++){ s_1 += s_char[i]; } for(int i; i>coord && i<max; i++){ s_2 += s_char[i]; } Any ideas on how to achieve this?
  15. Seeking Solver Writing Advice

    Hello there I am just getting into solver writing. I am self taught and as such I have a fair few holes in my knowledge I aim to build a material point method solver for use in a mud flow effect such as this: https://www.youtube.com/watch?time_continue=42&v=jjeCDYvGJS8 To get to grips with a basic solvers I have built a mass, spring cloth solver: https://vimeo.com/343112353. However there are a few things I've come across that I can't find solutions to. Every timestep I am accumulating a force vector on each point and then I find the acceleration using a=f/m. I find the velocity v=v0+a*@TimeInc. And I find the displacement using r=r0+v*@TimeInc. This works quite nicely however I can't shake the feeling that the equations are completely wrong. Everywhere I look they mention using integration in order to find the displacement but it seems like a linear equation to me. Is this wrong and if so what should I be doing? I would also like to know what the gas integrator node does internally as I find it a bit of a black box. Many thanks George Coleclough
  16. Distance fall off

    Hi I am doing the entagma tutorial where he is blending from low poly to high poly object. In their example they are using a single point from a sphere to create the blend as in the image below . I would like to use a piece of animated logo to reveal between the two. Using bit of vex I found on this site I think I am getting the distance from sphere to each point on the grid but when I visualise it as Cd. It only seems to be taking a few points into account. What I expect is black circle around the sphere. Thanks finddistanceB.hipnc
  17. "https://www.youtube.com/watch?v=t9yoUkFzInA" This is tutorial link and I made this node with that. and I heard about quaternion that it has only 4 vectors so We can use it more efficient way to rotate object. But this tutorial's node convert quaternion to matrix at last. so If I want to use this node properly and I expected, using quaternion. Which part that I should change ?? Sorry for my poor English and Help me wizards !
  18. CG Forge - Vex Foundations I

    I recently finished building my new website - cgforge.com It's a website focused on quality - offering only the best 3D tutorials in one place. Check out early access to my next course: Vex - Foundations I Thanks for watching!
  19. Hi there, I have what I'm hoping is a simple thing for someone with a little vex knowledge. I'm trying to adapt the adhesion force in the condensation shelf tool to be driven by a gradient or noise on the mesh instead of applying the same amount of adhesion force all over the mesh. I have made a custom attribute called 'friction' with a gradient and some noise, clamped the values between zero and one and exported it: Unfortunately I am not nearly clever enough to understand how to adapt the VEX in the DOP Network to take this into consideration: Right now the particles that hit the floor get pulled back up to its neck. Ideally I would like the this friction attribute to remap whatever value is entered in "strength" so that in the red sections adhesion force is whatever is entered there, scaling to zero as it approaches the black. Been struggling with this for awhile but vex is a real wall for me so would really, really appreciate it if someone could be so kind as to help me out here Thanks! H friction-adhesion01.hipnc
  20. Hello Everyone, I have just create tutorial of making tornado with VEX using quaternion to control velocity field in Houdini 17. Check in here: https://www.cgcircuit.com/tutorial/tornado-with-vex Best Regards, Nhan Vo
  21. hey ya'll, i'm trying to animate the restscale of each emitted hair strand based on age but i'm currently stuck because "@restscale" is erroring out on the vellumconstraintproperty inside the dopnet. any ideas would be great! thank you! chris anim_rest_scale_age_v001.hip
  22. Hi everybody, I have one question I'm creating procedural stairs so I have created an attribute name(Steps) and another is (NumPillar), so what I want is, in edit Parameter Interface we can set range but I want the max range should be same as steps value as you can see in image. Blue color indicates steps and red indicates pillar in image file Pillars.jpeg
  23. What's the most efficient way in vex to choose between 4 different options? Right now I am simply using rand and a series of if statements to check the resulting value. Is there a better way?
  24. is there a opinion to jump to an other node in a wranglesop? I.e.: in an if choice depending on the ouput (0/1)? if(i@test == 1) goto node.....
  25. Dear all, A simple looking question about how to pick up an @ttribute's value inside a MATRIX : 2@boo = set(1,2,3,4); printf("boo[0] : %g\n",@boo[0]); it doesn't work while it is working with vector or obviously with array. Saddly, i feel stucked, if needed to pick up one of these values, separatly. Humbly, all/any feedbacks are welcome even if i've dumbly mistaken myself (it could happen to anybody ), thank you all. cheers. alr77
×