Found 41 posts.
Search results Show results as topic list.
Houdini Lounge » Can Houdini mirror constraints?
-
- kriegmesser74
- 41 posts
- Offline
Hey, thanks for your time... I don't know man... after some digging (involving even some google translate of Chinese language)... as always some guy swears it works, but other one claims it doesn't... allegedly it creates -1 on scale channels and that's a NO-NO in Motionbuilder... although I won't use Motionbuilder, and he could have frozen scale transforms after the mirroring... it lights a mild warning light in my mind... yeah... it would be nice to save a lot of work... but to be on the safe side stick with manual control...
Houdini Lounge » Can Houdini mirror constraints?
-
- kriegmesser74
- 41 posts
- Offline
A bit of a R&D question... I'm planning to use mirror shelf tool a lot (after the prototyping and writing scripts phase (YUCK)) so I need to know how much you gain from the tool... according to documentation it will mirror IK solvers also... am I right? Constraints maybe? Or is it mirroring a complete rig in Houdini a big no-no (like in other packages)? I would be happy with the sentence to manually redo only constraints... at least I don't have to set up IK's...
Houdini Lounge » Integrating Pycharm with houdini tutorial?
-
- kriegmesser74
- 41 posts
- Offline
Well my hda script is getting larger and larger, and my eyesight is weaker and weaker, plus getting "in" and "out" for testing in the scene becomes really tiresome, stretching the window on hda script tab is really out of fashion (tear-able window would be so nice) so how do you integrate Pycharm? I have the latest (free) version 2021.2, Houdini 17.5.391, and Houdini python support archive (hyton interpreter I guess), what's next? Do I need something more? I did my share of digging on internet but all topics on different forums are at least five years old and with dozens of "solutions" who scare the pants off me... I tried to integrate Sublime Text 3 but after poking the houdini environment file Houdini froze on startup... no thank you...
Houdini Lounge » Blendshapes on curves?
-
- kriegmesser74
- 41 posts
- Offline
Probably a stupid question, but does blendshape node supports curves as input or is it limited to poly geometry only? I suppose it does but I want to be sure...
Houdini Lounge » Setting keys on parmTuple...
-
- kriegmesser74
- 41 posts
- Offline
Well the main reason for all of this mumbo-jumbo with Houdini Python etc. is Houdini's Muscle system, I have a great model of a character (an Orc) in proper T pose (still in retopology phase, but not far from finish)... I could finish it in Maya (full body IKFK switch/match, muscles, facial rig etc.) but Maya's muscles are a bit... obsolete... If I'm particularly lazy I could kick it in Motionbuilder and just add a layer of muscles... but in my twisted mind that feels like cheating. So since you have (obviously) much more mileage in Houdini than me I would appreciate your opinion on torso muscles setup. Is anatomical skeleton (i.e. ribs, clavicles, shoulder blades models) "a must have" before setting up torso muscles, or a bunch of strategically placed and parented nulls can do the trick, or some approximation of a rib cage made of Houdini's bones will suffice? Everywhere I look everyone just makes legs, or arms or some quadrupeds... is torso really that scary?
Houdini Lounge » Setting keys on parmTuple...
-
- kriegmesser74
- 41 posts
- Offline
Cheers man... thanks a lot... writing functions for setting keys is still beyond my skills in Python... I'm an old MEL Maya guy... this whole hou.blabla thing is sooo... cumbersome... IMHO... I didn't know that one cannot keyframe a value and that parameter won't be updated accordingly... here as it seems one keyframes parameter and updates values... well... sigh...

Houdini Lounge » Setting keys on parmTuple...
-
- kriegmesser74
- 41 posts
- Offline
Yes, i tried that. it works, but it copies/pastes current keyframe number on the timeline AS a new value for rotation... for example my time slider was on frame number 19 and my "new out of nowhere" rotation was 19... what a madness... do I need to set value with object_parameter as value? How would that look? myKey.setValue(object_parameter) maybe?
EDIT no. 1
YES! myKey.setValue(object_parameter) does the job!
Now the next thing arises... since I'm typing lazy (aren't we all) can I use parmTuple as a variable for setting value of a keyframe? Or to stick with "one by one" style?
Man I wish you are closer... I would buy you a six pack, or a Jack or something...
EDIT no. 1
YES! myKey.setValue(object_parameter) does the job!
Now the next thing arises... since I'm typing lazy (aren't we all) can I use parmTuple as a variable for setting value of a keyframe? Or to stick with "one by one" style?
Man I wish you are closer... I would buy you a six pack, or a Jack or something...
Edited by kriegmesser74 - Aug. 5, 2021 13:31:09
Houdini Lounge » Setting keys on parmTuple...
-
- kriegmesser74
- 41 posts
- Offline
Well again thanks a LOT... in my case code looks like this:
...#Other parameters and objects bla bla bla
...#Let's focus on this one only
Object = hou.node('/obj/L_UpArm_FK_CTRL/')
Object_parameter = Object.parm('/obj/L_UpArm_FK_CTRL/rx').eval()
...#Time to key some stuff
Current_Time=hou.intFrame()
myKey= hou.Keyframe(Current_Time)
Frame_Backwards=Current_Time-1
hou.setFrame(Frame_Backwards)
Object_parameter.setKeyframe(myKey)
Aaaand I get "AttributeError: 'float' object has no attribute 'setKeyframe'"
S**T ... This same approach works for BlendParents node's sliders... keys are created at a proper frame on timeline but on rotations looks like a bug to me... please tell me that I'm wrong...
...#Other parameters and objects bla bla bla
...#Let's focus on this one only
Object = hou.node('/obj/L_UpArm_FK_CTRL/')
Object_parameter = Object.parm('/obj/L_UpArm_FK_CTRL/rx').eval()
...#Time to key some stuff
Current_Time=hou.intFrame()
myKey= hou.Keyframe(Current_Time)
Frame_Backwards=Current_Time-1
hou.setFrame(Frame_Backwards)
Object_parameter.setKeyframe(myKey)
Aaaand I get "AttributeError: 'float' object has no attribute 'setKeyframe'"
S**T ... This same approach works for BlendParents node's sliders... keys are created at a proper frame on timeline but on rotations looks like a bug to me... please tell me that I'm wrong...
Houdini Lounge » Setting keys on parmTuple...
-
- kriegmesser74
- 41 posts
- Offline
Again THANKS A LOT!! Well I'm on H17.0 so as it seems to me one can "inject" values as a tuple but has to key them one by one with hou.parm? Is key.setValue mandatory? I'm trying to key whatever values are already present at a frame on timeline...
Houdini Lounge » Setting keys on parmTuple...
-
- kriegmesser74
- 41 posts
- Offline
As the title says how do you set keys on parmTuple? Let's say I want to key rx ry rz at once, I'm getting an attribute error that a parmTuple object has no setKeyframe(key) attribute?
Edited by kriegmesser74 - Aug. 4, 2021 16:58:21
Houdini Lounge » Houdini Sliders as Python Arrays? Possible or not?
-
- kriegmesser74
- 41 posts
- Offline
As in topic, is it possible to add values of a slider (for example a float slider with a range let's say |-100.00<->0.00<->100.00|) to a python array as elements, so we can iterate over those values and make incremental rotations of an object (controller in a rig)?
Houdini Lounge » Searching for python syntax...
-
- kriegmesser74
- 41 posts
- Offline
How do you turn "on" or "off" autokey button on timeline with python?
Edit: After some more digging trough help, it seems that I need to use hotkeys... is there a way to store a hotkey value in a python variable?
Edit nr. 2 After MORE digging it seems that I have to go trough hou.getPreference... now the question is which one of the anim. preferences names is Auto Key checkbox?
Edit nr. 3 Well after MORE DIGGING trough the mess the hou.getPreferenceNames() (or whatever) puked on me, here they are, the almighty preference variable names (regarding animation):
'anim.underlinescoped.val'
'anim.followscopedchannelreferences.val'
'anim.underlinescopedcolor.val'
'anim.includeconstraints.val'
'anim.includechild.val'
'anim.includeanim.val'
'anim.autoupdatechannels.val'
'anim.setautoscope.val'
'anim.nopendingkey.val'
'anim.autokeytuples.val'
'anim.slope.val'
'anim.firstfunc.val'
'anim.autofunc.val'
'anim.autoslope.val'
'anim.holdlastkey.val'
'anim.firstfunc.menu'
'anim.setfirstkey.val'
'anim.addedfunc.val'
'anim.addedfunc.menu'
'anim.keepchannelselection.val'
'anim.setkey.val'
'anim.rotationfunc.val'
Now... the trick is to know which one of these names corresponds to auto key state, my bet is on 'anim.autoupdatechannels.val' ... what is yours? Really people at Sidefx... I mean... really? The lack of documentation on this s%#t is criminal.
Now the next step (if my choice of the name is correct) is to hou.get blabla switch to hou.set blabla and hope that the markings "AUTO" on the button switches on or off? Is this how it's suppose to work? Some syntax would be nice...
Edit nr.4
Well after turning on and off a few of parameters, and some cross-checking of checkboxes it seems that Auto key does not have it's own function?!?!?! Tell me that I'm wrong!? Back to digging last night and I found this old thread https://www.sidefx.com/forum/topic/20561/?page=1#post-272064 [www.sidefx.com] from 2009, now it seems that is impossible to call a hotkey from within a HDA? Has that changed in newer versions of Houdini?
Edit: After some more digging trough help, it seems that I need to use hotkeys... is there a way to store a hotkey value in a python variable?
Edit nr. 2 After MORE digging it seems that I have to go trough hou.getPreference... now the question is which one of the anim. preferences names is Auto Key checkbox?
Edit nr. 3 Well after MORE DIGGING trough the mess the hou.getPreferenceNames() (or whatever) puked on me, here they are, the almighty preference variable names (regarding animation):
'anim.underlinescoped.val'
'anim.followscopedchannelreferences.val'
'anim.underlinescopedcolor.val'
'anim.includeconstraints.val'
'anim.includechild.val'
'anim.includeanim.val'
'anim.autoupdatechannels.val'
'anim.setautoscope.val'
'anim.nopendingkey.val'
'anim.autokeytuples.val'
'anim.slope.val'
'anim.firstfunc.val'
'anim.autofunc.val'
'anim.autoslope.val'
'anim.holdlastkey.val'
'anim.firstfunc.menu'
'anim.setfirstkey.val'
'anim.addedfunc.val'
'anim.addedfunc.menu'
'anim.keepchannelselection.val'
'anim.setkey.val'
'anim.rotationfunc.val'
Now... the trick is to know which one of these names corresponds to auto key state, my bet is on 'anim.autoupdatechannels.val' ... what is yours? Really people at Sidefx... I mean... really? The lack of documentation on this s%#t is criminal.
Now the next step (if my choice of the name is correct) is to hou.get blabla switch to hou.set blabla and hope that the markings "AUTO" on the button switches on or off? Is this how it's suppose to work? Some syntax would be nice...
Edit nr.4
Well after turning on and off a few of parameters, and some cross-checking of checkboxes it seems that Auto key does not have it's own function?!?!?! Tell me that I'm wrong!? Back to digging last night and I found this old thread https://www.sidefx.com/forum/topic/20561/?page=1#post-272064 [www.sidefx.com] from 2009, now it seems that is impossible to call a hotkey from within a HDA? Has that changed in newer versions of Houdini?
Edited by kriegmesser74 - June 8, 2021 12:40:27
Houdini Lounge » Question about Houdini's Skininng...
-
- kriegmesser74
- 41 posts
- Offline
Oookaaay, I need to clear things up a bit... It's about facial rigging, the idea is to have nurbs curves with bones (or other objects whatever)attached to their CV's in world space (properly/uniformly oriented), and to drive nurbs deformations trough morphs (extreme poses) so the nurbs act like facial muscles, and in the end to balance those combinations of morphs trough the "joystick" (i.e. a circle shape in the box shape, limited not to abandon boundaries of the box shape, with the value of 0 to 1). I've done this many times, in Max or Maya... in Maya you would go to node editor and connect CV's WorldPositions to joints position... where do I need to go in Houdini to achieve this... maybe Chops? How would a network look like for one CV and one bone?
Houdini Lounge » Question about Houdini's Skininng...
-
- kriegmesser74
- 41 posts
- Offline
Ok, since nobody seems never ever tried this before, bones it is, now, how would you extract world position of nurbs CV's and use them to drive bones?
Houdini Lounge » Question about Houdini's Skininng...
-
- kriegmesser74
- 41 posts
- Offline
Just a fast one, can Houdini use something else for skininng besides bones and metaballs? Nulls perhaps? If metaballs are used for facial rigging/skinning, how big impact they (metaballs) have on performances of fps and speed of overall rig? Are they "choking" viewports?
Houdini Lounge » Passing in ParmTuple into another ParmTuple with Set()
-
- kriegmesser74
- 41 posts
- Offline
Thanks again... I'm confused even more trust me... I'm translating an old MEL script I wrote a few winters a go... trying to achieve same things in a waaay different environment than Maya... Here you are throwing tuples around... in Maya you would rotate vectors with "GetAttr","SetAttr", and "Xform" in -WorldSpace (flag)...
Houdini Lounge » Passing in ParmTuple into another ParmTuple with Set()
-
- kriegmesser74
- 41 posts
- Offline
Got it!!! Thank you very much! I suppose this is a "one way" connection? In this case from "t" to "r"? Can it be keyed afterwards automatically or I need to override manually?
EDIT: Wow this is "forever" connection?! Is there an option to "align" them without keeping the connection? hou.parms?
EDIT N.2: Got what I wanted with hou.parm... final result of prototyping looks like this
IK_rotations=hou.node('/obj/L_UpArm_IK')
>>> IK_rotations_parameter=hou.parm('/obj/L_UpArm_IK/rx').eval()
>>> print IK_rotations_parameter
-31.7642288427
>>> FK_rotations=hou.node('/obj/L_UpArm_FK_CTRL')
>>> FK_rotations_parameter=hou.parm('/obj/L_UpArm_FK_CTRL/rx').eval()
>>> print FK_rotations_parameter
0.0
>>> FK_rotations_parameter=hou.parm('/obj/L_UpArm_FK_CTRL/rx').set(IK_rotations_parameter)
And the FK control rotates properly without reference connection to IK bone... Is there a way to do this on the fly of all axis rotations rx ry rz? Less typing?
EDIT: Wow this is "forever" connection?! Is there an option to "align" them without keeping the connection? hou.parms?
EDIT N.2: Got what I wanted with hou.parm... final result of prototyping looks like this
IK_rotations=hou.node('/obj/L_UpArm_IK')
>>> IK_rotations_parameter=hou.parm('/obj/L_UpArm_IK/rx').eval()
>>> print IK_rotations_parameter
-31.7642288427
>>> FK_rotations=hou.node('/obj/L_UpArm_FK_CTRL')
>>> FK_rotations_parameter=hou.parm('/obj/L_UpArm_FK_CTRL/rx').eval()
>>> print FK_rotations_parameter
0.0
>>> FK_rotations_parameter=hou.parm('/obj/L_UpArm_FK_CTRL/rx').set(IK_rotations_parameter)
And the FK control rotates properly without reference connection to IK bone... Is there a way to do this on the fly of all axis rotations rx ry rz? Less typing?
Edited by kriegmesser74 - May 24, 2021 15:28:34
Houdini Lounge » Passing in ParmTuple into another ParmTuple with Set()
-
- kriegmesser74
- 41 posts
- Offline
To quote Help Files:
"Setting
set(values, language=None, follow_parm_references=True)
Sets the values of the parameters in the tuple at the current frame.
values
A sequence of floats, integers or strings, corresponding to the components of this parameter tuple.
For example, the parameter tuple for "translation" contains hou.Parm objects for translation along each of the axes, "tx", "ty" and "tz". If set is called with the following tuple of floats, (2.5, 4.0, 5.5), then the parameter "tx" with be set to 2.5, "ty" will be set to 4.0 and "tz" will be set to 5.5.
You can also pass in a hou.ParmTuple object for this argument to create channel references from the parameters in this tuple to the parameters in the passed-in tuple. If this tuple has more parameters than the passed-in tuple then no work is performed on the extra parameters. If the passed-in tuple has more parameters than this tuple then the extra parameters are ignored.
"
Can someone show me real world example of this syntax (bolder part of the text)?
"Setting
set(values, language=None, follow_parm_references=True)
Sets the values of the parameters in the tuple at the current frame.
values
A sequence of floats, integers or strings, corresponding to the components of this parameter tuple.
For example, the parameter tuple for "translation" contains hou.Parm objects for translation along each of the axes, "tx", "ty" and "tz". If set is called with the following tuple of floats, (2.5, 4.0, 5.5), then the parameter "tx" with be set to 2.5, "ty" will be set to 4.0 and "tz" will be set to 5.5.
You can also pass in a hou.ParmTuple object for this argument to create channel references from the parameters in this tuple to the parameters in the passed-in tuple. If this tuple has more parameters than the passed-in tuple then no work is performed on the extra parameters. If the passed-in tuple has more parameters than this tuple then the extra parameters are ignored.
"
Can someone show me real world example of this syntax (bolder part of the text)?
Technical Discussion » Rough Python Script To Position and Orient Bone
-
- kriegmesser74
- 41 posts
- Offline
Raising this one from the dead... Well I have a problem... how do you get world rotations from IK chain of bones or parent blend constrained chain of bones, yes I'm trying to create triple chain IKFK switch/match...
When I use worldTransform extractRotates I'm getting some crazy values... Also I cannot use hou.parm().eval() on these bones because returned value is zero
When I use worldTransform extractRotates I'm getting some crazy values... Also I cannot use hou.parm().eval() on these bones because returned value is zero
Edited by kriegmesser74 - May 23, 2021 12:17:28
Houdini Lounge » A suggestion for developers...
-
- kriegmesser74
- 41 posts
- Offline
I will probably sound as a noob, which I am, but only in the world of Houdini, I've spent some time in Max and Maya, how about some color coding on the gigantic tab menu "All"? For example, nodes in the red field are most commonly used in rigging area, yellow field are nodes used in let's say modeling, blue field simulations, etc. etc. Unfortunately not all of us mortals have photographic memory, or time, or patience, to read trough 600+ nodes help file when focusing on one area only. Sorting nodes out alphabetically is not the solution. Narrow it down man.
-
- Quick Links