[VEX for Algorithmic Design] E07 _ Loop

Ғылым және технология

This is a new series I've started explaining the basics of VEX for algorithmic design / procedural modeling which I'm using on daily basis.
In this 7th episode, I'm explaining what and how to use a loop in VEX, which is going to be one of the important concepts to getting into the fun part of using code for the geometrical operation.
I've also started a Patreon, it would be great if I could get your support to continue creating tutorial contents.
00:00:00 Intro / What is a loop?
00:01:42 For loop basics
00:13:56 For loop for attributes
00:21:23 For loop exercise
00:35:09 While loop
00:44:23 Do while loop
00:48:33 While loop exercise
00:59:22 For each loop
01:07:25 For loop for array
01:12:44 For each loop exercise
01:27:40 Nested loop
01:36:30 Nested loop exercise
01:46:49 Next topic - Condition
[Project Data Downloads]
github.com/jhorikawa/VEXForAl...
[Patreon page]
/ junichirohorikawa
[Episodes]
Episode 1 - Attribute Basics: • [VEX for Algorithmic D...
Episode 2 - Group Basics: • [VEX for Algorithmic D...
Episode 3 - Parameter Basics: • [VEX for Algorithmic D...
Episode 4 - Variables and Operations: • [VEX for Algorithmic D...
Episode 5 - Array: • [VEX for Algorithmic D...
Episode 6 - Strings: • [VEX for Algorithmic D...
Episode 7 - Loop: • [VEX for Algorithmic D...
Episode 8 - Conditional: • [VEX for Algorithmic D...
Episode 9 - Function: • [VEX for Algorithmic D...
Episode 10 - Volume Basics: • [VEX for Algorithmic D...
Episode 11 - Dictionary Basics: • [VEX for Algorithmic D...
Episode 12 - Vector Basics: • [VEX for Algorithmic D...
Episode 13 - Trigonometry Basics: • [VEX for Algorithmic D...
Episode 14 - Quaternion Basics: • [VEX for Algorithmic D...
Episode 15 - Matrix Basics 1: • [VEX for Algorithmic D...
Episode 16 - Geometry Functions: • [VEX for Algorithmic D...
Episode 17 - Intrinsic Attribute: • [VEX for Algorithmic D...
Episode 18 - Randomness Basics: • [VEX for Algorithmic D...
Episode 19 - Noise Basics: • [VEX for Algorithmic D...
Episode 20 - Solver Basics: • [VEX for Algorithmic D...
Episode 21 - Half-Edge Basics: • [VEX for Algorithmic D...
Episode 22 - Remapping Basics: • [VEX for Algorithmic D...
Episode 23 - SDF Basics: • [VEX for Algorithmic D...
Episode 24 - Force Basics: • [VEX for Algorithmic D...
Episode 25 - Force Extended: • [VEX for Algorithmic D...
Episode 26 - Recursion Basics: • [VEX for Algorithmic D...
[Houdini Related Playlists]
VEX for Algorithmic Design: • VEX for Algorithmic De...
Houdini Tutorial: • Houdini Tutorials
Houdini Algorithmic Live: • Houdini Algorithmic Live
Houdini Snippets: • Houdini Snippets
Houdini Tips: • Playlist
[Portal Page]
Facebook Page: / parametricproceduralho...
[Books]
Algorithmic Design Workbook with Houdini: gum.co/GOZFw
Tiling Pattern with Houdini: gumroad.com/l/OVDgY
Algorithmic Design with Houdini: www.bnn.co.jp/books/9788/
Books on BOOTH: orangejellies.booth.pm/
[Contact]
Twitter: / jhorikawa_err

Пікірлер: 44

  • @filmanim5276
    @filmanim52763 жыл бұрын

    Thank you so much for your time and effort in putting this series together! Your VEX series is perfect.

  • @DrVFX
    @DrVFX3 жыл бұрын

    This is the best VEX series I have ever watched! Great job

  • @arsensuleymanov7935
    @arsensuleymanov79353 жыл бұрын

    Very useful. Especially when you talk about difference between usage of loops. That's what lacks usually in other resources, they tell you how it works and miss "when to use". Thank you again.

  • @GarmanHerigstad
    @GarmanHerigstad8 ай бұрын

    Super great stuff

  • @LinchpiN777
    @LinchpiN7773 жыл бұрын

    Best step by step guide of loops I've seen.

  • @Ferocious_Imbecile
    @Ferocious_Imbecile2 жыл бұрын

    This was the most difficult one to follow so far, but well worth the effort. Thanks so much for this series. Really excellent quality tutoring.

  • @marcolondero
    @marcolondero7 ай бұрын

    One of the best explanations out there, thank you so much!

  • @SCTheBrand
    @SCTheBrand3 жыл бұрын

    int nprim = addprim(0, "polyline"); addvertex(0, nprim, pt); addvertex(0, nprim, pt+num2); in the second loop at the end of the nested loop exercise to keep it all in one wrangle. Handy snippet. Thanks, Junichiro!

  • @punniyakotti5767
    @punniyakotti57672 жыл бұрын

    Thank you so much for wonderful lecture about VEX in Houdini. I was gone through so much of tutorial on VEX, I proud to say your are the best one to understand basic of VEX with awesome explame. That 1 hr :47 min :15sec of the video is really worth it. Dude

  • @guitoma109
    @guitoma1092 жыл бұрын

    Thanks Junichiro, I have learned a lot with this JuniFlix series. Let's go to the E08 - Conditional

  • @joncorv
    @joncorv2 жыл бұрын

    Thanks for sharing this.

  • @billlee9757
    @billlee97573 жыл бұрын

    Thank you for the greatest lessons! I found a little bug when I did the while loop exercise:If the 'Angratio' parameter accidentally equal to 0,the whole loop become a infinite loop for ‘currentang = $PI * angratio’ equal to 0,never break condition ‘currentang Be careful with that parameter guys.

  • @NozimbekKhatamov

    @NozimbekKhatamov

    Жыл бұрын

    That happened with me too :( Thanks ))

  • @philippzakrzewski8180
    @philippzakrzewski81803 жыл бұрын

    This is amazing Junichiro! Thanks for sharing this. I'm still at the bottom of my VEX learning curve, but thanks to you I now understand so much more. That was 1 hour 45 minutes very well invested. Looking forward to your other tutorials!

  • @XrQ0000000a
    @XrQ0000000a2 жыл бұрын

    You are an incredible teacher, thanks Junichiro!!

  • @skrotov
    @skrotov3 жыл бұрын

    thank you so much!!! very helpful! By the way we actually shouldn't click anywhere in the canvas in order to update the code, we can just press ctrl+enter and it will update

  • @massimobaita7178
    @massimobaita71783 жыл бұрын

    Thank You very much, Junichiro!

  • @jkazulyblanco
    @jkazulyblanco2 жыл бұрын

    Absolutely amazing, great work, very good eplanation, thanks a lot Junichiro

  • @thomashsiao4304
    @thomashsiao43043 жыл бұрын

    Thank you so much, really appreciate!!!!!! This series is awesome.

  • @maurypb
    @maurypb2 жыл бұрын

    Thank-you for making these!

  • @jahormaksimau1597
    @jahormaksimau15973 жыл бұрын

    Thank you. This will be very good!

  • @alimoworld8295
    @alimoworld82952 жыл бұрын

    Thank you Sir for this great source!

  • @FaddyVFX
    @FaddyVFX2 жыл бұрын

    Awesome video, alot to learn from your channel and cool tips, thank you for your time. 😁

  • @antoniopepe
    @antoniopepe2 жыл бұрын

    Thanks Master, I don't know if you knew but I think so about a foreach loop. Actually there a version of foreach that has the iteration feedback. foreach (index, value; array) statement; foreach (int index; element_type value; array) statement; i dont know if is a new things, but from h18 i have used sometimes. from what I understand, in the normal for, you can decide to start the count int i = x from any value, even negative, and increase it as you wish , while in the foreach version with the count "i" it always starts from 0.

  • @bombomb_001
    @bombomb_0013 жыл бұрын

    Help me a lot , thank you sir!

  • @pya_for_short
    @pya_for_short5 ай бұрын

    u da best

  • @MrEDolgiy
    @MrEDolgiy2 жыл бұрын

    Thank you very math for the lesson!

  • @krgr1449
    @krgr14493 жыл бұрын

    this is awesome

  • @shantanusasane1981
    @shantanusasane19813 жыл бұрын

    thank you so much for this just a work on SEO

  • @mohamedazab3586
    @mohamedazab35863 ай бұрын

    Thanks

  • @affectreflect
    @affectreflect3 жыл бұрын

    Great stuff as always Maestro..You can actually get the current iteration of a for each loopby setting a variable in the conditions statement and increment it inside the loop like in the while loop but the for loop method is more robust.

  • @mnymanVFX

    @mnymanVFX

    7 ай бұрын

    Not sure where the myth that you cannot get the iteration value from foreach() comes from. The synthax is: foreach (int index; element_type value; array) meaning you can specify int i in the first argument before the element and array.

  • @fasalkpvkd34
    @fasalkpvkd343 жыл бұрын

    waiting for your next lesson

  • @ilyaeuteneier
    @ilyaeuteneier3 жыл бұрын

    Super!

  • @dummy-hz5js
    @dummy-hz5js3 жыл бұрын

    super

  • @skrotov
    @skrotov3 жыл бұрын

    bye the way in order to get attribute wrangle node faster, we can just press tab then type atw and enter =)

  • @sungerbob1786

    @sungerbob1786

    Жыл бұрын

    aw is enough

  • @vishwakarma00
    @vishwakarma003 жыл бұрын

    This is really helpful, thank you for making this tutorials :) Can somebody give me the link for pc(point cloud) expressions, if there are any ? I really hope to see those :)

  • @iAstring
    @iAstring3 жыл бұрын

    8:48 Why do i have to specify point as a variable? (int pt =) I checked and it works just with addpoint function. Is it a new version of houdini, or it is me lacking critical information?

  • @paivera

    @paivera

    2 жыл бұрын

    I don't know much yet and I asked myself the same question, so I might be wrong. I believe it's a "just in case" situation or best practices or things he always does in more advanced codes where he actually ends up using that variable somewhere else down the line.

  • @vindeep1421
    @vindeep14218 ай бұрын

  • @eryichen2869
    @eryichen28693 жыл бұрын

    可以讲讲矩阵和四元数吗,我不是很理解逆矩阵和矩阵相乘还有欧拉角。

  • @antoniopepe
    @antoniopepe2 жыл бұрын

    From your example at kzread.info/dash/bejne/d4F_sKdmgrrdlrw.html if u enable in the viewport Point Numbers, seems that the order of creation its a bit different. can u give a try ? if u have only one line in the X and 7 point the number go from 0 to 6, in the moment that in the Z line u switch from 1 to 2, the order change and the number creation go in a zig zag way, when enable the third dimension even worse.

  • @TroubleShotVFX
    @TroubleShotVFX3 жыл бұрын

    This is cool and all but could you make a tutorial showing how to make a good looking modular blood setup for production with stringy and sticky parameters that coats on contact?