7/1/2023 0 Comments Houdini vexTypical VEX program defines some context function operating over inputs and writing (exporting) some results. VEX is a C-like programming language for shading and geometry processing tasks. Where to use: in numeric parameters, in string parameters inside backticks.ģ. available as local variables defined on some old nodes. Other vex-like implicit variables may work, e.g. Npoints(): available as expression unavailable. Python is used too, but for more advanced tasks. They have nice and compact syntax convenient to use inside parameters. opinputpath(".", 0) can be used instead.Įxpressions are widely used in Houdini. There is many expression functions which has no such convenient handling and will fail if we provide just 0 to them. It specially treats numbers provided as arguments (by automatically calling "opinputpath(".", number)" I guess). This is what we can use in new Group SOP to get number of input points. Npoints() is an expression function we can use anywhere in parameters. New Group SOP node dropped the local var. The feature still not implemented fully, and pretty much undocumented. After was introduced in H15, we expected logical "vex-like" equivalent with same meaning to exist: There is no such variable, however. Example: before H16 Group SOP stored number of input points in variable $NPT. It is not guaranteed to work for every variable that can be accessed with dollar sign. For instance VEX is a vector language that is C/RSL derivative language developed for fast processing on a CPU for point information and color. Houdini is a full DCC, not a program designed to do just one functionality. It's like an alternate way to access something stored in "$FOO". There are even more languages and modules Houdini can use too, like HDK or opengl, and all the various hybrid languages. ![]() When we type in parameter field, we don't use VEX. # There is no "vex-like" equivalent for $FEND. if ( npoints ( 0 )= 0, $F, $FEND - $F ) # Typical string. In parameter fields we use them without backticks (assumed that everything is expression), in string parameter fields we need to use backticks to evaluate contents and substitute with resulting values. HScript Expressions is a special part of HScript used inside `backticks` to substitute contents with result of some computation. Where to use: in scripts and shelf tools, but better use HOM.Ģ. Expression function can be used inside unavailable. We still may find such scripts in old shelf tools, menu scripts, etc. Scripts typically look like sequences of commands. ![]() Opexprlanguage - s hscript geometryvopglobal1 Opset - d on - r on - h off - f off - y off - t off - l off - s off - u off - e on - b off - L off - M off - H on geometryvopglobal1 Opadd - n geometryvopglobal geometryvopglobal1 # Node geometryvopglobal1 (Vop/geometryvopglobal) HScript is a shell-like language, the old scripting core of Houdini, mostly replaced with Python this days. There's pros and cons to video tutorials vs text tutorials, the best option is to have video and text, Peter recorded what I never had time to do.1. Peter Arcara of Sidefx has provided an amazing resource, and recorded himself going through the entire Joy of Vex series on his Houdini Hangout stream. Special thanks to Grant Inouye for his incredible eye with proof reading, and endless patience with beta testing. I provide some links to other resources at the end of this series. You won't be a fluent vex master in 20 days, but the lessons cover what I use vex for in 80% of my work, and will allow you to follow along with more complex vex examples you might find elsewhere. Instead, this series aims to be like a phrasebook for learning a foreign language. It's also not a complete coding course for vex, that's way too big a task to deal with in 20 short lessons. It's not for total Houdini beginners the lessons move fast and assume you know about geometry attributes, sops, and have a general understanding of how to get around Houdini. This series of lessons is designed to make it less scary. But the one that can seem the most daunting is learning vex. ![]() There's a few stages to learning Houdini getting into nodes and proceduralism is one, dynamics is another, vops is another. ![]() A 20 day program, each day aiming to be between 5 and 30 minutes plus exercises.
0 Comments
Leave a Reply. |