Found 41 posts.
Search results Show results as topic list.
Houdini Lounge » Suddenly Parenting not working as it should?!?!
- kriegmesser74
- 41 posts
- Offline
Houdini Lounge » Reverse foot matching hell on earth...
- kriegmesser74
- 41 posts
- Offline
So the spline+points = bone skeletons are the herniated future of rigging in Houdini? God/s help us... If they want mocap they should just copy Motionbuilder... Or focus more on interoperability... For now I would love stable/unshakable/monolithic/ parenting function... I've seen constraints that fail in Maya... or wiring parameters that go haywire in 3DS Max... but parenting or parent constraints rarely (never) go down...
Houdini Lounge » Suddenly Parenting not working as it should?!?!
- kriegmesser74
- 41 posts
- Offline
Nope... no pre-transforms... tried it multiple times, fresh scenes, newly created objects, resetting PC... is there a way to somehow "reset" Houdini? I'm really not in the mood for reinstall, or new Windows... seems as flags on objects are getting crazy or a global keeppos has some junk in it (out of somewhere)... I did install xbox screen capture software (something with "xbox" in the name) for an hour our two, but I can't imagine it has anything to do with one of the main functions in Houdini... sounds too crazy or too paranoid...
Houdini Lounge » Suddenly Parenting not working as it should?!?!
- kriegmesser74
- 41 posts
- Offline
All of a sudden seems that main parenting function is broken... parented object does not snap to it's parent origin... it moves a little but not all the way... WTF? Regardless of the settings in the preferences... "keep position" works as it should, but as it seems no more aligning trough parenting for me?! Did I managed to break it when I turned off "keep position" while playing with "parent blend" constraint? Jesus Christ... I can't believe this is happening now... what a jinx...
Houdini Lounge » Reverse foot matching hell on earth...
- kriegmesser74
- 41 posts
- Offline
@Jonathan
I'm trying to build rigs in object level... bones etc. Somehow Kinefx feels more as a solution for mocap as far as I can tell... I'm getting some flashbacks of Motionbuilder approach when I see it... Thank you for suggestion and time...
@Tamte
Yes it's tricky as hell... I don't know even where to start, or which object to align first... and to what! Benefit is much easier animation if a character jumps... when I remember situations of dragging IK legs trough air while the character is airborne... tears start flowing by themselves... By "partial matching" do you mean matching up to the ankle (hip->knee->ankle... like an arm), and the foot, with it's infamous footroll, is a separate "entity" or "module" who follows IK or FK chains as needed? Some form of broken hierarchy with a null who acts as a parent for footroll, but switches it's parents (i.e. IK or FK bones) trough parent constraints? Sounds doable... maybe...
I'm trying to build rigs in object level... bones etc. Somehow Kinefx feels more as a solution for mocap as far as I can tell... I'm getting some flashbacks of Motionbuilder approach when I see it... Thank you for suggestion and time...
@Tamte
Yes it's tricky as hell... I don't know even where to start, or which object to align first... and to what! Benefit is much easier animation if a character jumps... when I remember situations of dragging IK legs trough air while the character is airborne... tears start flowing by themselves... By "partial matching" do you mean matching up to the ankle (hip->knee->ankle... like an arm), and the foot, with it's infamous footroll, is a separate "entity" or "module" who follows IK or FK chains as needed? Some form of broken hierarchy with a null who acts as a parent for footroll, but switches it's parents (i.e. IK or FK bones) trough parent constraints? Sounds doable... maybe...
Houdini Lounge » Reverse foot matching hell on earth...
- kriegmesser74
- 41 posts
- Offline
Well... where to begin... there is only one (1!) example of this on the internet, and it's for Maya in the old Jason Schleifer's "Animator Friendly Rigging" tutorial... and it's a s**tstorm of epic proportions... separate window with multiple choices options, on the level of a plugin written in MEL... yes it works, but I don't want to pick bones and controllers in the hierarchy I want it automated... one button with HDA's python script... Then there is, again, one (1!) Sidefx rigging tutorial series where this is shown but (you can call me stupid) I didn't understand how it is supposed to work... btw there were some complaints that this setup wasn't working properly because of some bugs in at the time version of Houdini... When you look at the hierarchy of reverse foot you have 10 (or eight depends on complexity) up to 12 objects who control two bones rotations... opposed to only two FK controllers (ankle and ball/toe wiggle). Thanks to Toadstorm (cheers man), I know how to handle/dismantle/patch/ matrices to get rotations/translations and matching FK to IK is not a problem... but how the hell am I supposed to match combinations of rotations of 10 or 12 objects to only two objects (matrices)that I can access? Should I create/add additional (fake) objects/nulls in the FK hierarchy who will somehow (don't know how) provide data needed for matching? Help...
Houdini Lounge » Incremental rotation with a "+=" counter?
- kriegmesser74
- 41 posts
- Offline
Pure gold... So I guessed the first two huh? ... And the third one is a Vector3 not Matrix... it didn't even cross my mind... wasn't paying attention... yes... clever... really clever... Now I know how to patch Matrices... Examples like this should be in the help file...Now I get some idea why my experiment with hmath.buildTransform() didn't work at the time... I didn't add all the ingredients... I added just two that I thought were important... what a moron...
Old Maya MEL guy here, forgive me my ignorance, everything looks familiar but it's very different...Thanks a lot!
Old Maya MEL guy here, forgive me my ignorance, everything looks familiar but it's very different...Thanks a lot!
Houdini Lounge » Incremental rotation with a "+=" counter?
- kriegmesser74
- 41 posts
- Offline
Wow... Again I can't thank you enough... If I can annoy you for just a little bit? Just a few clarifications? I'm adding some comments just to know what's going on...
1. for x in range(0, len(sources)):
#You are looping over the full lenght (size)of an array of objects?
2. source_obj = hou.node(sources x)
# Is X an element of the array?
3. dest_obj.parm("tx").set(orig_t 0)
# What does 0 stands for? If I had to guess, I would say first element (or field) of the translation Matrix responsible for X position in world space coordinates?
Sorry for delayed reply... stupid survivor mode daily job... and the time zone difference is huge...Sorry for deletion of square brackets... somehow this text editor deletes them and everything inside of them when I submit reply...
1. for x in range(0, len(sources)):
#You are looping over the full lenght (size)of an array of objects?
2. source_obj = hou.node(sources x)
# Is X an element of the array?
3. dest_obj.parm("tx").set(orig_t 0)
# What does 0 stands for? If I had to guess, I would say first element (or field) of the translation Matrix responsible for X position in world space coordinates?
Sorry for delayed reply... stupid survivor mode daily job... and the time zone difference is huge...Sorry for deletion of square brackets... somehow this text editor deletes them and everything inside of them when I submit reply...
Edited by kriegmesser74 - Sept. 23, 2021 12:48:55
Houdini Lounge » Incremental rotation with a "+=" counter?
- kriegmesser74
- 41 posts
- Offline
Some example of that? Once I tried to use hou.hmath.buildTransform() with extracted parts of two matrices, but the results were not what I expected... probably my fault...
Houdini Lounge » Incremental rotation with a "+=" counter?
- kriegmesser74
- 41 posts
- Offline
Because .worldTransform output matrix, imho, carries around too much "baggage" again, imho, (and it has a tendency to overwrite pre-transforms of children controllers/bones)... And I just need rotations... not position, or scale... expressed anyhow... other parts of the rig are responsible for positions... Is there maybe a way to copy/paste/overwrite parts of one matrix to another? Again thanks a lot!
Houdini Lounge » Incremental rotation with a "+=" counter?
- kriegmesser74
- 41 posts
- Offline
Wow... thanks A LOT... Can this be applied to a null who acts as a controller (parent)of IK goal in reverse foot rig setup? Sorry I didn't mention it's about rigging... This should be applied to each one of controllers in the reverse foot setup hierarchy (from toes to heel or vice versa)... so the bones under the control of IK chains align with FK bones/controllers... huh... Isn't this a bit of a overkill? Somehow feels like this is a level above measly Euler... I was thinking more in a way of grabbing current local rotation value (parm) directly and increasing/decreasing it until two vectors in world space are aligned... But if this is the way (as Mando would said)... who am I to disagree...
Houdini Lounge » Incremental rotation with a "+=" counter?
- kriegmesser74
- 41 posts
- Offline
Thank you for your time... but I'm looking for solution in the object level... (as far as I know SOP is shortcut for "Surface operators" do correct me if I'm wrong) I'm not trying to manipulate geometry per-Se (vertices or polygons)... In my while loop I'm comparing two world space rotations vectors, extracted out of worldTransform Matrix... I guess some pseudo code would look like this:
Counter = 0.01
Object A = hou.(bla bla)
Object B = hou. (bla bla)
Object A X rotation = hou.parm(bla bla)
Object B X rotation = hou.parm(bla bla)
Vector A = Object A X axis worldspace rotation vector (extracted out of worldTransform)
Vector B = Object B X axis worldspace rotation vector (extracted out of worldTransform)
While Vector A and Vector B are not equal
Rotate (increase value)object A X axis by Counter value with +=
If Object A X rotation >= of some value
Rotate (decrease value) object A X axis by Counter value with -=
(until there is a match in vector values)
I guess something like this... Is this even the right approach?
Counter = 0.01
Object A = hou.(bla bla)
Object B = hou. (bla bla)
Object A X rotation = hou.parm(bla bla)
Object B X rotation = hou.parm(bla bla)
Vector A = Object A X axis worldspace rotation vector (extracted out of worldTransform)
Vector B = Object B X axis worldspace rotation vector (extracted out of worldTransform)
While Vector A and Vector B are not equal
Rotate (increase value)object A X axis by Counter value with +=
If Object A X rotation >= of some value
Rotate (decrease value) object A X axis by Counter value with -=
(until there is a match in vector values)
I guess something like this... Is this even the right approach?
Houdini Lounge » Incremental rotation with a "+=" counter?
- kriegmesser74
- 41 posts
- Offline
I'm preparing to dive into a pretty complicated while loop in Python, (yes it HAS to be a while loop) with multiple conditions etc. etc.... How would someone rotate an object by let's say X axis in small increments (precision of let's say 0.01), clockwise and counter clockwise?
Houdini Lounge » Compensating parent bone lenght/pre-transform?
- kriegmesser74
- 41 posts
- Offline
Well I'm still struggling with triple chain IK/FK switch/match HDA function... IK chain works fine just get and set world space positions of target objects, but newest s**tstorm is in the field of world space FK rotations... what method should I use to compensate for the pre-transform in Z position of the child bone (lower arm) i.e. parent bone length? If I use setWorldTransform() with rotation matrix extracted from corresponding IK bone it overwrites pre-transform of the FK bone to zero and my FK chain falls apart. I tried to use buildTransform() to create new matrix from elements of pre-transform translation and IK bone rotations - same thing happens. Maybe the better question would be how to prevent overwriting of pre-transform?
EDIT: Well as it turns out you MUST NOT extract rotations to vector3 value with hou.node.WorldTransform().extractRotate().('srt') and apply it on children bones (what I did)... because when you create the matrix out of that vector3 value with hou.hmath.buildRotate that matrix will destroy/overwrite your much needed bone's pre transform... You must pass "raw" i.e. "complete" matrix4 from WorldTransform(). However you can use this "extract->create->pass" method if bones (for example FK_upper_arm and IK_upper_arm) share the same parent (i.e. null, i.e. space)... ha ha... very funny... Craziest thing is when you MMB on nodes in question after the script/function did it's work, their world transforms/rotations are not even close, but their local transforms/rotations are exactly the same... sigh..
EDIT: Well as it turns out you MUST NOT extract rotations to vector3 value with hou.node.WorldTransform().extractRotate().('srt') and apply it on children bones (what I did)... because when you create the matrix out of that vector3 value with hou.hmath.buildRotate that matrix will destroy/overwrite your much needed bone's pre transform... You must pass "raw" i.e. "complete" matrix4 from WorldTransform(). However you can use this "extract->create->pass" method if bones (for example FK_upper_arm and IK_upper_arm) share the same parent (i.e. null, i.e. space)... ha ha... very funny... Craziest thing is when you MMB on nodes in question after the script/function did it's work, their world transforms/rotations are not even close, but their local transforms/rotations are exactly the same... sigh..
Edited by kriegmesser74 - Aug. 30, 2021 18:06:08
Houdini Lounge » Noob's question about animation clip on dop network
- kriegmesser74
- 41 posts
- Offline
Well the Arch Mage has spoken... good luck everybody (I hear a whistle before climbing out of trenches in WW1)... just kidding... a tutorial would be nice...
Edited by kriegmesser74 - Aug. 25, 2021 10:29:54
Houdini Lounge » Noob's question about animation clip on dop network
- kriegmesser74
- 41 posts
- Offline
By baking animation I was thinking on saving point cache (in 3DS Max) or alembic cache (Maya) or "whatever is called" cache in Houdini... "Baking" of animation to the vertex level of the geometry, i.e. writing positions of vertices per frame or tick, to a file on HDD or SSD... enables you to delete the rig,(optimize scene), or to stop simulating the first object as well as rewinding the animation or rigid body simulation back and forth so you can choose the exact frame when your character touches the canvas... of the trampoline's semi/dynamic cloth rig (no idea how to rig/make that in Houdini, maybe something like this https://www.youtube.com/watch?v=1nSR4LIsPAs), so the character stops being just a bunch of animated vertices, and becomes full fledged collision object with a mass etc. I.E you can choose when one animation/simulation ends - a character... and second one begins... -the trampoline rig animation/simulation... This is what I meant by doing it in layers... maybe events would be a better term... Although the Houdini is really powerful I,(imho), think it is very VERY unlikely you can simulate all at once... maybe you can but it would most likely last for days... I repeat... never done this in Houdini, I'm focused on rigging inside of it... but this is some general direction...
Houdini Lounge » Noob's question about animation clip on dop network
- kriegmesser74
- 41 posts
- Offline
I've never done something like this in Houdini, but what do you mean by "simulated him"? Simulated how? Hand keyed animation? Mocap? Some sort of rigid body simulation? In either case I think (based on my experience in other packages) that you need to do this in layers... i.e. first simulate/animate the object (in this case a man), maybe bake animation on vertex level, and then do the simulation/cloth part with your model as a collision object...
Houdini Lounge » Get and set world space coordinates/vectors of an Object?
- kriegmesser74
- 41 posts
- Offline
I'm trying to align(move) an end controller of an IK inverse kin to a null object parented to the end(tip) of a FK bone, so I need world space coordinates vector, and I get them with hou.node("/obj/geo1").worldTransform().extractTranslates() ... depending on transform order ('srt' or 'trs') I'm getting different results... right, OK... now the weird thing is, if I move the end controller object in the viewport, the value of the printed vector doesn't change/update? I'm missing something... what? And the .set() function doesn't work on vector3 objects, so what do you use for that purpose?
EDIT: Ok, setWorldTransform does the job, but now I want to limit it only to translation? I don't need rotation, or scaling...
EDIT N.2 Ok guys this is driving me nuts... If I apply .extractTranslates() to target object this basically explodes its matrix and takes only translations (vectors), but I can't figure out how to shove these values into another matrix... is this even possible? Anyone? Anything?
From Ik_Ctrl I'm getting "hou.Matrix4[, , , ]" and I need to change only the fourth row... Do I need to create another (desired) matrix and apply it as a whole package?
EDIT N.3
Well I got it... If this is not the most cumbersome way of getting and setting values and vectors in the world then I'm Einstein himself...
You poor souls are getting and setting world space positions (vector3)of an object (in .obj level) like this:
##Grab the object you want
IK_Target_Obj = hou.node('/obj/L_Arm_IK_Target')
##Explode (Hulk SMASH) the matrix4 in different values and grab only world space position as a Vector3 in one of the transform
##orders...right...ok...
IK_Target_WS_Pos_Vector3 = hou.node('/obj/L_Arm_IK_Target').worldTransform().extractTransform('srt')
##Create/rebuild NEW (WTF!?!?) matrix containing only translate values from a Vector3 you just extracted
##while all the other values are zeroed out
New_Position_Matrix = hou.hmath.buildTranslate(IK_Target_WS_Pos_Vector3)
##Slap the new matrix on the object you want to move to the target position while keeping other values intact(scale, rotate etc)
IK_CTRL_Obj = hou.node('/obj/L_Arm_IK_CTRL').setWorldTransform(New_Position_Matrix)
So this squeezing of vectors out of matrices and again creating new matrices out of squeezed vectors only to be passed as a new position/rotation/scale value is really, REALLY, REALLY, unnecessary for us the poor users...
I want something like this:
IK_Target_WS_Pos_Vector3 = hou.node('/obj/L_Arm_IK_Target').GetWorldPosition()
Why do I need to fiddle around with matrices and vectors? I don't know much (but I'm forced to learn) about matrices and vectors and frankly, I don't care and don't want to know...
EDIT: Ok, setWorldTransform does the job, but now I want to limit it only to translation? I don't need rotation, or scaling...
EDIT N.2 Ok guys this is driving me nuts... If I apply .extractTranslates() to target object this basically explodes its matrix and takes only translations (vectors), but I can't figure out how to shove these values into another matrix... is this even possible? Anyone? Anything?
From Ik_Ctrl I'm getting "hou.Matrix4[, , , ]" and I need to change only the fourth row... Do I need to create another (desired) matrix and apply it as a whole package?
EDIT N.3
Well I got it... If this is not the most cumbersome way of getting and setting values and vectors in the world then I'm Einstein himself...
You poor souls are getting and setting world space positions (vector3)of an object (in .obj level) like this:
##Grab the object you want
IK_Target_Obj = hou.node('/obj/L_Arm_IK_Target')
##Explode (Hulk SMASH) the matrix4 in different values and grab only world space position as a Vector3 in one of the transform
##orders...right...ok...
IK_Target_WS_Pos_Vector3 = hou.node('/obj/L_Arm_IK_Target').worldTransform().extractTransform('srt')
##Create/rebuild NEW (WTF!?!?) matrix containing only translate values from a Vector3 you just extracted
##while all the other values are zeroed out
New_Position_Matrix = hou.hmath.buildTranslate(IK_Target_WS_Pos_Vector3)
##Slap the new matrix on the object you want to move to the target position while keeping other values intact(scale, rotate etc)
IK_CTRL_Obj = hou.node('/obj/L_Arm_IK_CTRL').setWorldTransform(New_Position_Matrix)
So this squeezing of vectors out of matrices and again creating new matrices out of squeezed vectors only to be passed as a new position/rotation/scale value is really, REALLY, REALLY, unnecessary for us the poor users...
I want something like this:
IK_Target_WS_Pos_Vector3 = hou.node('/obj/L_Arm_IK_Target').GetWorldPosition()
Why do I need to fiddle around with matrices and vectors? I don't know much (but I'm forced to learn) about matrices and vectors and frankly, I don't care and don't want to know...
Edited by kriegmesser74 - Aug. 22, 2021 09:33:57
Houdini Lounge » Integrating Pycharm with houdini tutorial?
- kriegmesser74
- 41 posts
- Offline
After a LOT of mumbo-jumbo with visual code studio I managed it to integrate with Houdini... Jesus Christ man... first download houdini plug-in((!!!) WHY THE F***K do we need a plug-in for this??!!?!) then assign VCS as external text editor, then choose houdini's version of python as interpreter, then write some MORE code in VCS to set path variables (which I didn't remember because I don't care) so you could have full integration i.e. import hou module and auto suggestion... and then FINALLY after more setting of color themes and size of fonts I can have full screen, medium font size solution with a good dark (i.e. black) background so I don't cry my eyes out...
Sorry for the language... but couldn't SideFX integrate some of these solutions with Houdini by default? At least ones who are free after all? Did I mention that I have tried to integrate SublimeText, Pycharm and one more who I didn't remember... they did not work either... and lack of instructions or tutorials is abysmal... few years old... different versions etc. etc.
Sorry for the language... but couldn't SideFX integrate some of these solutions with Houdini by default? At least ones who are free after all? Did I mention that I have tried to integrate SublimeText, Pycharm and one more who I didn't remember... they did not work either... and lack of instructions or tutorials is abysmal... few years old... different versions etc. etc.
Edited by kriegmesser74 - Aug. 13, 2021 13:31:21
Houdini Lounge » Array module?
- kriegmesser74
- 41 posts
- Offline
Is this module https://www.w3resource.com/python/library/python_array_module.php [www.w3resource.com] part of this list https://ikrima.github.io/houdini_additional_python_docs/modules.html [ikrima.github.io] ... maybe I overlooked but it seems it isn't... If it's not can I add it and how? Will it cause problems? I suppose it involves downloading and copying it somewhere but I need some guidance...
-
- Quick Links