For those who work at Houdini. About Nature of Vex and Bites of Python courses
Also in this post, the guys share a selection of materials that will be useful to all interested.
A little introductory
The Vex language scares beginner Houdini users. Largely thanks to him, there was a stereotype that Houdini must be encoded. Actually in houdini can coding, and this just facilitates and speeds up many processes, and does not complicate them. For example, it helps to avoid such creepy setups:
The Vex language was created for writing shaders in the Mantra renderer (the built-in renderer of the Houdini program), but quickly went beyond its original use due to its flexibility, simplicity, and speed. The name of the language comes from the abbreviation Vector EXpressions, but with it you can manipulate completely different types of data. So, Vex is mainly used for various kinds of manipulations with geometry components (points, polygons), as well as for procedural creation of geometry.
The Vex language is rather undemanding to the syntax and formatting of the code, it has a not very high entry threshold. Often a couple or three lines are enough to achieve the desired result. Among its advantages are also multithreading and, as a result, good speed. Vex programming is needed both for solving elementary problems and for complex and complex calculations, and the language copes with all this extremely quickly. With it, you can do a lot of amazing things in procedural modeling, in animation and simulations.
Of course, we like it when someone thinks that we are all such programmers, but in fact we are used to functionality and convenience (although many, working for the first time in Houdini, may decide that it’s more convenient only to sleep on nails). If some tool did not make our life easier, we would not use it. Therefore, do not take the possibility of programming as something that prevents you from starting to learn Houdini. Vex is just another (albeit very good) tool among many others.
Python, much better known in wide circles, does not need a presentation and a detailed description. We’ll tell you why he is to us. In the context of Houdini, Python is used to control the program itself (creating nodes in a project, file operations, automating repetitive operations, playing complex combinations of actions, etc.). We also need Python programming to create beautiful interfaces in tools and write convenient commands that control assets when a button is clicked. If the button “make beautifully” existed in the Houdini asset, it would be written in Python. In addition, it is sometimes used to manipulate geometry (like the Vex language), but you need to understand that Python is less intuitive to configure for such purposes and often does it more slowly than Vex.
More about courses
Houdini's developer, Side Effects Software, releases so many updates and provides so many features for users that the official documentation and official training courses simply do not have time to be updated. Therefore, we collect information bit by bit from various sources (paid, free, official and not very) in order to fully master these flexible and powerful tools – the programming languages Vex and Python (and Houdini in general). Our choice fell on courses from Mix Training, as they claimed to be a wide coverage of material about Python and Vex in Houdini.
The course author has a YouTube channel (a good resource for those who want to start learning Houdini), characterized by an informal relaxed presentation and a lot of topics, from motion design to game dev. In addition to the channel, he also has his own death-metal garage band. We decided that the author should be trusted, and acquired Nature of Vex and Bites of Python, for 8 hours each course (you can watch at a speed of 1.5).
- Usefulness for specialists of different levels. These courses can be compared with the library, which contains all the most important aspects of Vex and Python in Houdini, from basic things to advanced and complex setups. In Vex, from defining attributes and variables to the original implementation of the Space Colonization algorithm. In Python, from simple automatic creation of nodes in a scene and small improvements in the Houdini program itself to an attribute manager written from scratch. There is all the necessary basic information on the syntax of these two languages and their interaction with Houdini.
The course has a lot of things for beginners, but this did not bother us at all. By reviewing video tutorials or re-reading articles about basic things in Houdini, you find something new and understand what you already know. In addition, in Houdini, almost everything can be done in different ways, forming over time your own unique style, therefore it is always valuable and interesting to observe the work of a wizard. Even the way the nodes are organized in a project can tell a lot about its creator.
- Relevance. Extensive and fundamental courses are rarely modern. Many of them did not keep up with the development of the Houdini program, which has changed quite a lot over the past three years. The established approaches have been replaced by new, more optimized and convenient ones (the old ones have not gone away, but have ceased to be preferred). In particular, the share of Vex in working with Houdini has increased. When learning the basics of Houdini, it’s important to know which methods are relevant so that when confronted with older (and often more complex) study material, you need to understand how to effectively apply the information received in practice.
And the cons …
- There are no ready-made solutions for real production in the courses. The author selects the topics of the lessons and methods of solving problems rather to demonstrate what is possible than to obtain an optimized end result. These solutions are not always the most effective, and not all of them fit the definition of "best practices." If you are looking for step-by-step instructions covering all stages of production from the beginning to the final render (as here, for example), then these courses are not quite for you. The author prefers to leave the finale open, which may discourage novice Houdini users.
- Side effects of informal presentation and improvisation. The author sometimes makes mistakes (which can be a plus) or spends lesson time on something to remember or concentrate. Given that the information in the courses is largely familiarization due to the breadth of coverage of the material, there is no possibility to dwell in detail on some points. Because of this, the author’s hitch and his spontaneous decisions can cause even more questions. Fortunately, he has free tutorials on creating a project manager in Houdini using Python, and in some aspects they are more practical and detailed than information on the same topic in the courses.
In our opinion, the pros greatly outweigh the cons. If you want to more or less systematically explore the possibilities of programming in Houdini (and Houdini itself), then you can start with these video tutorials. They will also be a good complement to other training materials and resources – like an overview of the main aspects of using Vex and Python in Houdini or a video guide where you can quickly peek at something.
Bonus: some inspiring and educational links
Entagma – GreyScaleGorilla in the Houdini world (Cinema4d users will understand us). Very wide coverage of topics and excellent flow of material. By the way, just recently they started a new season.
Simon Holmedal is a legend man in the houdini community. It is more about inspiration than about specific practical techniques. Think about it if you need to see and feel what you can do in Houdini.
Ben Watts is an excellent designer and teacher.
Matt Estela is the author of one of the most significant and popular resources for learning Houdini – cgwiki. A resource that is updated regularly simply bursts with the amount of useful information and ready-made solutions. Definitely recommend.
Anastasia Opara is our compatriot, the author of a great course familiar to many for the Houdini Procedural Lake Houses. It is unlikely to succeed in fully mastering it the first or even the second time, but you should definitely not throw it: it is difficult to find so much information about advanced Vex application practices and procedural modeling. For inspiration, we recommend that you read the presentation by Believability in Procedural Modeling.
Houdini in Russian – a channel with very high-quality lessons on Houdini in Russian. So high-quality that some English-speaking users would even like to learn Russian in order to be able to watch these lessons. Training materials are divided into playlists depending on the level of difficulty.