Yep! Still reading :) Here’s the link to the cheat sheet as it didn’t come through in your email: http://www.andynicholas.com/?p=1344
> I think it would be brilliant if he updated his Cheat Sheet for these post > HScript days. They're expressions, not HScript, or am I misunderstanding what you’re getting at? Anyway, if you have suggestions about what you’d find useful from an updated cheat sheet, then by all means let me know. I did start looking at making an update, and made a couple of mind maps breaking down the most popular SOPs and expressions into categories. I'll can post that when I next get a chance. A > On 21 Mar 2017, at 19:07, Jonathan Moore <jonathan.moo...@gmail.com> wrote: > > I think Andy covered off most stuff. The only thing I can reiterate is the > importance of VEX. I shared a link the other day to the VEX masterclass with > Jeff Wagner and had positive feedback from other XSI alumni on this list. If > you haven’t watched it yet, you should. It makes sense of many of SideFX’s > design decisions. > > Ultimately Houdini is an operating system for 3d and becoming comfortable > with VEX and Python within Houdini are mandatory things. SideFX might like to > market Core as a replacement for XSI but VEX in particular and Python (if you > want create portable assets) are essential ingredients in getting the most > out of Houdini. > > I came to Houdini with a hackers knowledge of Python scripting and competent > Processing (which I suppose is Java) skills. Never learnt C++ and I certainly > wouldn’t classify myself as a programmer; and I find I’m comfortable with > VEX. Sure I have the help browser opened permanently on my second browser the > check my function arguments, but I muddle along without pain most of the time. > > If Andy’s still reading, I think it would be brilliant if he updated his > Cheat Sheet for these post HScript days. When I was first learning Houdini it > was a huge help. And funnily enough even though HScript has mostly been > discarded, the list of ‘essential’ SOP operators Andy listed back in 2011 are > just as relevant in 2017. <>😉 > > > From: softimage-boun...@listproc.autodesk.com > <mailto:softimage-boun...@listproc.autodesk.com> > [mailto:softimage-boun...@listproc.autodesk.com > <mailto:softimage-boun...@listproc.autodesk.com>] On Behalf Of Jason S > Sent: 21 March 2017 18:36 > To: Official Softimage Users Mailing List. > https://groups.google.com/forum/#!forum/xsi_list > <https://groups.google.com/forum/#!forum/xsi_list><softimage@listproc.autodesk.com > <mailto:softimage@listproc.autodesk.com>> > Subject: Re: Random Thoughts about H. > > > Hi Andy, > > Thanks for the feedback! > >>> - Can handle lots of objects or elements and a few things became very much >>> faster in recent versions (multi-threaded or openCL) >>> (SI is still is king for sheer high-poly-count on fewer objects, which >>> includes *tons* of island transforms) >> >> Have a look at packed primitives. You can chunk your geometry into sections >> and get excellent performance there along with deferred rendering. >> >> For island management, then there are workflows that use the "name" string >> primitive attribute to differentiate between pieces. Some SOPs support this >> (see clustering and fracturing for example). >> > > Indeed I'm aware of packed prims, and I already agreed with you there (was in > the "Good!" section :P ) > > >>> Elements seem to be either inside OR outside, or object level elements >>> (where regular parenting happens) are almost like separate scenes >> >> Not sure I completely understand your point. I've not had an issue with >> referencing data or geometry. You can use the Object Merge SOP to pull >> geometry from anywhere though, and you can use expressions and VEX to pull >> info from other objects too (although I'd generally recommend object merging >> them for clarity). The convention (as you've probably seen) is to use a Null >> SOP called something like "OUT_Geometry" for example, or to use an Output >> node, and then reference those from another object. That has the advantage >> of being able to insert more nodes before the referenced node, so you don't >> have to update all your references. >> > > I know about merge sop, but is it possible to refer to outputs or elements > located in other object level networks? > (or having object level items used as inputs for multiple other object level > networks?) > > >>> - ICE equivalence (personally my biggest gripe) >>> Wished for one thing, that Vop nets allowed for subnetworks with custom >>> port names, >> >> This is possible, but you need to create a digital asset to do it. Kinda >> painful as a workflow, but it is there. >> >> >>> If that's at-all realistic, as it would probably involve very systemic >>> changes, like how/when compilation happens (?) >>> (to allow time dependancy inside vops, but I don't know) >> >> You can have time dependancy inside VOPs, you just need to use the Time >> input from global variables, rather than use $FF inside expressions. >> > Thanks, also I think promoting parameters allows for time dependency? > But I was referring to time dependency as what could prevent entire processes > to be self contained inside a single VOP net. > (or one of the things) > > >>> everything (such as different settings or where to adjust different >>> things) is all over the place >> Yes, it can be, which is why it's crucial to try to be as organised as >> possible and work in a consistent way. If there's an occasion you can't be >> consistent, then put down a post-it note in your network to document it for >> when you or someone else comes back to the scene. >> >> >>> --- expressions :: >>> even if often very simple, driving values with more elaborate >>> procedures, >>> requires equally more elaborate expressions with often somewhat >>> cryptic and sensitive syntax >>> with single or two letter functions that can be easy to remember >>> for the more common ones like 'F' or 'P', >>> but otherwise involves having the doc open at all times. >> >> You get used to it quickly, but you'll probably find you move more towards >> Vex, which will make most expressions redundant. > > Perhaps I could get used to it, like I could also get use to C++, but the > point was that it's not what I would want to deal with under tight deadlines > (or where I would like to spend most of my time) > > I've done my fair share of scripting, even some quite elaborate ones, but > always commenting the heck out everything and having extra descriptive > variable names to not have to decipher myself even the next day, but I > couldn't say I could decipher half the scripts I come across, and such things > remain quite difficult for me (as for many artists). > > >>> To simply -- say randomizing something with range that changes in >>> time, is comparatively quite something, >>> involving creating attributes (set or bind data) and float >>> parameters, >>> then processing these references in expression strings, spread >>> over a couple of nodes... >> >> Yep, completely pain in the ass. Unless you do it in Vex Wrangles, where >> it's super simple and fast (highly recommend learning the basics). >> > Thanks, I guess simple and fast can be very relative. > > >>> ---- and in general, string references to elements, attributes, or >>> to things defined in one of the 10 other Xops (all over), >>> *** following dataflow, (or getting an impression of what is >>> happenning) can be very -convoluted-. >>> often requiring great scrutiny or finding sources of >>> references to discover what different nodes actually do. >> Agreed. There's a definite need for programming-like strategies to cope, >> e.g.: Compartmentalise where possible into small blocks of nodes that do one >> simple task is a very similar argument to programmers not writing long >> functions. >> >> >>> - lots of Cryptic or non-self-explanatory nomenclature. >> Yes, there's a definite learning curve here. Probably not going to change >> now as it's so embedded in the software and documenation. >> >> You brought up quite a few other points, but thought I'd just address those >> for now as I don't have much time. Feel free to ask back questions though if >> you need clarification. >> >> Cheers, >> Andy >> > > Again thanks for the pointers Andy! > -J > > > > > ------ > Softimage Mailing List. > To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com > <mailto:softimage-requ...@listproc.autodesk.com> with "unsubscribe" in the > subject, and reply to confirm.
------ Softimage Mailing List. To unsubscribe, send a mail to softimage-requ...@listproc.autodesk.com with "unsubscribe" in the subject, and reply to confirm.