Houdini Tutorial - Under 10 Minutes - How to move points, objects and geometry along a curve or path

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.ค. 2024
  • If you like this, visit www.parameter3.com for more Houdini tips and tricks.
    In this fast and quick tutorial, I explain how to move points along a give curve or path and then instance objects or geometry onto the points to create cool transformations. It helps solve a variety of problems you may come in contact with, all under 10 minutes inside Houdini.
  • ภาพยนตร์และแอนิเมชัน

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

  • @18bovende
    @18bovende 3 ปีที่แล้ว +14

    Thanks. If u want to do it just on the curve itself:
    Just one wrangle.. (after the Resample SOP which gives you f@curveu)
    float updated_curveu = (f@curveu+chf("o"))%1;
    @P = primuv(0, 'P', 0, updated_curveu);

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

    Never thought of using modding for looping in a specific range of values. Also the visualizer creation tip was priceless. Many thanks!

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

      Yeah man, glad it helped!

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

    Good to know, thanx gor taking the time to explain and demonstrate the process.

  • @3dforever717
    @3dforever717 4 ปีที่แล้ว

    Cool ! Thanks for this tuto ! 👍

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

    Excellent! Thank you

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

    great content! thanks!

  • @artfive
    @artfive 3 ปีที่แล้ว +2

    Great tutorials :)

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

    great tut. helps a lot! thanks dude

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

      Yeah man no problem! Glad it could help.

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

    Great tutorial, thanks.

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

    Is there a way to have the points move correctly even with uneven segment lengths? The example in this video is spaced evenly, but it doesn't work well in uneven cases

  • @stephanwalsch
    @stephanwalsch 4 ปีที่แล้ว +6

    love your channel and your format of fast, short, useful techniques. keep it up!
    I use a version of the technique you explained here. Instead of getting the parametric u by xyzdist() if the curve is evenly subdivided (like resampled) you can use ptnum/numpt-1 to get parametric u. In a setup with a bunch of intersecting curves, this is less error prone (as xyzdist could with a rounding error return another curve).
    edit: with a bunch of curves I do the above with prim vertex numbers and primpts, but same principle applies.

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

      Stephan Walsch thanks man, will do. Thanks for the alternate solution, always great to have several ways to do something. Very cool.

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

      Additionally resample sop generates curveu attribute if you specify it in parameters.

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

    excellent and thanks for sharing :)

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

    Thanks for the video, I literally just did this whole setup in vops on my own, but I put the modulo node in the wrong spot so I thought this method didn't work. then I happened upon your video then I found out my modulo was just literally one node over in the wrong spot. Good to know I at least had the right idea and was so close to getting it working

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

      nice! glad it was somewhat helpful.

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

    Very useful trick!

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

    You are legend!

  • @kir11
    @kir11 3 หลายเดือนก่อน

    Nice!

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

    Looking throught the comments, and its seems like i am the only one but i have to ask for steps before this, or file so i can see what did you do.
    searching the internet for 2 hours and i finally found thing i was looking for but need some steps before also
    for example i dont know to draw simetrical true curve/line.
    I wanted to draw a curve and add point to that curve traveling along and to pin surface to the curve to create some animation

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

    why not just use a chain?

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

    I need some help. I have a placeholder geometry for the tracks, and I wish to convert just one edgeloop to a curve.
    After that, I need to scatter points like you did. So how did you do that ? Complete beginner here.

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

      You can create curve with the technique described here th-cam.com/video/RyA7JboNTT0/w-d-xo.html
      To make points even on curve you may want to use resample sop.

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

    very useful

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

    I'd love to see this, but with an open curve. Maybe I'm doing something wrong, but I can only get this method to work with a close curve.

    • @revenski
      @revenski 8 หลายเดือนก่อน

      bump

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

    Couldnt this be done with some sop that simply offsets the points order (or is it vertex order?). Cant rememeber the name of the sop but thats what it does.

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

      Probably. I'm sure there are several ways to do this. My intention with this and any of my tutorials is just to provide "a" solution, not "the" solution. That's what's great about Houdini in general. There is a lot of power in it to do the same thing multiple ways. Some more efficient than others. But yeah hopefully you find a better way to do it, that'd be awesome, and let me know!

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

    Could the shape be saved in a dds texture format of 32 bit R11g11b10? I know it's possible somehow, just not sure how it's done. It's used in the game Farming Simulator to do just what you do, make the shape of a track, and rotate each piece correctly.

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

      But all the info is saved in a texture image only one pixel tall, and width depending on the number of joints I presume. It's typically ranging in colors of black to blue.

  • @MrDude901
    @MrDude901 หลายเดือนก่อน

    All of my points are ending up in the center and not starting over. Anyone know why?

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

    Looks Like a great tut, but I can't get my dense curve to have given normals like yours. Did you use an attribute wrangle?

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

      I had a piece of geo in the shape of the curve, and just attribute transferred the normals from the geo onto the curve. There are probably several ways to get normals how you want on your curve, that's just how I did it for this example.

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

      @@mrbennelson Oh okay, I understand. I just took a curve and resampled it to give it a ton of points.

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

      @@MarvelousMediaEngine Good, glad to hear it

  • @King-mj2bn
    @King-mj2bn 7 หลายเดือนก่อน

    Does speeding up the video fractionally to artificially deflate it to under 10 minutes really count though?

  • @L2TProtocol
    @L2TProtocol ปีที่แล้ว

    perfect

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

    hi somehow putting updated_u (float) inside the primuv vector doesnt work for me.
    So i made another variable with set(updated_u, 0, 0). It only works after i did that. I wonder why it works for you but nor for me?

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

      It could be because technically it's expecting a vector as input, but for this example it only really needs the first index of that vector. Not sure why it's not working on your end, but the fact that you got it working another way is great and what I love to see, because there is definitely more than one way to do this.

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

      @@mrbennelson awesome :) thanks for the awesome tutorial

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

      this was also the case for me, glad I found this comment

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

    great tutos plz dont sptop!

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

    I no understand, i think is one Basich Path :(

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

    that was great, although I'm not hoping vex...

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

      you could definitely do the same thing using vops if you're not into vex.

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

      @@mrbennelson Yaah, I will. Although I also have to learn vex and I'm trying to because it's fast as compared to vops. But haven't found much tutorial about that, I will be great if you make some or suggest some.

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

      @@karanmirajkar51 do you have a coding background? That helps to determine where to start.

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

      @@mrbennelson That's my problem, I don't have much coding background but I know some basics of C++ or python

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

      @@karanmirajkar51 vex is very similar to C++ syntax. So basic things that apply in C++ most likely apply in Vex. If I were you I'd check out "www.cgcircuit.com/tutorial/applied-houdini---particles-vi" that tutorial. It cost $50 but man that guy that teaches is one of the best you'll find when it comes to houdini. I haven't take this course from him, but since I know he's a great teacher I'm sure you'll learn the basics of what you'd need to get started in Vex, and then from there you can always google your way through problems. That's what I do when I am stuck. Also check out "www.sidefx.com/docs/houdini/vex/functions/index.html" < that's a link to all the vex functions that houdini has already predefined. So you can search those if you have something you are trying to solve.

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

    what's wrong with your voice (upspeed?) and in 18.5 you can do this even simpler with one node

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

      bad mic and I sped it up for ease. But I won't be doing that in the future, and I got a new mic.

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

    Lol did you speed up to make it under 10 minutes??? great work tho!

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

      Junzhe Shen haha yeah, but there’s something about 10 minutes that people will commit to. Sometimes tutorials can be just too long.

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

      @@mrbennelson True! I have really learned a lot from you! And I saw you changed the name to about 10 minutes, hah. Looking forward to more of your tutorials.

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

      @@junzheshen3343 glad to hear it!

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

    haha is that at 1.5x speed

    • @mrbennelson
      @mrbennelson  4 ปีที่แล้ว +3

      J So you’re right it is! Haha, I did that so people wouldn’t have to switch it on their own. Makes it easy to watch it fast and get to the point. I hate tutorials that are 2 hours long that could have been 30 mins.

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

      @@mrbennelson yea true that, this is a great tutorial btw

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

      @@jacksullivan8726 thanks man