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 'vex'.

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 202 results

  1. Hello everyone. Got a question about vex rotation for VDB objects. I've got a FLIP setup in which there is a model of a ship moving forward and rotating slightly. I created rotation control using VEX code. Very simple version of it looks like this: //Rotate object along X axis; this is just for an example matrix3 m = ident(); float angle_x = radians(ch('Angle')); rotate (m, angle_x, {1, 0, 0} ); @P *= m; This works for regular objects just fine. However, I want to use VDB version of the ship for collisions. When I apply this code to VDB object it doesn't work. I need VDB object to move and rotate as the original model exactly. So the question is - How can I transform this code or write a new one to rotate VDB object exactly as regular model?
  2. EDIT : This may be something different. When parent bones have non matching scales to the current edited bone, this issue arises. Going to poke around, issue remains tho, on uniform scaled bones too. I'm not sure if this should be in the scripting forum or not... But I'm running into some issues with non-uniform scaled bone's becoming uniformly scaled when using the agent edit node. I'm specifically trying to edit the bones through vex at this point now. It seems to change a non uniform scale to a uniform scale after using the maketransform vex function. I'm noticing this issue when polar decomposition and transposing of 4x4 matricies being scaled by one of the scale's values when only modifying a position or rotation of the matrix. As tho, instead of scaling by {1.2, .8, 1.3} it scales by {1.2, 1.2, 1.2} or maybe its just the vector's length of the found eigenvalues. Like when using the agent edit node, it will change any edited bone's non-uniform scale to a uniform scale. Has anyone found a simple way to get around this, other than manually editing the matrix position W row and using dihedral math to rotate the bones?
  3. Hi, In my scene i used cross product in vex for rotation. But i want to know how can i control rotation or give more randomization in rotation. And while rotation points also progressing in all axis,so how can i control or restrict points from moving in negative y-axis. And i want to restrict points inside the points scattering box, if its possible then plz share the idea. Plz help me to resolve it and found attachments below .mov and hip file. Thank you. vex_test_v001.hip vex_test_v01.mov
  4. Not sure if this should go in the Shaders sub forum. Obviously a huge topic but greatly inspired by the work of people like @FlexMonkey on twitter "Simple Plasma" (https://www.shadertoy.com/view/XsVSzW ) expressed in 3D as a lattice of cylinders using pic.twitter.com/9dW9va2qy0 Anyone aware of any tutorials that cover the basics of converting GLSL code to VEX for use inside a Volume Wrangle?
  5. Hi, I am looking for measuring volume by VEX and/or attributeVOP, instead of measureSOP node. Basically I have mega voronoi fracture model. After that, I want to apply for volume calculation with loop node and compile node. Key is that I cannot use hscript expression in measure>center with compile node. That's why I am looking for another method.
  6. This operator allows you to run an OpenCL kernel as part of your SOP network. Depending on the GPU, some operators can be orders of magnitude faster than even VEX. In this case the OpenCL code is 144 times faster than VEX on GTX 970.
  7. Can anyone tell me why the following throws an error on the numbers 5.41 and 0? if (@Frame > 24) { forcescale = {5.41}; } else { forcescale = {0}; }
  8. raytrace

    Hello everybody, i'm finishing coding a small raytracer that run in sop using vex. one of those thing I always wanted to try to do myself. it store everything on points so no rasterization plane as the idea was to have all the rendering data accessible for later use as you would with any other attributes. it is some sort of an hybrid in the sense that it is correct enough to try to make things look good. it feature many BRDF shading models, photon mapping global illumination ( mathematically done the simple way but it work) and full recursive ray's tree splitting for reflections and refractions. Here a few videos showing some of the feature and a big part of them are already available for download as an OTL for the non commercial edition for everybody interested with the hope it can be helpful to anybody that never coded those things before like me, as I learned a lot during the way. here the videos: This one have been updated recently with lots of new clips showing improvements there and there And this one got th GI part of it with a little demo at the end. download link in the description area: Hope you enjoy, best alessandro
  9. Hi friends! I just released an article on Medium walking through how I built a "Compute Dual" wrangle in VEX. As a quick summary, I basically wanted to know how the "Compute Dual" feature of the divide sop worked, so i slapped together a neat lil wrangle, to do just that! CLICK ME TO GO TO THE ARTICLE!!!!!!!! Here's a cute little gif showing off the construction of a dual graph. If you like it, please check out the article, it's free and it'd mean the whole world to me! =) Love you fools, Jake http://jakericedesigns.com/
  10. Hello, one question please: What expression can I write to use the @ptnum attribute to drive the @P.y attribute using VEX or Python expressions. What if I want to drive @P.y with @P.x ?? thanks in advance.......
  11. 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);
  12. Hi everyone, I'm trying to do a school of fish with a particle system that would follow a curve. Basically I'm emitting some particles and they move along a curve with a popcurveforce. By default the particles orientation seem to go along with the curve but since I'm trying to do a school of fish, I would like my particles Z orientation to always be 0 so the fishes don't swim on the back. So far I've tried with this expression in a popwrangle : p@orient.z = 0; The thing is it seems to zero out the orientation of x and y as well.. And I still want the x and y to go along with the curve. I'v tried with a popattract instead of a popcurveforce and I'm still not able to constraint the Z orient.. Maybe it has to do with something else than the @orient attribute since I don't see it in my geometry spreadsheet..? There's something I don't get! (Needless to say that I'm new in Houdini :P) Thanks a lot! test_fish_school.hiplc
  13. Studying VEX i create penrose tile setup, maybe it will be interesting for someone who is beggining scripting in vex. HIP https://www.dropbox.com/s/m6ysgiljl7m0k40/penrose_tile.hip?dl=0
  14. Hello there! For a current project I'm needing to read files from disk and apply operations per line. I know python offers a way to read files. But since vex can be multi-threaded I wanted to see if there is a way to do it. Looking through some forums I found functions from houdini 14 that allowed for reading files, but these don't seem to be working anymore. Thank you for a reply, Jonne
  15. 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.
  16. Hello there... I was working on something and noticed that , some group options changed in Houdini 16. In houdini 15 i was grouping by clor with $CR<0.1 for picking red color but in Houdini 16 couldnt find a way for making that. And second of all how i can group like that usin VEX , any help??? Thank you!
  17. Studying VEX i create penrose tile setup, maybe it will be interesting for someone who is beggining scripting in vex. HIP https://www.dropbox.com/s/m6ysgiljl7m0k40/penrose_tile.hip?dl=0 https://www.behance.net/erikbaymukcf7d
  18. Hello everyone, This is a simple introduction to using Vex.
  19. Hi guys I struggle with this simple thing: I have a grid piped into an attribute wrangle running over primitives. In the wrangle I have a single var, delete. I use a for loop to iterate over all primitives and set delete to 1 at random. In a second for loop I delete the prim, if delete is 1. At least that's the plan. It doesn't work, because I can't read out the delete value in the if statement. Even if I just reassign delete to another var, I just get zeros. Would be great if someone could help me out here.
  20. So I was writing some vex code for a scene Im working on, and while I was debugging the code to correct an issue I placed various printf() functions in the code to check the state of the attributes right after I made some changes to them, and I noticed that if I load an attribute in a variable and print it, modify the attribute, reload it in the same variable and then print the variable out again, it wont show the newer value if the loading&printing process is done in the same wrangle node of where the attribute was modified. Here's an example scene wich exactly recreates my scenario. Am I missing something stupid here? Test_attribute.hipnc
  21. Hi My understanding is that VEX runs entirely on the CPU. But with the right hardware (ie latest Pascal based GPU) the same functionality in OpenCl could be magnitudes faster. Is anyone aware of any OTL or other project which have converted VEX code to OpenCL?
  22. Hey everyone, I recently set up a website and a stream for Houdini people or everyone else who is interested in Houdini. I am going to start streaming Houdini every day, starting today. After each stream I will upload results and depending on time a timelapse, a tutorial, a .hip(nc) file or documentation of sorts for everybody to view and examine. Where can you find all this? Website: http://shadesoforange.de/ Stream: https://www.twitch.tv/shadesoforange Who am I? I am studying Animation & Game in Darmstadt, Germany and am 23 years old. I recently finished my internship at RISE FX and am crazy about all Houdini, procedural and CG stuff. More about me here. My first stream is going to start at 15:00 CET. So if you want to hang out and have a chat, come by and say hello! See you!
  23. Hi all. I made something a few weeks ago that I thought might be useful, so I somewhat tutorialised it here: http://www.pixelninja.design/manhattan-voronoi-approximation/ Basically it's a method of achieving something close to a Manhattan-distance voronoi diagram. I hope someone out there finds this useful If anyone knows of a better method, or a method of achieving an actual Manhattan voronoi I'd love to hear it! ManhattanApproximation_01.hiplc
  24. Is it possible to create an arbitrarily-named transformation vector attribute through VEX? Let's say I do this in a point wrangle: v@test = {0.5, 1, -0.2}; From what I understand the resulting attribute is what's called an arbitrary vector (indexed by 0, 1, 2). How can I have this created as a transformation vector (indexed by x, y, z)? It seems all of the automatically-cast attributes are created as transformation vectors (@P, @accel, @center, @dPdx, @dPdy, @dPdz, @Cd, @N, @scale, @force, @rest, @torque, @up, @uv, @v), but I need to name the attribute something else. Interestingly, if I create the same attribute with an Attribute Create SOP, with type set to vector, the resulting attribute is a transformation vector (x, y, z). However, I cannot seem to create an arbitrary vector through Attribute Create. What I'm currently doing is first creating the attribute with an Attribute Create SOP, and then modifying it with the point wrangle. But there must be a way to do it without the wrangle? This seems like such a common question, but I've searched all over and looked through many of the vex functions that I thought may be relevant and I can't seem to find anything. Maybe I'm just using the wrong terms.