the thing with vex is that its so fun and its quickly rewarding and easy to find things to use it for. python feels so much more abstract, and i feel like the times i need it are pretty rare edge cases in my work. ive tried to learn it before but its so hard and i feel like i really need a goal, and none of the goals that i can think of are things that seem very fun. i wish there was a good way for me to figure out how to learn it in ways that are practical and applicable to common uses I might have as a cg person mostly working in houdini
I can recommend Touchdesigner to get into python in a playful way. But I guess that is not really falling into the CG world as much. Beyond that, I think making a custom HDA is a good way to go :) But I agree, vex is much more rewarding than python.
Shelf tools; that’s what made it stick for me. Think about anything you do more than once and try to automate it via shelf tools. It’s a great way to learn, the API documentation is solid (not as good as VEX but solid) and it’s fun!
I see that this math learning issue is not only related to french school. I now have so much regrets that I haven't paid more attention to it... And to english too 😅
Vex is quite quirky compared to more mainstream languages. For example built-in functions are overloaded based on the type of variable the return value gets assigned to. I've never seen that in another language. On the other hand it is a simple language.
I am relieved to hear I am not the only one feeling like this. I didn't know how to express the feeling of helplessness with the language . Every time i'd take a break from python I came back forgetting how to be Pythonic. It's such a needy needy language that requires you to stick with it or it will punish you. I can come back back to C or C++ after years and still have no problem adapting. Similar to UE blueprints vs Unity C#. If you're not in constant touch with UE blueprints you're going to get punished.
11:20 I'm so grateful that I first learned to code in plain, early C. (For imperative programming, at least.) Kernighan and Ritchie is so short, so concise, such clean thinking. Sure you might need your hand holding, but that's the right time, while you're being taught. What it means, is that in all other, higher-level or scripting languages, I can tell myself .. 'Ahh, OK, that's what this language / bit of syntax is doing for me ..that's what's going on, under the bonnet.' It has made learning all other languages easier.
K&R is just beautiful, and I only studied a bit of it, at university. It really helped me nail my C exam, whereas all the material given by professors was hot garbage in comparison. Now that I'm more experienced, I want to study it all. I also liked SICP, I admittedly only did the first 3 chapters, but they taught me a lot.
It was explained to me that vex is actually working on processing whole arrays like numpy, that is where vex’s speed comes from. The difference is that most of the time you can get away with thinking of it happening as a one point at a time loop. That is part of the power of vex! Hiding the truth from you so you can think of it the intuitive way. Where this shows you what is really happening is if you ever wanted to… when processing point 5 ask the point 4 what happened to it when it went through this vex code. The way I untangle this is picture your points and most points you process with vex as decks of cards. Sure you can get a lot done thinking that it is taking the first card of the deck on input 1 and subtracting the value of the first card of the deck of input 2 then looping. But it is really feeding through the whole deck of input one and in one operation. If the point count is big enough it will split those up and then get multiple processes on the task too but always doing the work on decent sized chunks of points per processor.
I graduated in Aerospace Engineering and they tortured us with MATLAB. I hated MATLAB, but getting familiar with numpy, scipy, Tensorflow, sklearn and similar libraries was very fast, as a consequence. I think doing some C as my very first approach to programming was extremely helpful, I really see the point when you say that python lures you into thinking you don't need to know a lot of stuff. I would also add that if you are introduced to programming with python only, you might not even be aware of certain concepts you should know, because the syntax and all the libraries abstract a lot of stuff from the user. I recently started using JavaScript, typescript and vue.js, together with python frameworks like Django and I love how you get exposed to very important concepts in software development, which have significant overlap elsewhere
I have a young child… when he comes home from maths class confused I am going to bust out houdini to teach him with visual feedback how to use that maths. In school, I didn’t HATE maths but I don’t like it, thanks to using it in houdini I don’t mind it.
Hey guys, thanks a lot for all your great content! Can you advise a full course for Houdini for one transitioning from Cinema4d. It would be great if you can share a series based not broken tutorials, in order to get started. Thanks again
Great chat guys! On the topic of maths, it unfortunately never really clicked with me at school either. I don't suppose you have any good go-to online resources that you usually point people to?
They have a great Nerd Rant called “Math and Papers”, where they talk about exactly that. Khan is a great resource they mention, adding with a few others.
Why this either/or sort of thinking? The conclusion seems to be that python + something like C++ or similar is what we all should do, so what's the problem? Python isn't going away, and it's very useful, so just learn it too. Done. No rant needed.
This may be the wrong place to ask this but since we're on the topic of python, I have a huge dataset in a csv file that I'm reading into houdini, I want to go through the data and find specific cells and assign those values (from the csv) to points with specific attribute values from the geo. Does anybody know a good approach for such a task? I've been trying out a few ideas but I still haven't found a working solution