thrasherstudios77 Posted March 25, 2003 Share Posted March 25, 2003 waz up I am starting to rig my character and was wondering if Houdini has something similiar to Maya' Point Constraints, Aim Constraints, and Orient Constraints. Basically what these constraints do is you can take one object and constrane it to another object, very useful for character rigging. Here is an example of an Aim constriant. If you take a null object and aim constrian a sphere to it with an iris texture applied , you basically can move the null object around and the iris of the eye would always be looking at it. The point and orient constraints are a bit different. If a box is point constrained to a sphere, where ever the sphere goes the box follows. And if the box were orient constrained to the sphere, when the sphere rotates the box would rotate the same amount of degrees If Houdini doesn't half these constraints built into it is there a way to simulate these constraints using something like chops or in OBJ or SOPs Thanx Quote Link to comment Share on other sites More sharing options...
Jason Posted March 25, 2003 Share Posted March 25, 2003 The orient constraint can be done fairly easily using the "Look At" state - which modifies the "lookat" in the object transforms. Other than this, you're basically in expression-land or, more appropriately, CHOPland. Use the Object CHOP and perform some operation there and export the override constraints back over the original. I haven't tried it much but I get a LOT of infinite recursion errors, whether I set the export to "Reference and Channel names" or "Target and Channel Names". Surely I can't be so wrong? One way round should work, yes? I believe Houdini could benefit hugely from a viewport Constraint operation which would create and export and maintain these CHOPs for you. But it doesn't mean you can't do it now, it's just a little more nittygritty and manual. Tell us if you have any luck! Jason Quote Link to comment Share on other sites More sharing options...
thrasherstudios77 Posted March 25, 2003 Author Share Posted March 25, 2003 Jason- Thank you for the info. It sounds like there is a way to achieve constraints in Houdini, cool I will play around with the CHOPs method. One other question though, in Maya you can have a single object constrainted to multiple objects. When you do this in Maya a weighting system is built between the constained object and the multiple constraining objects. You can set this weighting to a percentage, like 100 percent goes to one constrainer or you could set the weighting to 50 percent sharing the weighting, giving half of the weighting to one constrainer and the other half to the other one. In this set up the constrained object would end up half way between the two constraning objects. Here is what I am trying to do: I am rigging the wing of an eagle. I am using a twist effector for the wing and some IK chains. Anyways I want my twist effector to be constrained between multiple null objects. The first null object would be placed at the tip of the wing and second null placed near the side of the eagle and the other near and towards the back. The idea is that I can change the weighting between all the nulls. If null one has 100 percent weighting the wing would be in the fully extended position, if null 2 had the full weight the wing would be in the tucked at the side position and so on. So for animating all i have to do is key the weighting and the wing would move accordingly. So, is there a way to do this type of weighting setup using CHOPs. Mahalo Ben Quote Link to comment Share on other sites More sharing options...
Jason Posted March 25, 2003 Share Posted March 25, 2003 My first instinct was to use the Blend Object which will allow you to create a third Null at any bias point between your other 2 nulls. 100% constraining to this could be done then as before. Blending 2 Nulls positions in CHOPs is easy too - 2 Object CHOPs, and then a Math CHOP - Combine: Average and export that. Blending orientations in CHOPs takes a little more care because a direct average is not the right way to go. You should convert to quaternion and blend in spherical space instead. I think the Blend Op in Objects does this nicely for you as it is. In fact, there are several pretty handy functions in that Blend Op. Check it out - it may help you. Even if you parent your effectors to some blends, perhaps? Quote Link to comment Share on other sites More sharing options...
thrasherstudios77 Posted March 25, 2003 Author Share Posted March 25, 2003 Right on Jason thanks again, I am still very new to Houdini and especially to CHOPs. I was wondering what I would be exporting to CHOPs, which channel that is for the rig. In Maya I would use a locator (a null object) and have my IK controlled by it, so the locator's translate and rotate channels are in essence what you are keying for animation . But in Houdini the information for the IK solver is already in CHOPs. So am I exporting from CHOPs (the IK solver) to the null object then to a channel in the Blend SOP and then back to CHOPs to do the math calculations and then export back to the rig somehow. As you probably can figure I am a little lost here. Could you perhaps provide a hip file, very basic just so I could see what channel of the null; ik solver and blend sop is being imported and exported into CHOPs, if not thats cool, in the mean time I am going to try and figure this one out, your technique makes sense to me just not sure how to implement it. Quote Link to comment Share on other sites More sharing options...
edward Posted March 25, 2003 Share Posted March 25, 2003 For your wings, since you simply want to do a point constraint, this is all easily done using the blend object without any chops. Set up your 3 nulls like you described, pipe them into a blend object. Parent the twist affector as a child of your blend object. Remove any existing translate/rotates/pre-transform your have on your twist affector. Now key the weight parameters in the blend object. Quote Link to comment Share on other sites More sharing options...
Jason Posted March 25, 2003 Share Posted March 25, 2003 I'll see what I can do - if I get a moment today. Perhaps edward can tell me if I'm doing something wrong with exporting a single Object CHOP - why I'm getting infinite recursion errors? Is anyone else having this trouble? It seems like it should work fine since the CHOPs override is the last thing to happen in the order of execution, right? It might be a good idea for SESI to provide a quick sample file with some constraint rigs in them. Between the Blend Op and CHOPs, I'm sure you can get some incredibly useful constraints going. Quote Link to comment Share on other sites More sharing options...
edward Posted March 25, 2003 Share Posted March 25, 2003 Here's an example using the blend object. (Houdini 6 .hipnc but will probably load into Houdini 5.5 ok with some warnings) 3pt_blend.zip Quote Link to comment Share on other sites More sharing options...
thekenny Posted March 25, 2003 Share Posted March 25, 2003 Thrasher, Look for file I posted in the Character forum. It has the BlendOP working as a point constraint. You can do it with just two inputs for the BlendOP. You just have to be careful about where to input the rotations so your BlendOp follows your character correctly. I've been doing this kind of thing for a while now setting up legs etc. It helps alot. You can do it as well in Chops but the workflow is not as nice. I bet you it is faster to cook the Chop version and not the BlendOP. I am a feeling the BlendOP is heavier to cook, but I'm guessing. Let me know if you can't find the file. -k Quote Link to comment Share on other sites More sharing options...
thrasherstudios77 Posted March 26, 2003 Author Share Posted March 26, 2003 thekenny- I downloaded a file from the character forum that you posted, it was the rigged character, is this the one you were talking about. I opened up the scene file and saw that you used a Blend OBJ for the rig but I don't understand how it is being used as a constraint, sorry for my ignorance, any help would be apprecaited Ben Quote Link to comment Share on other sites More sharing options...
thekenny Posted March 26, 2003 Share Posted March 26, 2003 Okay, hopefully this will help. I'll describe the foot attaching to the leg. Typically you don't want the ankle to inherit rotations from the leg. So you need to do a point constraint so the foot bone follows the position of the leg and stays attached at the bottom of the last leg bone. Take a null and make it a child of the last leg bone. Make sure the null isn't keeping position when parenting. With that off, all the transformation on the null are relative of the leg bone. Copy the bone's length value and paste it into the tz of the null. Make that copy or reference, which ever you choose to be negative. This will ensure the null is always at the end of the bone. Now make a BlendOP a child of that null. Again make sure it is not keeping position when parenting. It will snap to the null's location. This BlendOP will be the parent of the foot bone chain. Take your Master null for your character, and input it into the BlendOP it will be the second parent. The big trick is to go into the Parents folder of the BlendOP and do the following. Set parent 1 to be only tx ty tz, set parent 2 to be only rx ry rz sx sy sz. This will give you a point constraint for the foot to the last leg bone. Typically your Master Null will have any of the huge rotations/scales which you will apply to the character and it will keep the foot bone chain doing what it needs to do so it can follow along. You can do this for anything... hips, backs, shoulders, light rigs etc. Hope that helps. -k Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.