RobynsVeil opened this issue on Jan 24, 2009 · 490 posts
RobynsVeil posted Sun, 01 May 2011 at 6:17 PM
Quote - ooooo, yay! PM sent!
RobynsVeil and i have been emailing back and forth to share our understanding of Matmatic scripts. it's been very enlightening.
That was over two years ago, this was written. I'm taking up this thread again with first a heartfelt thank you and then some observations.
The thank you goes to KobaltKween. When she said "sharing", she was really doing the bulk of the sharing, to be honest, particularly the last few weeks. What I do now understand about class/method/property/value behaviour and usage I owe directly to her, particularly since she gave me this information in the context of Matmatic, which is now a completely different tool to me. Whilst she gained much from BB's showing us his Mix() script, I confess that there were massive holes in my understanding with I'm sure my lame implementation of the script must have glaringly exposed.
I do want to say that KobaltKween is the most patient, kind, steadfast friend I have... I am deeply in her debt for bringing something to me I so desperately wanted: a better grasp of writing re-usable code using classes.
Now, to the observations.
There is no question to me at least that writing procedural code (poorly, but I sort-of knew how to use parameters and stuff to kind-of make functions that could be used again) for 15 years was really a hugely inhibitory factor in getting my head around classes. There is still much about classes I don't understand, but several things have finally shuddered home, finally. I mean, anyone who has tried to explore OOP has heard the "blueprint" metaphor: yet, those of us coming from procedural have to let go of the fact that code that is written isn't active in memory just because it's there... it's just a definition. Nothing's happened yet. That took me ages to get my head around, for some reason, and caused a lot of errors to happen, some of which didn't really describe the problem, well, to me. :blink:
Now that some of this has finally sunk home - some the the basic behaviour of this stuff - design is becoming somewhat more interesting. Like, where do I do my error-trapping? for instance.
I know all this is a bit oblique, but that's by design. The more I work with Matmatic, the more I appreciate the brilliant tool BB's given us (you probably thought it was gathering cobwebs on a hard-drive somewhere, didn't you, Bagginsbill? ) but also, the greater the challenge to write clean, re-usable code with decent design.
What do I use it for? Well, I'm not going to be particularly discrete when I say I clean up (and customise) shaders with it. I'll be honest: I haven't gotten a grip on using VSS with hair, for example, and besides, it's an additional series of steps that I avoid by just writing a quick collection (in, say, a AllHair.py, for example), then with a few lines of code I can add that hair to my growing hair shader script... and generate an mc6. With a setting change, I can go from making a simple non-GCed version (for PP2010 or for export to Lux) to a material-GCed version to a corrected-sRGB version.
So, Matmatic is an integral part of my workflow making a scene for Poser, or indeed, even Lux. And classes have made that workflow excitingly more flexible, powerful and cleaner (well, design enhancements will effect that, I'm sure).
Be curious to know how others are using Matmatic these days...
Monterey/Mint21.x/Win10 - Blender3.x - PP11.3(cm) - Musescore3.6.2
Wir sind gewohnt, daß die Menschen verhöhnen was sie nicht verstehen
[it is clear that humans have contempt for that which they do not understand]