Jump to content
dwainetrain

Learning Programming for Houdini, What Path?

Recommended Posts

My main goal with Houdini is to create images and animations that explain astronomy concepts, sometimes accurately and sometimes more artistically. In addition to that, I would like to bring in astronomical data sets and use Houdini to play out and manipulate simulations. I'm pretty sure Houdini is  capable of what I want to do, but it's becoming obvious to me that I need to learn programming. Yet, I'm overwhelmed with all the paths there are to take.

 

Processing 3.0 looks inviting because of its visual nature, but I'm not sure how it would translate into working with Houdini's coding environment.

 

Python seems to be the one to learn because it's already built into the Interface and it's used in many data visualization scenarios.

 

As far as VEX, I haven't found a resource that promotes VEX as your first programming language to learn. Though from what I've learned through tutorials, it's very powerful and at the very core of program. 

 

I really don't want to spend my time learning something that I can't apply in Houdini, yet I'll need a little hand-holding at the beginning. So, if there are suggestions of a learning path, I would really appreciate it!

Share this post


Link to post
Share on other sites

You may need some python to load in the data sets that you need (external file access)

but I would indeed say that VEX is most likely is going to give you the fastest computation times. 

Also anything you make in VOPs, can be directly translated into VEX snippets (right click view as code, copy and clean etc. etc.)

Share this post


Link to post
Share on other sites

If you never programmed before then i suggest following the Python tutorial from code academy.
https://www.codecademy.com
This goes over the basis for Python but also the core knowledge of programming.
From there you can continue and experiment using Python in Houdini or start learning VEX, in the end i suggest learning both of them as acey said they have both their own uses.

Share this post


Link to post
Share on other sites

According the VEX in Houdini class it's best to at least know Python before attending. I've found that MIT has a beginning computer science class that introduces Python, but mainly as a means to solve science oriented problem sets. Perhaps a combination of that and code academy will give me a good foundation. I'll let you know in a few months.

 

http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00-introduction-to-computer-science-and-programming-fall-2008/

 

Perhaps experimenting with VOPs and seeing what VEX code comes out of it will be a good way to learn also.

 

Thank you for the help!

Share this post


Link to post
Share on other sites

Here is how I generally view the division of labor between Python and VEX in Houdini: Python is absolutely amazing at iterating over and processing (potentially quite large) datasets, and makes a lot of things that would be truly painful to write in lower-level languages a snap. For general scripting, pipeline and utility development you will not find a better language, which is why Python has become the standard in scripting for pretty much every major 3D and VFX package. For pushing and pulling points, manipulating volume data, the heavy-duty number-crunching stuff, VEX is generally favored - as the native geometry processing system in Houdini, it is very highly optimized for that task and has a robust, purpose-built feature set. Python can create and manipulate geometry (to an extent), which is something I would personally like to further investigate, but again, VEX is generally the better choice for such tasks.

 

So yes, the short answer is that Python and VEX are both extremely valuable in Houdini and having a working knowledge of both of them will be very helpful. 

 

One more thing I thought I'd mention: Digital Tutors recently merged with the dev / IT training company Pluralsight, so with a DT membership you can now access all of their training as well. They have introductory Python and C courses (VEX is a C-like language, so it's useful to have some grounding in the syntax and design of C) as well as a course specifically for using Python in Houdini. Something to consider! There are a lot of great free learning options out there as well of course.

  • Like 1

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×