Visping Posted January 5, 2013 Posted January 5, 2013 I am trying to use the Surface constraint to make pupils move on an irregular eye. I have got everything working exept for one detail: I can´t make the pupils align in the direction of the surface normals. As I understand it, the Property Translate only is the one controlling this. I have set it to ON but it still does´t behave as I want. I have tried to change all of the properties I could find, both for the constraints and for the bones I use. I also made sure that the normals were pointing outwards. I have run out of ideas... what am I missing here? This is the current alignment of the bone that controls the pupil mesh. Note that it is pointing in the same direction as the aiming bone. This is the desired alignment of the bone that controls the pupil mesh. Note that it is pointing in the same direction as the surface mesh normals. This is my setup for the surface constraint. Quote
markw Posted January 5, 2013 Posted January 5, 2013 I'm afraid I can't answer your specific questions but if you have the Extras DVD and are curious, there's a tutorial on how to do pupils on non spherical eyes in there, (though it may not be a suitable method for your current model); Extras DVD > Tutorials > Bootcamp > Eye Tut.html This is the same method used I believe for the eyes in the KeeKat model that comes with A:M. If you don't have a copy of this DVD, its well worth getting one as its a veritable goldmine of info and will repay the time spent in exploring its secrets. Quote
Visping Posted January 5, 2013 Author Posted January 5, 2013 Thank you for the tips. I have the Extras DVD so I will see if I can see how it is done there Quote
Visping Posted January 5, 2013 Author Posted January 5, 2013 I'm afraid I can't answer your specific questions but if you have the Extras DVD and are curious, there's a tutorial on how to do pupils on non spherical eyes in there, (though it may not be a suitable method for your current model); Extras DVD > Tutorials > Bootcamp > Eye Tut.html This is the same method used I believe for the eyes in the KeeKat model that comes with A:M. If you don't have a copy of this DVD, its well worth getting one as its a veritable goldmine of info and will repay the time spent in exploring its secrets. You were right, the tutorial Tutorials\Bootcamp\Eyetut.htm do not cover the Surface constraints problem. The tutorial covers how to make one eye sqashed. In my case both eyes share the same eyeball and I need the pupils t slide on the surface thus enabeling me to slide both pupils to same side and squinting etc... However on the ExtrasDVD I found the model Mikkemusse (ExtrasData\Models\Actors\Cartoon\MikkeMusse) that seem to use the tecnique I am going for. I.E. a separate pupil sliding along an eyeglobe. The rig for Mikkemusse is quite advanced and the names of most bones is in macedonian (!) witch is hard for a swede like me to understand. I have tried to dissect the Mikkemusses Relationships to see if I could get some clarity in this. But I have failed to find any relationship using Surface constraint. Maybe it is a completeley different tecnique used... Still my problem remains, how to get the constrained bone to orient like the surface normals? Quote
Hash Fellow robcat2075 Posted January 5, 2013 Hash Fellow Posted January 5, 2013 I haven't investigated the constraint problem, but a possible alternate solution to your pupil placement problem is to use bitmap images of them in Projection Map materials, whose placement can be animated. see this thread: http://www.hash.com/forums/index.php?s=&am...st&p=313694 Quote
Visping Posted January 5, 2013 Author Posted January 5, 2013 Thank you for the tip. I will have that as a backup plan. However, I am so close to a solution that I'm not ready to give up yet. It says in the reference guide that it is possible to do what I want. I just need to find out what little detail I am missing. From the AM reference guide page 162: "Translate Only Default: OFF. Normally the surface constraint positions the object to be on the surface and aligns it in the direction of the surface normal as well. To simply translate it to the surface, but not orient it on the surface, turn this property ON." Quote
Hash Fellow robcat2075 Posted January 5, 2013 Hash Fellow Posted January 5, 2013 Also make sure the "compensate mode" button is OFF when you select the target. Quote
Visping Posted January 6, 2013 Author Posted January 6, 2013 To make sure I didn´t miss the Compensate mode button I deleted the constraint to redo a new constraint. (When editing the relationship the Compensate mode button initially is OFF....) I select the bone to constraint. At the moment i get the Eyedropper to select the "Surface target" it is automatically turned ON. I then I clicked the Compensate mode button so it is OFF before selecting the "Surface target" with the eyedropper. So far so good. Next I want to select the "Surface aim target" from the properties combo box. Of all the bones I have to choose from, the only one that is not present is the one I need to select. --- I then tried to move the constrained bone so it was no longer a child of the "surface aim target bone". Now it was pickable in the combo box. But now the bone didn´t follow at all...... So I put the constrained bone back in the hierarchy and it worked again (minus the orientation to normals) --- So I really don´t know where I stand at this moment. Could it be a bug in AM? Quote
Hash Fellow robcat2075 Posted January 6, 2013 Hash Fellow Posted January 6, 2013 Good news and bad news.... I got it to mostly work... in v13 My test in v15 and v17 looks like it's at least partly broken. I'll look at this some more. It's definitely not working properly in v17 for me. Quote
Hash Fellow robcat2075 Posted January 6, 2013 Hash Fellow Posted January 6, 2013 Hold on ... I think it's an update problem, for me anyway. Try this. Make the constraint with no offsets and "Translate Only" OFF. After you choose the Aim Target Bone, something goes wrong and some offsets are created. Set all the Translate and rotation offsets in the Constraint Properties to 0 then set X rotation offset to -90 that makes it work as advertised in v17 Quote
Visping Posted January 6, 2013 Author Posted January 6, 2013 YESSS! Now I got it working. I needed to do this: 1: I deleted the offsets that was automatically (wrongfully) created by setting them all to 0 exept for the x rotation offset that I had to set to -180 2: I set the Tanslate Only to OFF (Allthough it should be set to ON according to the documentation) Thank you very much for helping me solve this mystery. I will file a bug report so it can be fixed. Quote
Fuchur Posted January 6, 2013 Posted January 6, 2013 YESSS! Now I got it working. I needed to do this: 1: I deleted the offsets that was automatically (wrongfully) created by setting them all to 0 exept for the x rotation offset that I had to set to -180 2: I set the Tanslate Only to OFF (Allthough it should be set to ON according to the documentation) Thank you very much for helping me solve this mystery. I will file a bug report so it can be fixed. Good find. Please post it at http://www.hash.com/reports (you need to register again there). See you *Fuchur* Quote
mtpeak2 Posted January 6, 2013 Posted January 6, 2013 If I'm understanding your issue correctly, this is not a bug. The base AND the end of the bone are being constained to the surface. This allows, for example, a model bone to contour the surface of another model. Translate only, only constrains the base of the bone to the surface. Having this turned off will constrain both the base and the end of the bone to the surface, and the roll handle will point in the direction of the normals. If you post a project, I'll take a look at it. Quote
Visping Posted January 6, 2013 Author Posted January 6, 2013 Yes after reading the reference guide again I understand that the Translate Only works exactly as I should. I missunderstood this. But since the offsets by some reason was automatically set to other than 0 the symptoms made me confused. The reference guide isn´t that easy to read as english is not my first language So it was my misstake mixing up the values for Translate only. But still it seems to be a problem with the offsets when creating the constraints. I wish it was described as you put it when I read about it in the reference guide... Well, my problem is solved, but if it can help anybody else with a similar problem I will post two models. One with the problem and one after the problem has been solved. SurfaceConstraintProblem.mdl SurfaceConstraintProblemSolved.mdl Thanks everybody who took your time to help me out! Quote
markw Posted January 6, 2013 Posted January 6, 2013 ...The reference guide isn´t that easy to read as english is not my first language ... Don't worry Visping, I've found its not always that easy to understand when English is your first language! Glad you got it solved. Quote
mtpeak2 Posted January 7, 2013 Posted January 7, 2013 The offsets are created to align the bone/geometry to the geometry of the surface. On another note, the reason you were unable to select the left eye as an aim target is, there are pose sliders in the user properties that need to be deleted, even though the relationships were deleted in the user property folder (model properties>user properties). Once I deleted the pose sliders, I was able to select the left eye as a target, without changing the hierarchy. Quote
Visping Posted January 8, 2013 Author Posted January 8, 2013 OK, I learn something new everyday, thanks! Quote
Gerry Posted January 9, 2013 Posted January 9, 2013 Congratulations on getting that solved. I'm pretty sure I had a similar problem a few years ago but I couldn't quite remember how it was resolved. Good luck with your project! Quote
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.