Can't get the expression in the transforms right. Need to position something relative to a camera.
ch(“../../cmr_render/aperture”) works.
But how do I substitue cmr_render with ch(“../cameraName”) in order to make this node more versatile? Just putting it in obviously won't work…
Thanks for some input! : )
Tom
P.S.:
I could imagine something like
“ch('../../” + chs(“../cameraName”) + “/aperture')”
could work, but didn't.
Found 96 posts.
Search results Show results as topic list.
Technical Discussion » Syntax problem
- Tom Mangold
- 96 posts
- Offline
Houdini Indie and Apprentice » Returning License
- Tom Mangold
- 96 posts
- Offline
Same problem here. Annoying. What's been your solution?
P.S.: Restartinh solved it. Strange.
P.S.: Restartinh solved it. Strange.
Edited by Tom Mangold - Oct. 4, 2019 08:50:15
Technical Discussion » IK FK problems
- Tom Mangold
- 96 posts
- Offline
Houdini for Realtime » Procedural bone creation
- Tom Mangold
- 96 posts
- Offline
Currently doing the skeleton stuff myself. Initially with precreated bone chains which just get aligned with the skeleton. But so far that's great for updating the mesh. Best thing so far is creating FK controls for bones with automatic node alignment and network box drawing. Saves so much time once it's scripted.
Technical Discussion » FBX: Null/Bone/cRegion: Colour
- Tom Mangold
- 96 posts
- Offline
Is the wireframe color of the bone responsible for the weighting? Or does the weighting just takes into acount a bone id and uses the color to visualize it? The color depends on the weighting, but the weighting not on the color, correct?!
Cheers!
Cheers!
Technical Discussion » IK FK problems
- Tom Mangold
- 96 posts
- Offline
Hi there,
I'm running into problems with IK and FK constraints. Even bypassing all the blend stuff in the constraints network and output the “Get World Space” node directly doesn't bring IK to work. Only if constraints are disabled on the bones, IK works nicely again.
Changing the range in the “Get World Space” node to “Use Full Animation Range” from “Use current frame” makes it work, but is that the correct setting? Initially it's “Use current frame”. Don't want to solve one problem and generating another by the wrong solution.
What's correct, or is there a bug with constraints in 17.0.374?
Cheers
Tom
I'm running into problems with IK and FK constraints. Even bypassing all the blend stuff in the constraints network and output the “Get World Space” node directly doesn't bring IK to work. Only if constraints are disabled on the bones, IK works nicely again.
Changing the range in the “Get World Space” node to “Use Full Animation Range” from “Use current frame” makes it work, but is that the correct setting? Initially it's “Use current frame”. Don't want to solve one problem and generating another by the wrong solution.
What's correct, or is there a bug with constraints in 17.0.374?
Cheers
Tom
Technical Discussion » Rotation madness
- Tom Mangold
- 96 posts
- Offline
Managed to rotate the bones correctly. Switched to creating a matrix from lookAt() instead of rotation values directly (vector) and use cracktransform() to extract the rotation. This enables me to change the rotation order while extracting.
v@euler = cracktransform(0, 5, 1, {0, 0, 0}, m);
So far 5 works, but need to check if this is stable.
v@euler = cracktransform(0, 5, 1, {0, 0, 0}, m);
So far 5 works, but need to check if this is stable.
Technical Discussion » Rotation madness
- Tom Mangold
- 96 posts
- Offline
I can't bend my head around this. I could isolate my problem to the rotation order of the Transform SOP and the Bone rotations.
I need to match bone rotations to primitive direction (2-point primitives). I get it to work nicely with using dihedral() for calculating my rotation angles. Unfortunately dihedral() doesn't take into account an up vector.
Let's see… Isn't there LookAt? Quick change in the vex code and my test geo which get's rotated by a Transform SOP points into the wanted direction with the correct up direction. Perfect. Unfortunately the same rotation values in the Bones rotation don't work so well. Bone points somewhere else. Remember? It worked correctly with the dihedral() values. LookAt delivers angles which can be misunderstood.
If I changed the Transform SOP's rotation order I can get the Bone and test geo back to align again, though now both point in the wrong direction. How can I change the LookAt() values that they are bulletproof or can I translate the values with a function like RxRyRz to RyRxRz? Or what are my options?
Dihedral() = correct rotation, no up vector
LookAt() = Theoretically correct, with up vector
Cheers
Tom
I need to match bone rotations to primitive direction (2-point primitives). I get it to work nicely with using dihedral() for calculating my rotation angles. Unfortunately dihedral() doesn't take into account an up vector.
Let's see… Isn't there LookAt? Quick change in the vex code and my test geo which get's rotated by a Transform SOP points into the wanted direction with the correct up direction. Perfect. Unfortunately the same rotation values in the Bones rotation don't work so well. Bone points somewhere else. Remember? It worked correctly with the dihedral() values. LookAt delivers angles which can be misunderstood.
If I changed the Transform SOP's rotation order I can get the Bone and test geo back to align again, though now both point in the wrong direction. How can I change the LookAt() values that they are bulletproof or can I translate the values with a function like RxRyRz to RyRxRz? Or what are my options?
Dihedral() = correct rotation, no up vector
LookAt() = Theoretically correct, with up vector
Cheers
Tom
Edited by Tom Mangold - Sept. 25, 2019 10:03:11
Technical Discussion » Get connected input node from Null in Python
- Tom Mangold
- 96 posts
- Offline
Why does
not work on a null object? Without theI get the “parent”, but can't use its value to setFirstInput later on (error message).
With bone nodes it works flawlessly.
Cheers
Tom
P.S.: null = hou.node(“obj/GEO/childNull”)
P.P.S.: I need to unparent the null and parent it again after doing several transforms. Therefore I need to get the nodes name which is connected to its input.
parent = null.inputs()[0]
not work on a null object? Without the
[0]
With bone nodes it works flawlessly.
Cheers
Tom
P.S.: null = hou.node(“obj/GEO/childNull”)
P.P.S.: I need to unparent the null and parent it again after doing several transforms. Therefore I need to get the nodes name which is connected to its input.
Edited by Tom Mangold - Sept. 23, 2019 09:28:13
Technical Discussion » Alter rigs to match different characters
- Tom Mangold
- 96 posts
- Offline
Thanks, Michael! I will look into Python next week and check whether this is going to work for me. Hope this doesn't turn out to be too complicated. As long as I can update all the Ik solvers on the fly too, I should be fine.
Cheers!
Cheers!
Technical Discussion » Alter rigs to match different characters
- Tom Mangold
- 96 posts
- Offline
Sure, there's not THE one rig and not THE script for all rigs. But I imagine it to be pretty simple. For each real bone there's a shadow bone.
I only alter the shadow bones when I change the rig. Then the script I'm talking about goes through all selected bones. Each bone looks for a 2-point primitive with the same name. Then the bone takes this primitives position, rotation and restlength attribute and applies these to itself. Rig updated. Or?
I don't need a script which realizes that it needs to add additional bones or delete them. Just a basic one which updates the translations and proportions.
I only alter the shadow bones when I change the rig. Then the script I'm talking about goes through all selected bones. Each bone looks for a 2-point primitive with the same name. Then the bone takes this primitives position, rotation and restlength attribute and applies these to itself. Rig updated. Or?
I don't need a script which realizes that it needs to add additional bones or delete them. Just a basic one which updates the translations and proportions.
Technical Discussion » Alter rigs to match different characters
- Tom Mangold
- 96 posts
- Offline
Mmmh. First thanks for the quick answer, but this rather is disappointing to hear since all about Houdini seems to be around non-destructive workflows.
Just for clarification. While this isn't finished, it's close to the current needs. I create a “shadow” rig which resembles the final bone structure. I'm going to create this rig one by one afterwards, but if I need to change it's proportions, I want to alter the shadow rig and have some clever mumbo-jumbo apply this to the existing bone rig. Each “bone” does calculate it's restlength, position and orientation. it also carries it's name which is identical to the real bones name. This applies for the nulls/roots
, too.
Does some script already exists which could be altered or is this new territory?
Cheers!
Just for clarification. While this isn't finished, it's close to the current needs. I create a “shadow” rig which resembles the final bone structure. I'm going to create this rig one by one afterwards, but if I need to change it's proportions, I want to alter the shadow rig and have some clever mumbo-jumbo apply this to the existing bone rig. Each “bone” does calculate it's restlength, position and orientation. it also carries it's name which is identical to the real bones name. This applies for the nulls/roots
Image Not Found
, too.
Does some script already exists which could be altered or is this new territory?
Cheers!
Technical Discussion » Alter rigs to match different characters
- Tom Mangold
- 96 posts
- Offline
Hi there!
I'm currently looking at the Houdini Cat Rigging Series, the Rigging Series (SideFx) and the Rigging Seminar (Delano Athias).
What I haven't seen so far: A way or THE way to alter the finished rigs in case the geo changes or the quad mesh needs to be fit into a dog with different proportions.
With all the dependencies in the rig, parented stuff, etc. this looks like a nightmare, doesn't it? Or is it actually quite simple and I miss something? Would be rather foolish to rebuild the stuff everytime you need it…
Wished each series would come with an additional video covering this subject.
I imagine a simple wire/curve skeleton would be great as the base for a rig to alter and the bone rig just adapts to it as soon as one is comfortable with the new rig dimensions. Guess one needs a script? Or what is the way to do it.
Riggers spend all day long with this subject, don't they?
Cheers
Tom
I'm currently looking at the Houdini Cat Rigging Series, the Rigging Series (SideFx) and the Rigging Seminar (Delano Athias).
What I haven't seen so far: A way or THE way to alter the finished rigs in case the geo changes or the quad mesh needs to be fit into a dog with different proportions.
With all the dependencies in the rig, parented stuff, etc. this looks like a nightmare, doesn't it? Or is it actually quite simple and I miss something? Would be rather foolish to rebuild the stuff everytime you need it…
Wished each series would come with an additional video covering this subject.
I imagine a simple wire/curve skeleton would be great as the base for a rig to alter and the bone rig just adapts to it as soon as one is comfortable with the new rig dimensions. Guess one needs a script? Or what is the way to do it.
Riggers spend all day long with this subject, don't they?
Cheers
Tom
Technical Discussion » How to set vellum grain constraints?
- Tom Mangold
- 96 posts
- Offline
Ah, finally managed to do it.
After the grain_constraints node you need the vellum_constrains node with target_group_type set to points and constraint_type set to glue.
After the grain_constraints node you need the vellum_constrains node with target_group_type set to points and constraint_type set to glue.
Technical Discussion » How to set vellum grain constraints?
- Tom Mangold
- 96 posts
- Offline
I checked the docs, but unfortunately couldn't find anything yet. I wonder how to constrain grains together to achieve some mud/soil like behaviour (clumping) with vellum. Vellum creates the GEO and CON output, so how do I create the constraints? I managed to create attractionweight and -stiffness attributes on the grain particles (before GEO output) in order to come up with different behaviour.
Cheers
Tom
P.S.: If I transform (move) the GEO output, do I also need to move to CON output?
Cheers
Tom
P.S.: If I transform (move) the GEO output, do I also need to move to CON output?
Technical Discussion » String replacement in VEX
- Tom Mangold
- 96 posts
- Offline
How do I replace a string with another string in VEX (e.g. change ../shop/.. to ../shopnet1/.. in the material path)?
Since there is no replace I tried to use re_replace. Not working unfortunately. What do I miss here? What kind of syntax is needed?
Cheers!
Tom
Since there is no replace I tried to use re_replace. Not working unfortunately. What do I miss here? What kind of syntax is needed?
Cheers!
Tom
-
- Quick Links