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

  1. Hi, I have several meshes and a point and I would like to find primitives/points, the normals of which are directed to that point. To make it so I want to get vectors (and store them as an attribute) from that point to each of the points of these meshes and then compare them to its normals. But the first part doesn't work as I expected, what am I doing wrong? Or should it be done in a different way? facing_to_q.hipnc
  2. Hi, At this point I need a new pair of eyes on this one and maybe a new brain. I have a simple test scene with a rbd ball smashing a wall, the wall is holding together with ConeTwist constraint. I then use the good old sop solver to 'removeprim' the constraints when the angle is larger than X. I can see the Angle attribute in the spreadsheet and all, but for whatever reason (I know it's a very simple one), the constraint bend but don't break! If someone as a few minutes to spare and take a look it would be much appreciated. Sorry if I sound sarcastic but I'm getting frustrated by my own stupidity! coneTwist_test.hipnc
  3. Orient / Lookat for Bullet Objects?

    Hi, I'm hoping someone can help me as I've spent too long on trying to work this out by myself now. I'm doing a simulation with balloons and want to have them start in randomised orientation and then slowly resolve their orientation to have the wider bit at the top. This seems to be possible with POP spin for particles, but I can't work out how to do it with bullet. So far, I've tried altering the orientation manually in a wrangle in dops and trying to find a way of getting a vector into dops, such as with normals, to then be able to compare to an up vector and add in angular velocity until they match. Altering the orient attribute in DOPs seemed to do nothing if you target it directly, so perhaps it needs to be worked on the intrinsics?? Nothing I tried seemed to work, so I'd love to know if there's a way of achieving this, so would be grateful for any help. Many thanks! Toby
  4. Hi, Could somebody please explain, on http://www.tokeru.com/cgwiki/index.php?title=HoudiniVex I can't understand the reason behind "It's worth pointing out that if you're defining the groups yourself, you're better off using an attribute to identify the pieces, and use that to do your random whatevers." I mean, I don't understand are there any advantages in deleting(for example) some points/primitives by using additional attribute over deleting them by @ptnum/@primnum. Thanks in advance.
  5. Hi, Can I use the name of the current wrangle(node) inside the very same(or any other) wrangle? I have more than one instance of the same wrangle in my network and I would like them to make different groups based on their names (or any other node's name). Is it possible?
  6. Hey guys, I'm trying to learn VEX a bit more and for an experiment I wanted to do I want to get the bounding box size of the first input in my wrangle node. But I just get an error and don't understand what I've done wrong - any and all help in appreciated! vector getpointbbox_size(0, @ptnum); Thanks, Jack
  7. Hi everyone ! I'm learning VEX (from CGwiki and Entagma) and I don't understand why the result of the following code is 0 whereas it should be 3... what did I misunderstand ? int myarray[] = {2, 3, 4, 5}; int foo = myarray[1]; printf("%i \n",i@foo); Thanks ! Alexandre
  8. Hi all So I have a question about the new versions of the For-Each node, particularly the Numbers one, I have been following a tutorial from Anastasia Opera, and during the tutorial she uses a For-Each subnetwork node now I understand what this node is doing collecting the data from the box_id, Anastasia also gave the node a stamp name which will be used a bit later on for a blast node to specifically target some points following the local path hence why the stamp name was given to the For-Each Subnetwork node in order to lead a path towards a node that contains specific points with a number that is less than 3 which I understand is the point number and can also see it infant of me.... but now here is where I get confused in the new version of Houdini 17 the Subnetwork node has been disabled and be re-enabled but instead I would like to understand what on earth is up with the new For-Each Numbers node, it has some weird dodgy layout that just throughs me right off!! I would not mind trying to re-create the tutorial using this new node but its proving to be a challenge as I have no idea where to place the nodes that help in set things up for procedural modelling which I have tried to place things in myself but ended up with nothing but more errors. if someone could please help that would really awesome and I would really appreciate it. Kindly Ahmet .B
  9. Stark Houdini Palm Tree FX

    Link to Course In this 3 hour course I show you how to setup a system for dynamic and unique palm trees. No two are alike. I start from the very first leaf and go all the way through to rendering with Redshift in the most efficient way possible. At the end you will understand how to make your own trees and take these concepts and apply them to other setups that will bring your skills to the next level! Includes 13 Chapters and the final Houdini file. Also the assets to follow along. Full HD
  10. Hi! I'm struggling to understand how arrays work Could somebody please explain why am I seeing different results in geometry spreadsheet and in console made by 'printf' function? I mean, why does every primitive in spreadsheet contain the same set of points in its arrays? I'm puzzled. One more question: How can I compare contents of different arrays? primitives_array_q.hipnc
  11. correct me if i shouldn't be doing things this way, but basically in a wrangle sop rather than creating a bunch of separate control channels, i want to make one matrix3 and then access the individual components. here's a couple ways i've tried: matrix3 testMatrix = ch3("testMatrix"); f@testValA = testMatrix[0][0]; f@testValB = getcomp(testMatrix, 0, 0); f@testValC = testMatrix[0:0]; i apologize if this is beyond n00b, but i've tried over an hour to figure this out and got no where. thanks!
  12. I have a constraint network built with a connectadjacentpieces sop from multiple geometries. Each geometry part has a name with its own naming scheme(Apieces_000, Bpieces_000, etc.). every primitive in the constraint network has two points each with a name attribute that matches a packed prim with the same name. some of the primitives have points with names from the same geo. These have similar names. pt0 name=Apieces_000 pt1 name=Apieces_001 some of the primitives have points with names from the different geo And have name attributes with different naming schemes. I want to remove the primitives from the constraint network whose points have name attributes from the same scheme by comparing the first character in the name and removing the prim if they are the same. here's what i have but it'n not working correctly and i don't quite understand the code i've written. string name0; string name1; i[]@primPts = primpoints(0,@primnum); foreach(int i; @primPts){ name0 = point(0,"name",i-1); name1 = point(0,"name",i); if( name0[0] == name1[0] ){ removeprim(0,@ptnum,1); } } allow me to try and explain. primpoints stores both points from each prim in the primPts array. then it loops through the points and assigns the name attribute of each point to a variable. so far so good i think. then it compares the first letter of each sting var and if they are the same i want to remove the prim to which the points belong. however this does not happen. If someone could point out where I've gone wrong or show me a better way to do this. I would be grateful. Thanks
  13. selecting multiple points vex

    Suppose I have a line with around 10 points. I can delete a point with removepoint. if (@ptnum == 5) removepoint(geoself(),@ptnum); What if I wanted to delete two or more points? It seems I could just add "or", right? if (@ptnum == 5 || 2) removepoint(geoself(),@ptnum); However, this does not work. What would be the correct way of writing that? Thanks in advance or.hip
  14. How can I access the ptnum of the points coming in though the second input of of a wrangle? I tried to do it with a point expression but i don't know what to put for the atttibute_name. s@name = point(1,"ptnum", @ptnum); I want to concat the second input's point ptnum with the first input's name attribute after a copy to points sop. the copy and transform sop creates a copynum attribute which works to rename copies. but copytopoints doesn't How can i do this? thanks
  15. Copy object to

    Hi, I have a problem with this, my knowledge of VEX is not yet really good so I'm asking for your help! Basically, I want to copy the roof of the object merge to my attribute s@type "ceilling" to the s@variation, either "groundfloor", or "firstfloor", or "secondfloor", depending on wich is at the top. I hope I'm clear enough. Thank you in advance.
  16. Hi, I compute the velocity on an animated point and I copy a geometry on it which inherits the velocity but of course is not correct as every point now has the exact same vector. How can I realign the existing velocity in the geometry using vex without having to recompute it? I have attached an example hip. orientvelocity.hipnc
  17. hello! Does anyone know the vex equivalent of a complement sop? I know you can do 1 minus a normalized value but I can't seem to find the name of the vex function that handles this. Chris
  18. Hey everyone! I've been digging through the forum but quite haven't found something that will help me get this effect i'm trying to achieve. i'm trying to work on an setup where I have particles stuck on a deforming grid and the particles become unstuck as they inherit velocity in Y(sop solver) and then with gravity they come back down. my current setup might be too complicated because it's proving very difficult to control. i am using a popnet where particles stick to the collider geo and become unstuck with a sopsolver "if (@Cd.r > .1){ @stuck = 0; }" does anyone have ideas on how to simplify the setup? is this something that the grain solver would be better at handling? thanks everyone! waveRipple_v003.hip
  19. Hi; In VEX, I want to select boundary edge loops, based on a points group. Here is my point wrangle codes: int Array[]; if(inpointgroup(0,"PointsGroup",@ptnum)==1) { append(Array,@ptnum); foreach(int ix; Array) { int ShEdges = pointhedge(0,ix); if (hedge_isprimary(0,ShEdges)==1) { setedgegroup(0,"SelEdgesGroup",hedge_srcpoint(0,ShEdges), hedge_dstpoint(0,ShEdges),1); } } } The problem is, it selects only some edges like image bellow. Any ideas would be appreciated. Thanks BoundryEdges_01.hip
  20. Houdini Terrain Pipeline Vol 2

    Hey All! The first part of this tutorial has been available for almost a year now, but because of the sad news that hit CMI, I was unable to upload the 2nd "half" there. So instead I just made it available on Youtube for everyone, to make up for that I suppose. I'm considering putting the first part on there as well, if enough people want that. In this tutorial covers the following, using Houdini * Generating water meshes * Updating the terrain based on the water * Generate walking paths on the terrain * Create some basic instances * Build a flexible system using external files to place these instances. Built on Houdini 16.5, but should work on 16 too, or all the way back to H14 if you skip the heightfield part. Recommended specs: at least 16GB of RAM, reduce the terrain size if you have less. Disclaimer: Work files are as is, and do not contain the cached geometry to save on space, this may explain node errors on the various "File Cache" nodes. It does however also contain the work done in the first half of the tutorial, albeit mostly undocumented: https://tinyurl.com/y89egjvq Hopefully its of some use! Twan
  21. Hi, I making a small VEX code library and I was wondering if there are any good techniques to reduce the amount of code duplication. For example I have a function that works with or without inputs and with different variables. For simplified example: vector pointPos(const int pointid){ return point(0,"P",pointid); } vector pointPos(const int input; const int pointid){ return point(input,"P",pointid); } Could this be reduced to something like: vector pointPos(const int input = 0; const int pointid){ return point(input,"P",pointid); } Is there anything like auto type recognition, or decorators, or anything else (aside from structs) that has improved your vex code?
  22. Procedural Modelers at Zoox

    Zoox is expanding our Tech Art team and is looking for Houdini artists to help build out large procedural cities. Here's a link to the job description https://jobs.lever.co/zoox/67ccf836-fa7c-4d8c-9ff9-6eeb14c251b8 and here's an article talking a little bit about our company https://www.wired.com/story/zoox-self-driving-car-video-san-francisco/ Cheers, Doug
  23. Hello everyone, I am trying to recreate a volume trail node within an attribute wrangle (couple steps before, but the advection of the points is all within the wrangle) When I create new points in said attribute wrangle, I can't have access to their position within the for loop they were created. I am attaching the hip file. The attribute wrangle is highlighted in red. volume_trails_VEX.hip
  24. Hello! I defined a custom vex function in Attribute Wrangle node, and i can call it only from this node, when i call it from different Attribute Wrangle node i get Undefined Function error. Is there a way to declare a function in one node and to call it from the other node? The only way i found is to use external files with the #include filename.
  25. Lately I have been trying to wrap my head around transforming point positions with the use of matrices in VOPs. To do that, I tried the following: Lets assume I have 3 points with their position vectors A, B and C which come from an alembic and are constantly changing values. I use a time shift and set it to $F + 1, and extract the same points position vectors, which are now called D, E, F. Then I set A,B and C into a 3x3 matrix, transposing it (to get the vectors in columns instead of rows) and do the same with D, E, F. After all this, I multiplied the inverse of the matrix containing ABC with the one containing DEF (this was not inverted). The resulting matrix was multiplied with new Position inputs, but the resulting transformations didn't match the original ones... What am I doing wrong? Thank you.
×