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
    • Marketplace
  • 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 445 results

  1. 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
  2. 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
  3. 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?
  4. 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!!!!
  5. 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); } }
  6. 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?
  7. 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
  8. 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
  9. "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 !
  10. 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!
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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?
  16. 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.....
  17. 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
  18. I'm new to vex and was wondering if there is a splat operator to unpack arrays into function arguments? (like javascript's ... or rubys *) The reason I'm asking is I have a wrangle that I want to take an unknown number of points and put their position into the cspline function. In the docs we have vector cspline(float t, vector val1, ...) If it was Javascript I'd do something like cspline(t, ...array_of_parameters) to unpack my array into that list of parameters, is it possible to do something similar in vex? If it's not possible how can you get an unknown number of parameters into a function that takes an unknown number of parameters? Cheers Ben
  19. EDIT: Problem was an error in logic on my part.. Solution at end. Hello, On some frames I want to remove a point from a piece of geometry that has just one primitive. I can do this with a point wrangle and there are no problems. However as the project grew it made more sense to do this with a primitive wrangle instead. I rewrote the vex to serve primitives instead of points but now there is a problem: it seems like not all points are being considered in the frame after a point is removed. Points are created at one end of a line and move a little bit each frame towards the end of the line, then they're deleted once they've traveled the length of the line. Each point's @P attrib is set each frame with the same wrangle that might delete it if it reaches the end. When I use the prim wrangle (or a detail wrangle) instead of a point wrangle there's a noticeable stutter due to the lack of movement the frame after points are removed. The point that had just been created (which happens to be the same frame another point was removed) moves as much as it should, but the others do not. I have checked that there remains to be only one primitive. I'm at a loss.. Thanks for taking a look!! FYI I'm still pretty new to Houdini. Project file is attached and there are point and prim wrangles in the solver for comparison. SOLVED: I have another attrib @amt_cycle informing @P. When transferring to a prim wrangle instead of a point wrangle, I only removed the '@' symbol of @amt_cycle to turn the attrib into a regular variable in the code but I didn't recognize that the attribute was also being updated on that same line. To fix I just added a line for 'setpointattrib' to update the attrib. ptprimwrangles.hipnc
  20. 60% Off VexGuide Tool

    Today Only: 60% Off VexGuide Tool Discount link : https://gum.co/GFKLc/56wn7jx
  21. Hello, Can I get a little help please? I have an RBD simulation where a bridge's rope breaks. The first part is a glue contraints then it turns into soft constraints then I remove the primitives to break the soft contraints. But I have a part of the rope I don't want to break. So I put it into a group. How can I add that group into my primitive wrangle inside my sop solver as an exception. I mean I would like to break all the constraints ( primitives) except the ones in the group. Thank you.
  22. Hey guys, How can I change the path in mantra Output file from: P:/projectname/shotname/fx/work/houdini/hip to: V:/projectname/shotname/fx/geo can`t figure out how to run strreplace twice. this doesn`t work: `strreplace($HIP, P:, V:)` `strreplace($HIP, work/houdini/hip, geo)` $HIP is P:/projectname/shotname/fx/work/houdini/hip also + is to add to the path, how can i subtract from the path? Cheers Janis
  23. World Space Position?

    Hi everyone, I've got a problem that has me stumped. In my setup, I'm flying with a camera through a volume that has its density modulated via a couple of noises in the mat context. But whatever I do, I'm unable to make the noises stick to their position, it seems like the P attribute from the globals node is always in camera space. I must be missing something obvious since a lengthy internet search didn't give me any meaningful results. I've attached my file, to observe the problem just render a frame and then jump to another frame, the camera will have moved but the noise pattern is in exactly the same place. Thanks in advance Paul world_space_noise.hip
  24. Looping rain drips on windows

    Hi there, I've been following this excellent tutorial on creating streaks of rain across windows: https://www.youtube.com/watch?v=AwsYhKy1K5g It's working well and i've made a few adjustments to fit with the rest of my scene, but there are a few things I was hoping someone might be kind enough to help me with: 1. The tutorial author uses an expression to offset a resample node to create the animation of the drops falling - how would I adapt this expression so that I can create a seamless loop? 2. More simple: the drops created by this method are fully sphereical, I need them to be flat on the edge that touches the window - how do I use a vdb volume to cut the whole thing so the window facing side is flat? 3. Just trying to get the static drops to be a bit more random in size and guessing at the expression, currently @pscale = (rand(@ptnum)*(0.15)+2.2) -1.20; - i'm just trying to pick a random float between 0.1 and 1.2 I've attached my scene file, any help is very appreciated. window4.mp4 raindrops_001.hip
  25. VEX GUIDE TOOL

    In gumroad : gumroad.com/l/GFKLc Here if you want to support me and see lots of technical artistic stuff. Tool post in pateron patreon.com/posts/26416411 one of my oldest tool , always I can't remember some dops sops vex attributes and functions so I was thinking if i can collecting it in one tool with some description of each attributes and function easily and not only that I can save my own presets on there it was fun and good reminder houdini vex
×