Hey All,
I an interesting idea occured to me. I was thinking that it would really speed up the production process for rigging and it has other application if we had a global fuctions window. Basically we would create global function definitions entries into a window and then any variable/property etc would auto create a trigger/event handler that would execute when it was manipulated. What this would mean is instead of creating an expression in an attributes edit box you would create a global function definition. Then when you have a slider that manipulates a variable in that equation the resultant would be automatically updated. Then you would also be able to move the graphical control for another variable in that equation and it would auto update. This would allow for centeralization in controls for multiple controls. Meaning the animator could move seamlessly between sliders and graphically created controls all manipulating the same equations and getting consistant results. It would lower the amount of errors because it would only be defined once. Also there would be no need to code multiple scripts to do the same function. say you had 50 global equations you could easily eliminate 100s of scripts that serve the same function. It would increase production time. It would be easier to follow the process. It would be most helpful if they could be encapsulated in an OTL, Object, or whatever Scope Level was needed. You can do this same functionality now but the only way I see to do it is to write a bunch of scripts and OTLs which is time consuming. This would be much faster and easier for another user to follow. Plus it would help non-programmers do more functionality by simplifying the process. Just my 2 cents what do you guys think???
Cheers,
Nate Nesler
P.S. Did I explain what I mean clearly? It seems so to me but I know what I am thinking and sometimes get lost in the details.
Global Expression Definition Window.
3709 2 0-
- MatrixNAN
- Member
- 405 posts
- Joined: July 2005
- Offline
-
- edward
- Member
- 8076 posts
- Joined: July 2005
- Offline
Not quite sure I follow everything but have you ever tried writing your own expression functions? From the top Settings menu, choose Aliases and Variables… In the dialog that comes up, choose Expressions. In the Source Display window, type something like this:
foo(x)
{
return x + 0.3;
}
Now click on the Apply Changes button.
In a parameter field, type this in: foo(0.5). Now when you change it back to value mode, you'll note that it's 0.8.
For a more sophisticated example, the $IV and $OV local variables are available within the function so that you write your own linear() for example.
The problem with this global functions list though is that with OTLs it takes more work to package them inside the OTL so that when the first instance of any operator within the OTL gets put down, the function is automatically generated into this global list.
foo(x)
{
return x + 0.3;
}
Now click on the Apply Changes button.
In a parameter field, type this in: foo(0.5). Now when you change it back to value mode, you'll note that it's 0.8.
For a more sophisticated example, the $IV and $OV local variables are available within the function so that you write your own linear() for example.
The problem with this global functions list though is that with OTLs it takes more work to package them inside the OTL so that when the first instance of any operator within the OTL gets put down, the function is automatically generated into this global list.
-
- MatrixNAN
- Member
- 405 posts
- Joined: July 2005
- Offline
Hey Edward,
You make a good point Edward. Yes I think that when an OTL/Subnet is created the Global Expressions that contained the Attributes/Variables that were contained in the OTL would have to be copied/registered with that OTL. If the those Global Expressions were out of scope with the OTL it would be good for a popup window to tell you that and for you to decide which if not all or none of the expressions were kept that were out of scope. When the OTL was installed on the end user system then the Global Expressions from the OTL would have to register themselves with the Scope in which they were at and what they were listed for at the OTL creation time were set for. The Global Expressions would only be added if they were new or different than all the other expressions. Ok that said I will defantly take a look at your suggestion Edward unforitnately I might not be able to get around to it until the weekend because I work and go to school pretty much the whole day for the rest of the week. I wish I could spend more time on Houdini than what I get to.
Cheers,
Nate Nesler
P.S. Thanks for you Input Edward it is always appericated.
You make a good point Edward. Yes I think that when an OTL/Subnet is created the Global Expressions that contained the Attributes/Variables that were contained in the OTL would have to be copied/registered with that OTL. If the those Global Expressions were out of scope with the OTL it would be good for a popup window to tell you that and for you to decide which if not all or none of the expressions were kept that were out of scope. When the OTL was installed on the end user system then the Global Expressions from the OTL would have to register themselves with the Scope in which they were at and what they were listed for at the OTL creation time were set for. The Global Expressions would only be added if they were new or different than all the other expressions. Ok that said I will defantly take a look at your suggestion Edward unforitnately I might not be able to get around to it until the weekend because I work and go to school pretty much the whole day for the rest of the week. I wish I could spend more time on Houdini than what I get to.
Cheers,
Nate Nesler
P.S. Thanks for you Input Edward it is always appericated.
-
- Quick Links