Intro to Houdini 16 Vex - Points and Lines - Part 1

แชร์
ฝัง
  • เผยแพร่เมื่อ 23 ธ.ค. 2024

ความคิดเห็น • 108

  • @uzisho10
    @uzisho10 4 ปีที่แล้ว +2

    This is phenomenal. By far the easiest and clearest tutorial I encountered. Saw some of the comments about it being too complicated for beginners. Yes, you need some basic coding knowledge to start working with Vex but this is by far the easiest introduction I've encountered.

  • @IndiePixel3D
    @IndiePixel3D  7 ปีที่แล้ว +7

    You are very welcome! I'm working on the next round of vids, been caught up in some client work...stay tuned!😊

    • @JohnDowson100
      @JohnDowson100 4 ปีที่แล้ว

      Thanks for the tutorial Indie_Pixel ! It is great for a beginner like me :D! I have 2 questions if you don't mind.
      Why do we need to set the number of elements in a array before filling it (with the "resize" function)?
      In the for loop, why do we need to add the newly generated points into an array? (points[i] = curPointID; )
      We just created them in the correct position with the "addpoint" function 1 line above, so why do they only appear after they have become part of the array?

  • @maximostromogilsky188
    @maximostromogilsky188 6 ปีที่แล้ว

    thank you for making this! I do not have experience coding, i have watched a bunch of "intro to VEX" vids that went right over my head. And i feel like your video is the one that actually a true intro and actually makes sense to me. Thank you!

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว

      Howdy Maxim! I really appreciate that! Let me know if I can help answer any questions. thanks! :-)

  • @maxkutsenko7169
    @maxkutsenko7169 ปีที่แล้ว +1

    thanks a lot, you are a great teacher, I love how you explain things.

  • @elpamidor6601
    @elpamidor6601 5 ปีที่แล้ว +2

    i checked some c++ lessons and comeback. now i can understand little bit. thank you

    • @Gilloozz
      @Gilloozz 4 ปีที่แล้ว

      so you do recommend to understand VEX or to start the programming language journey c++ will be good start ?, and where can I find the basics of it ?, thank you.

    • @elpamidor6601
      @elpamidor6601 4 ปีที่แล้ว

      @@Gilloozz youtube

  • @edh615
    @edh615 4 ปีที่แล้ว +1

    You can further replicate the polyline node by adding:
    float lenght = ch("lenght");
    float step = lenght/pointCount;
    "i < pointCount+1"
    vector curPos = set(0,i*step,0);

  • @aeko
    @aeko 6 ปีที่แล้ว

    Great, simple tutorial! Trying to learn VEX can a daunting, but videos like this are awesome for simplifying the concepts into small chunks. Thanks!

  • @DavidB-rx3km
    @DavidB-rx3km 2 ปีที่แล้ว

    The second "for (int i = 0; i < pointCount - 1; i++)" for loop, counts from 0 to 1, and then goes back one (as "i < polyCount - 1").

  • @ribertorbet5304
    @ribertorbet5304 5 ปีที่แล้ว +1

    I'm running into some issues with this tutorial using houdini 17.5. It doesn't seem to let you reference the points[i] = curPointId; variable from the first for loop in the 2nd for loop, it gives an undeclared variable error for points[i]. I had to modify the code for that part so that instead of creating a 2nd for loop, you create another statement inside of the original for loop so that it can reference the points[i] variable. something like this:
    for(int i =0; i < pointCount; i++)
    {
    vector curPos = set(0, i, 0);
    int curPointId = addpoint(geoself(), curPos);
    points[i] = curPointId;

    if(i < pointCount)
    {
    addprim(geoself(), "polyline", points[i], points[i + 1]);
    }
    }

  • @FaddyVFX
    @FaddyVFX 3 ปีที่แล้ว +1

    👍Nice video, looks amazing. 😊

  • @christopherkettelacke8380
    @christopherkettelacke8380 6 ปีที่แล้ว +1

    Excellent VEX tutorials! Thank you.

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว

      Christopher Giese-Kettelacke , you are very welcome! Glad you dig em. I appreciate everyone's patience, while I get back to producing new vids...stay tuned

  • @peterklee3299
    @peterklee3299 2 ปีที่แล้ว

    Thank you making this video! I was looking for a Vex script that simplify Edge. I can reverse engineering your Vex code to reduce points!

  • @vitalie96
    @vitalie96 3 ปีที่แล้ว +1

    Is there a way do the opposite of polycut sot? I mean if I have a bunch of primitives that form a curve and I want to have just one primitive that forms the curve. Thanks.

    • @IndiePixel3D
      @IndiePixel3D  3 ปีที่แล้ว +1

      Use a fuse node then a poly path node

    • @vitalie96
      @vitalie96 3 ปีที่แล้ว +1

      @@IndiePixel3D thank you!!! I spent whole day to figure out how to make it possible and it turned out to be so easy!

    • @IndiePixel3D
      @IndiePixel3D  3 ปีที่แล้ว

      @@vitalie96 no prob at all...its one of those things that not super obvious right away.

  • @mdsanima
    @mdsanima 6 ปีที่แล้ว +1

    this avesome! Thank you so much for this tutorial! Now I following you and like this. Keep going.

  • @mrmountain74
    @mrmountain74 5 ปีที่แล้ว

    Why is it necessary to split the line, the addprim function does create a segmented line right? Why then do you need to split again. Or is it to create separate geometry, wouldn't there need to be duplicate verts then?

    • @IndiePixel3D
      @IndiePixel3D  5 ปีที่แล้ว

      Howdy Mr Mountain! Great question! It is a very common technique when making procedural models to take a line and split it into a prim per segment. A great example is placing the dashed line on roads. By splitting a curve into prim segments we can then carve each of those segments, then sweep it and have a dashed line! In the case of this video I was simply showing how to do various techniques through VEX...just to get everyone comfortable using the code and functions. We can also use the carve node or the convert line node to do the same operation to a line with many points. This video is just us learning VEX. Hope that helps! Thanks! :-)

  • @felixmatin9489
    @felixmatin9489 5 ปีที่แล้ว

    You are my man. Great tutorials!

  • @LaikaBossGames
    @LaikaBossGames 7 ปีที่แล้ว

    Thank you for tutorials! Trying to switch to houdini from Softimage for some time now, guys at sidefx saying that houdini is artist-friendly...But when i see tutorials like this with all that arrays,integers,functions,expressions - i realize that i'm in serious trouble =)))))

    • @IndiePixel3D
      @IndiePixel3D  7 ปีที่แล้ว

      Hehe, no worries at all. I remember when first starting out I had the same feelings. I started with using point vops instead of using VEX. Its almost exactly like ICE in softimage. I usually try to show how to do the same vex code using a point vop in each video, but do sometimes forget. Ill make sure to show the equivalent of VEX inside of a point vop node for future vids. Thanks so much for subscribing! Let me know if you have any quesitons about houdini! :-)

  • @AwakeningAnimations
    @AwakeningAnimations 4 ปีที่แล้ว +2

    This is quite complicated for a 'beginners' tutorial :/ I can already use basic vex in my workflow but this confuses me :D I hope to get there soon since im studying Python now!! By the way for the part of having a primitive between each point you can also use a carve node set it to Breakpoints and not divisions and enable 'cut at all internal U breakpoints and it does the same thing as grouping middle points and using the polycut :)

    • @IndiePixel3D
      @IndiePixel3D  4 ปีที่แล้ว

      Sorry its complicated. I do my best to show this stuff as easy I can. Yep, you can also use the convert line node to do the same as the carve node.

    • @AwakeningAnimations
      @AwakeningAnimations 4 ปีที่แล้ว

      @@IndiePixel3D Yes i know i follow alot of your stuff and its usually not hard to follow, maybe these vex ones will become easier when i have a better understanding of programming :)

  • @marwans4018
    @marwans4018 5 ปีที่แล้ว

    Im very new to houdini and i want to get into it for fx simualtion like ocean and explosions and car crashes , my main problem from where to start ? Im so lost

    • @IndiePixel3D
      @IndiePixel3D  5 ปีที่แล้ว +1

      Howdy Movies FX! Well, i always tell new comers to start with SOPs or Surface Operators. Meaning getting use to the general concept of modeling things in Houdini. The reason being is it gives you a good idea of how things work in Houdini, and starting with DOPs (Dynamics Operators) requires that you understand how data is being passed around amongst the nodes. So an easy way to get started is to do some modeling tutorials and learn how the general concept of nodes and attributes work. From there you can dive into creating FX using DOPs and VEX. There is a great series on CG Circut from David Aden on FX and VEX that I highly recommend if you want to get started from an FX mindset. Hope that helps! :-)

    • @marwans4018
      @marwans4018 5 ปีที่แล้ว +1

      @@IndiePixel3D thanks

  • @prooxy1234
    @prooxy1234 4 ปีที่แล้ว

    Indie! When are you going to make a new series on VEX utility in 18 with some of the new nodes and such?!?!?

    • @IndiePixel3D
      @IndiePixel3D  4 ปีที่แล้ว +1

      Well, was going to try this weekend, did you have anything in mind?

    • @prooxy1234
      @prooxy1234 4 ปีที่แล้ว

      @@IndiePixel3D I don't even know. I enjoyed the VEX series you had for 16 a lot. Between that and the Guard Tower on Houdini Learn those are two that come to mind that seem like they could use a LATEST VERSION!!! type thing.. lol
      The v16 VEX one is very "theory study" so maybe with a v18 one make it little more advanced? like you v16 is suggested prior and make it more "applied study"?
      Could do a revamp of something like the guard tower with auto texturing/baking tools maybe different theme.. like.. whats trending.. oh! Cyberpunk street? or something.

    • @prooxy1234
      @prooxy1234 4 ปีที่แล้ว

      @@IndiePixel3D You know there never seems to be enough decent material on the hi res/ low res baking texture process or tools that use shaders built in Houdini that's another idea for ya.

    • @IndiePixel3D
      @IndiePixel3D  4 ปีที่แล้ว +1

      @@prooxy1234 Those are all good ideas for sure. Yes the Guard Tower does need any update. Theres just been such a surge in Houdini Tuts, that I started doing more Unity things on my patreon and more Houdini Python. I have a few video series I havent put up on TH-cam yet that are only on my patreon right now. Ill work this weekend to get some of those up this weekend. :-)

  • @danielrodriguezdelaviuda5677
    @danielrodriguezdelaviuda5677 6 ปีที่แล้ว

    I'm trying to figure out exactly how for() works, but it's not an easy thing to search for. Could you point me in the right direction to study these kinds of operations? Thanks in advance.

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว +1

      Howdy Daniel! ok, no problem at all! Ill make a video about the for loop inside of VEX for ya! What exactly are you looking to do with the loops. I can take that info and cater the video around it. Let me know and Ill bust out the video! :-)

    • @ShrlyTmpl
      @ShrlyTmpl 6 ปีที่แล้ว

      Indie-Pixel Indie-Pixel That's awesome, thank you. I was able to find it, though. Just needed to know what the different parts did. Correct me if I'm wrong, but I think it's for(initial state ; condition ; new state)? I'm away from my computer atm, so I might have mixed something up.

  • @nictanghe98
    @nictanghe98 5 ปีที่แล้ว +1

    i'm notgetting the points.
    int pointCount = chi("Point_Count");
    int points[];
    resize(points, pointCount);
    for(int i = 0; i

  • @haroldw2823
    @haroldw2823 5 ปีที่แล้ว

    Hi Kenny,
    Any idea why all my points are stacked on top of each other, I have Detail checked and believe the code is the same, I'm on 17.5.382

    • @IndiePixel3D
      @IndiePixel3D  5 ปีที่แล้ว

      Howdy Harold. Well without seeing the code it sounds like the @P variable isnt being assigned. Is there a way you can show me your VEX?

    • @haroldw2823
      @haroldw2823 5 ปีที่แล้ว +1

      Found my problem I had 1 instead of i in my set function.

    • @IndiePixel3D
      @IndiePixel3D  5 ปีที่แล้ว

      @@haroldw2823 nice! thatll do it. Glad you are back up and running! :-)

  • @maxfartuhov
    @maxfartuhov 5 ปีที่แล้ว

    in Houdini 15.5.480 this piece of the code does not work.
    int pointCount = chi("Point_Count");
    int points[];
    resize(points, pointCount);
    for(int i = 0; i < pointCount; i++)
    {
    vector curPos = set(0, i, 0);
    int curPointId = addpoint(geoself(), curPos);
    points[i] = curPointId;
    }
    addprim(geoself(), "polyline", points);

  • @tomjerry84
    @tomjerry84 6 ปีที่แล้ว

    Awesome! Exactly what I need

  • @ichingls
    @ichingls 4 ปีที่แล้ว +1

    if you are totally a newbie at the programming, I don't suggest you watch this tutorial, which required some basic programming skills

  • @NodeNest
    @NodeNest 7 ปีที่แล้ว +1

    Thanks for the awesome video!

  • @BloomGlare
    @BloomGlare 5 ปีที่แล้ว +1

    PLEASE MORE VEX! I'M A DESIGNER WHO SUCKS AT MATH

  • @JustAboutOk
    @JustAboutOk 6 ปีที่แล้ว

    I'm using Houdini 17 here just following along and well my one doesn't work for some reason :3 I'm sure the code is written correctly a triple checked everything but I'm only getting 1 point even when I set my Point Count to a higher value I'm still not getting anything :3 any help would be appreciated thanks

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว

      Howdy Refraction House! Can you check to make sure your wrangle node is set to detail. Im thinking that this might be the issue, without seeing your code. Let me know. Thanks! :-)

    • @JustAboutOk
      @JustAboutOk 6 ปีที่แล้ว

      @@IndiePixel3D Hi Indi-Pixel, thank you for writing back to me so quickly, yes my wrangle node is set to Run Over: Detail (only once) :3 I can copy and past what I have written in the wrangle if you wish to see..

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว

      No prob. I just tested it out in Houdini 17 and this is the code I have that works. I cleaned it up a little too.
      int numpts = chi("numpts");
      int pts[];
      resize(pts, numpts);
      for(int i = 0; i < len(pts); i++)
      {
      vector curpos = set(0,i,0);
      int newid = addpoint(0, curpos);
      pts[i] = newid;
      }
      addprim(0, "polyline", pts);

    • @JustAboutOk
      @JustAboutOk 6 ปีที่แล้ว

      Thank you @@IndiePixel3D this worked like a charm : )

    • @JustAboutOk
      @JustAboutOk 6 ปีที่แล้ว

      Hi ​@@IndiePixel3D I was wondering what the i++ at the end of the "for" loop meant or what is it doing in this case? I understand i means any number but is usually represented as 1 in algebra, so our i is equal to 0 in this case and if our i, (I'm assuming is points) correct me if I'm wrong please, are less than the length of points then (i++) ?? which is what confuses me atm.

  • @butsikfinkel3483
    @butsikfinkel3483 6 ปีที่แล้ว

    So to be a vfx artist you have to know how to code ?

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว +1

      Howdy Butsik! So you dont necessarily need to know how to code but it does help. You can put together fx using the nodes in houdini, but knowing a little VEX does make it faster and more efficient. Hope that helps!😁

    • @butsikfinkel3483
      @butsikfinkel3483 6 ปีที่แล้ว

      @@IndiePixel3D I hear... Can I asked you What are the main softwares I would need to know to become a vfx artist? And what would be the best route to take in terms of schooling and to get jobs in the industry?

    • @Hylianhero85
      @Hylianhero85 5 ปีที่แล้ว

      @@butsikfinkel3483 I would stick with Houdini. I've been doing VFX in Maya for a while now, but when I saw the power of Houdini, and how much control I have over everything, I was stunned lol. Don't get me wrong, Maya is a great VFX tool along with its Arnold Renderer, but Houdini is just so much more advanced. I would like to add that I do find myself switching between the two every now and then. Sometimes just clicking "3d fluid container" in Maya and setting the boundaries, you can make some quick effects. If you're looking to land in the industry, go with Houdini. It's coveted and because fewer people know it, companies will want you when you've learned it even at a intermediate level.

  • @ORecTG
    @ORecTG 6 ปีที่แล้ว

    The code does not work in the 17th version of the program

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว

      I just tried it out in Houdini 17 and I got it to work. Here is my new code..:-)
      int numpts = chi("numpts");
      int pts[];
      resize(pts, numpts);
      for(int i = 0; i < len(pts); i++)
      {
      vector curpos = set(0,i,0);
      int newid = addpoint(0, curpos);
      pts[i] = newid;
      }
      addprim(0, "polyline", pts);

    • @stevensilcock
      @stevensilcock 5 ปีที่แล้ว

      Hi @@IndiePixel3D I just tried the above code in H17.0.477 (Daily Build) & I get a fatal error that crashes Houdini. Something has changed (again). Interested to see if others get it too although probably need to be using same version. I'm on 477 to test a bug/RFE I submitted for 416.

    • @stevensilcock
      @stevensilcock 5 ปีที่แล้ว +1

      Ahh, just watched your next video & saw the code you posted in it. If your using H17 use this code to make your custom_line. It works:-)
      float length = chf("length");
      int pntcount = chi("pntcount");
      vector dir = chv("dir");
      dir = normalize(dir);
      int points[];
      resize(points, pntcount);
      float stepval = length / (float)(pntcount-1);
      for(int i = 0; i < pntcount; i++)
      {
      vector pntpos = dir * (stepval * i);
      int curID = addpoint(0, pntpos);
      points[i] = curID;
      }
      addprim(0, "polyline", points);

    • @edh615
      @edh615 4 ปีที่แล้ว

      @@stevensilcock for me it works in 18.499

  • @mark9900
    @mark9900 7 ปีที่แล้ว +1

    Thank you for your tutorial. Vex is my weak bone in Houdini 16,haha

  • @massimobaita7178
    @massimobaita7178 6 ปีที่แล้ว

    Thank You very much!

  • @Bugulab
    @Bugulab 6 ปีที่แล้ว

    Thanks for tutorial! Don't know why, but the addpoint won't create any point for me in the scene. Using Houdini 16.5

    • @IndiePixel3D
      @IndiePixel3D  6 ปีที่แล้ว

      Howdy lzat! Im sorry you are having an issue. Make sure that your Wrangle node is set to "Detail(only once)" for the run over dropdown. that should ifx it for ya. Let me know. Thanks! :-)

    • @Bugulab
      @Bugulab 6 ปีที่แล้ว

      Yes, this was a reason of problem - wrangler node was on point mode, when detail mode was choosed it all worked fine. Thank you very much!

  • @elpamidor6601
    @elpamidor6601 5 ปีที่แล้ว

    İts so hard for me :D how do i learn vex?

    • @RajuMon2016
      @RajuMon2016 5 ปีที่แล้ว +1

      Learn basics of programming

    • @elpamidor6601
      @elpamidor6601 5 ปีที่แล้ว

      @@RajuMon2016 i learned so much from the joy of vex

    • @RajuMon2016
      @RajuMon2016 5 ปีที่แล้ว

      @@elpamidor6601 How?

    • @elpamidor6601
      @elpamidor6601 5 ปีที่แล้ว

      type google joy of vex

    • @RajuMon2016
      @RajuMon2016 5 ปีที่แล้ว

      @@elpamidor6601 Mix training?

  • @alexanderkarelin1287
    @alexanderkarelin1287 7 ปีที่แล้ว +2

    Hey. Thank you for tutorial! There is a easier way to break a line into primitives - node ConvertLine :-)

    • @IndiePixel3D
      @IndiePixel3D  7 ปีที่แล้ว +1

      Slick! Thank You! I don't know why I never used that node before, hehe...very Cool! Much appreciated...😊

    • @ribponce
      @ribponce 7 ปีที่แล้ว

      Yes, either ConvertLine or the Carve node, cutting internal breakpoints. But thanks a lot for the Vex material. Looking forward to the next ones.

  • @arakul9615
    @arakul9615 5 ปีที่แล้ว

    Thx

  • @Dazzer1234567
    @Dazzer1234567 5 ปีที่แล้ว +1

    This tutorial presupposes some knowledge of VEX and / or programming, so i guess not aimed at noobs!

    • @IndiePixel3D
      @IndiePixel3D  5 ปีที่แล้ว +1

      Howdy Dazzer! Sorry bout that, which parts were you having trouble with? I'll try to make some vids on basic houdini programming. Thanks!

    • @Dazzer1234567
      @Dazzer1234567 5 ปีที่แล้ว

      @@IndiePixel3D Thanks for the quick reply! I got stuck when you added "int curPointId etc etc" ....... at that point your adding an int, but saying it's equal to what? CurPos is a vector, so how can an int be equal to a vector? (yup, i know very little about programming!)

    • @IndiePixel3D
      @IndiePixel3D  5 ปีที่แล้ว +2

      @@Dazzer1234567 ah, ok...let me put together some programming fundamentals videos for ya...will take a few days, but stay tuned! Thanks so much for the feedback!:)

    • @Dazzer1234567
      @Dazzer1234567 5 ปีที่แล้ว +1

      @@IndiePixel3D Thanks dude! ........ if i might make a suggestion: Make a "part 0" for this series where you just cover a few of the things people without ANY programming experience would understand, like "for" loops and things like that. Because at quite a few points in this vid you take it for granted that we must already know this stuff, but for someone starting with VEX and programming in general, i think they'd be scared off from going any further with this series as it jumps in just a little too deep! ................ by the way, feel free to delete these comments!

    • @Gilloozz
      @Gilloozz 4 ปีที่แล้ว +1

      @@IndiePixel3D I will sub just because you respect and give time for us to learn something new and the way you teach is very good, I hope you can put some videos for basic programing and how can we understand vex according to houdini workflow, thank you so much.