Why is there so little Python in Houdini training?

   5309   8   1
User Avatar
Member
86 posts
Joined: May 2015
Offline
Hi guys,

SideFX recently uploaded an older “masterclass” using Python in Houdini 9.5 which made me realize how little training dealing with Houdini and Python is out there and i wonder why that is.

Off the top of my head there is two older masterclasses, the one mentioned above and another newer one, that is also quite old. There was a Pluralsight tutorial that covers building a city in Houdini and Python.
Also i know of a CGSociety course from a few years ago, but according to a friend it was only half about Python and much was on tool building in general and building OTLs etc.

Other than that there is pretty much none. I find that interesting - i specifically learned Python from about a year ago to use it in Houdini(though i had nothing particular in mind). I wanted to learn Python anyway, but since i only use Houdini and Unreal (Python scripting will be added to Unreal according to roadmap) i was planning to only use it for Houdini.

But at the moment i find myself out of ideas what to even do with Python in Houdini. I know when it comes to run over geo etc. VEX is preferred anyway and that is cool and it is great how many examples in VEX are out there.
This gives you a lot of ideas. Recently i saw the new Joy of Vex, there tons of youtube videos on VEX, Rohan Dalvi also had a series on it and it comes up in most tutorials anyway.
So there is enough to see and copy, change, alter, take as inspiration for something else etc.

It seems just a little weird to me that there is only so little in Python. Or am i missing something?
I guess Python is more used in the background to set up projects and other tasks, but isnt that something that is interesting to enough people so that it justifies a little more training/workshops/masterclasses?

I also looked at the awesome cgwiki. It feels like pretty much everything is covered there for VEX, but Python is covered briefly.
That is really not meant as criticism, the site is so awesome. I am merely just curious why that is.

Of course there is plenty of training on Python itself, but i think it is a step from learning Python to knowing when and where to use it in Houdini that requires training. Though i do consider myself not “made” for coding anyway
So maybe i am looking for answers to questions usually no one asks anyway^^

Would like to hear other peoples thoughts on this.
Edited by anon_user_58123709 - April 9, 2018 00:41:45
User Avatar
Staff
3455 posts
Joined: July 2005
Offline
I think you've answered your own question…there is a TON of python training out in the wide world - and just about all of it is directly applicable to using python (2.7 currently) in Houdini.
If you are looking for a bit of inspiration for ideas of what python is typically used for in Houdini - have a look at all the shelf tools - they are all (mostly) implemented in python.
Michael Goldfarb | www.odforce.net
Training Lead
SideFX
www.sidefx.com
User Avatar
Member
86 posts
Joined: May 2015
Offline
Hi,
that is a valid point of course and it seems like once you know Python you can pretty much use it every with a few adjustments.
Still - i think due to the amount that gets tutorials over and over again. Vex, modeling, it feels like someone is starting a introduction to Houdini every month. Dont get me wrong, that is all appreciated a lot!
But if you look at that and then compare it to how little is there in for Python i find that interesting.
User Avatar
Member
1736 posts
Joined: May 2006
Online
What sort of things do you want to know?
http://www.tokeru.com/cgwiki [www.tokeru.com]
https://www.patreon.com/mattestela [www.patreon.com]
User Avatar
Member
86 posts
Joined: May 2015
Offline
Hi Matt,

that question is a little tricky for me to answer, because as mentioned up until now i had no real use to learn Python in the first place. (Other than that i should/could have learned it “stand-alone” anyway.)

So since i am mostly just starting out with Python in Houdini (learned from things like “Automate the boring stuff” and know the basics) for me it would be interesting when to use Python and what it is usually used for. Then learn things like setting up projects, nodes, using the python modules in Houdini (if possible), which ones would be commonly used, importing/exporting data.

I think its mostly things that would be obvious to anyone who has used Python in lets say Maya before and then just learns how to do similar things in Houdini.

At the moment i am looking at Python Introductions for Maya to get an idea how to use Python - especially in a 3D app to get an better understanding what is commonly done with it. I dont know if this is the best way, but i really feel that for me the thing that is lacking is what to do with Python in 3D. I had a much easier time understanding and learning VEX (also thanks to your wiki) since it is, or can be so visual when working with @P, @Time or @Cd when starting out - you can start really basic and then improve gradually.

So with that said, i dont have anything particular in mind what i want to know, since i first need to get a more broad/general idea about Python in 3D. I hope this makes sense. Really want to emphasize that i have not used it a lot, other than your classic “guess the number” kind of games, you often learn in tutorials.

By the way, i remember when i started learning VEX also about a year ago, i had similar questions: Just what do you do with it and it was actually your cgwiki that answered a lot of the questions, just because there were so many examples.

I hope this all makes sense. I hope i am not coming across lazy or demanding. I am super happy with the content that is created by the community and SideFX.
User Avatar
Member
69 posts
Joined: Nov. 2016
Offline
I started learning Python because at my previous workplace, a lot of tools from building a shot scene and submitting job to the render manager are written with Python.

It got me thinking that a lot of the daily tasks (well as a freshie to the industry) are so repetitive so I managed to wrote a few Python scripts that automate my grindy tasks of pulling renders from the server to my local workstation storage and also filename checker for data cleanup.

While Maya does have Python support, I'm still more of a MEL script guy as the listener does a nice job in printing the commands that I can repurpose for my custom script. Same goes with Maxscript.

When I realise Houdini doesn't have a similar concept (I think?) like Maya's Script Editor Listener, it took me awhile to read the docs and in a not surprising result, I manage to adapt a similar approach and wrote scripts to batch apply a particular parameters value to dozens of nodes and setting up the Mantra render settings.

Also Python are handy when you're creating your own digital assets!

If you're up to challenge, learn PyQT/PySide so you can create your own GUI with your customised Python commands for easy 1 click automation!

You know I feel bad when another major motivation for learning Python is to reduce my headache when dealing with my juniors as they often screw up the file naming convention so they can automagically run my script to get it to comply with the pipeline standard…
User Avatar
Member
86 posts
Joined: May 2015
Offline
Hi huey_yeng,

thank you so much for your insight. I think some of the things you said, back up my initial question.

I figure that the stuff you do with Python is rather tedious and repetitive/daily stuff, that is not as fancy to look at as the stuff usually done in something like VEX.
And they are also most likely things people learning Houdini/3D as a hobby have a harder time to imagine when not working professionally. Considering it might be more daily “boring” things it would not be surprising that there is not much on it and also that people are not really asking for it.

For now i think it might be best for me to look at examples of Python in other apps to get an idea, what people use it for and then just looking at how it is done in Houdini.

I have found two older videos from CMIVFX of Python in Maya, that are free on youtube:

https://www.youtube.com/watch?v=PDKxDbt6EGQ [www.youtube.com]

https://www.youtube.com/watch?v=_tqumyujaU4 [www.youtube.com]


Also there is a class that teaches Python in Maya over at cgcircuit. It also looks nice and should give people/me some idea.

https://www.cgcircuit.com/workshop/learn-python-inside-maya [www.cgcircuit.com]


I also already had my eyes on PySide and PyQt but felt i should tackle it once i did a few things with Python.
Edited by anon_user_58123709 - April 12, 2018 07:29:32
User Avatar
Member
2036 posts
Joined: Sept. 2015
Offline
For now i think it might be best for me to look at examples of Python in other apps to get an idea, what people use it for and then just looking at how it is done in Houdini.

I think your better off doing things in the opposite way.

Instead of trying to see how and what python is being used/applied in Houdini;

Determine what it is you want to do in Houdini - and if vex or hscript doesn't allow you to do want you want - then start looking into how it may be done using python.
User Avatar
Member
86 posts
Joined: May 2015
Offline
But for now I do not have anything in particular i am trying to do.

I also had nothing in particular i wanted to do back when i was learning VEX - still i had a pool of examples all over the place that made me go “oh, how do you this? how do you do that?” and an explanation usually came with it.

One could also argue that this was not really necessary since VEX is also well documented. But of course people would rather start out with a cgwiki that has a great reputation, is more entertaining and most importantly cuts through the noise, especially when starting out.

Also back then i was not reaching the limits of Houdini and i had to use VEX to overcome some hurdles. People where just starting to post these cool graphic GIFs.

I think there is no reason something like this could not exists for something like Python in Houdini even though it will probably be less visual/fancy, but a different kind of very useful.
  • Quick Links