{"id":1089,"date":"2016-06-01T22:53:38","date_gmt":"2016-06-01T22:53:38","guid":{"rendered":"http:\/\/avastar.online\/?page_id=1089"},"modified":"2016-06-01T22:53:38","modified_gmt":"2016-06-01T22:53:38","slug":"weight-maps","status":"publish","type":"page","link":"https:\/\/avalab.org\/avastar\/legacy\/reference\/create-an-attachment\/weight-maps\/","title":{"rendered":"Inspecting the weight maps"},"content":{"rendered":"<h3>Inspecting the Weight Maps<\/h3>\n<p>Lets say you have generated the Weights for your mesh during the binding step above (you used Bones as weight source). Blender does a rather good job on automatically determining the weights. However the results are sometimes not yet perfect. Hence the very first thing that you must do now is to check if the Mesh behaves well and follows the animation of the armature. Here are a few tips for getting started.<\/p>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Inspecting Weights in Edit mode<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>We have many ways to inspect the weight maps. I believe this one is the easiest method:<\/p>\n<ul>\n<li>Select your mesh.<\/li>\n<li>Enter Edit Mode.<\/li>\n<li>Open the Properties sidebar (type &#8220;n&#8221;).<\/li>\n<li>Enable Show Weights.<\/li>\n<\/ul>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_21156\" style=\"width: 342px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/show_weights1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21156\" class=\"wp-image-21156 size-full\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/show_weights1.png\" alt=\"show_weights\" width=\"332\" height=\"183\" \/><\/a><p id=\"caption-attachment-21156\" class=\"wp-caption-text\">Enable display of weight maps in edit mode from the properties sidebar<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<ul>\n<li>Open the Object data Properties.<\/li>\n<li>Navigate to the Vertex Groups list.<\/li>\n<\/ul>\n<p>Now you can scroll through the list of vertex groups and you instantly see the current weight group displayed on your mesh. In the image i have selected the mPelvis weight group, thus the weight map display changes on the skirt.<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_21157\" style=\"width: 342px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/show_weights2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21157\" class=\"wp-image-21157\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/show_weights2.png\" alt=\"show_weights2\" width=\"332\" height=\"212\" \/><\/a><p id=\"caption-attachment-21157\" class=\"wp-caption-text\">The selected weight Map is shown on the mesh<\/p><\/div>\n<\/div>\n<\/div>\n<\/div><\/div>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Inspecting Weights in Weight Paint mode<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>In edit mode it is not possible to pose the mesh while inspecting the weights. However, since posing the character is very often needed to find bad weights, Blender has implemented select and move bones when the Mesh is in <em><span style=\"color: #ff6600;\">Weight Paint Mode<\/span><\/em><\/p>\n<ul>\n<li>Switch your mesh to Object Mode.<\/li>\n<li>In the Tool Shelf (Avastar Tab) locate the &#8220;Show Bones&#8221; Section (in the Skinning &amp; Rigging panel).<\/li>\n<li>Select the &#8220;Skin&#8221; Preset:<\/li>\n<\/ul>\n<p><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/preset_skinning.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21160\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/preset_skinning.png\" alt=\"preset_skinning\" width=\"189\" height=\"174\" \/><\/a><\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_21161\" style=\"width: 233px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/weight_paint_mode.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21161\" class=\"wp-image-21161 size-full\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/weight_paint_mode.png\" alt=\"weight_paint_mode\" width=\"223\" height=\"338\" \/><\/a><p id=\"caption-attachment-21161\" class=\"wp-caption-text\">The Mesh after the &#8220;Skin&#8221; Preset is selected<\/p><\/div>\n<p>When you now select an mBone (blue) Blender also switches to the corresponding weight map.<\/p>\n<\/div>\n<\/div>\n<\/div><\/div>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<h4>Using a Pose for Inspection<\/h4>\n<\/div>\n<div class=\"span6 rhcol\"><\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>While in Weight Paint mode, you can also Pose the mBones. But beware: Avastar&#8217;s mBones can only be rotated! they can not be moved.<\/p>\n<p>So this mode is not very useful for creating poses for your mesh. But it is good for quickly testing how rotating a single bone will affect the mesh<\/p>\n<p><span style=\"color: #ff6600;\"><strong>Note:<\/strong><\/span> For our purpose it is sufficient to have the Hip bones rotated by +\/- 25\u00b0. I also rotated both lower legs back by 25\u00b0. This gives a good test pose that is good enough for inspecting where the weights need to be fixed.<\/p>\n<div class=\"symple-box  yellow center \" style=\"text-align:left;\"> \n<strong><span style=\"color: #ff6600;\">Important:<\/span><\/strong> This was just a quick test. We will not continue to use this pose! There is a much better method (see &#8220;create a walk animation for testing&#8221;) below.<br \/>\n<\/div>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_21171\" style=\"width: 267px\" class=\"wp-caption aligncenter\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21171\" class=\"wp-image-21171 size-full\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/walkNumbers.png\" alt=\"walkNumbers\" width=\"257\" height=\"381\" \/><p id=\"caption-attachment-21171\" class=\"wp-caption-text\">fast walk:<br \/>(h)eight == (s)tep length<br \/>\u03b2 == 50\u00b0<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Details: The right Step Length<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<p>Of course there is no single true answer to this. However i found the following works pretty well for human characters (with the proportions of the default SL Avatar):<\/p>\n<ul>\n<li>For a running walk cycle the maximum distance between the feet is approximately equal to 1.5*length of the legs (that is a very fast running though). This translates to about \u03b2=75\u00b0 for the maximum angle between the legs (see image above).<\/li>\n<li>For a fast (energetic) walk the maximum distance between the feet is approximately equal to the length of the legs. That translates to about \u03b2=50\u00b0 for the maximum angle between the legs.<\/li>\n<li>For a slow walk (and for a fashion walks as well) the maximum distance between the feet is approximately about half the length of the legs. And that translates to a maximum angle of about \u03b2=30\u00b0 between the legs.<\/li>\n<\/ul>\n<p>Of course when you are working on a Ballet tutu then you may need to test much higher angles as well. So, you see, there is no one fits all answer. But for our purpose a maximum angle of 50\u00b0 between the legs should be working very well.<\/p>\n<\/div><\/div>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Advanced Tip: Create a walk animation for testing<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<p>Here is a nice little trick that can help you a lot while you are weighting your model. The key idea is to create a very basic animation cycle that contains the extreme positions that you plan to support. Then use the timeline to scrub repeatedly over your animation to check your weighting.<\/p>\n<p>This approach has a few very cool benefits:<\/p>\n<ul>\n<li><span style=\"color: #ff6600;\">Your poses are well defined:<\/span> So you can step to a certain time frame and get the pose for that frame. Thus you can quickly check how a certain change in the weights influences other poses.<\/li>\n<li><span style=\"color: #ff6600;\">You can &#8220;see&#8221; your mesh in action:<\/span> So you can check if the mesh transitions work as anticipated.<\/li>\n<li><span style=\"color: #ff6600;\">You can change the pose in context:<\/span> So you even can now work and keep in Edit mode all the time. When you need to change a bone position, then just scrub on the Timeline without leaving Edit mode.<\/li>\n<li><span style=\"color: #ff6600;\">You can play the timeline:<\/span> thus you can even edit your mesh while the animation runs.<\/li>\n<\/ul>\n<h4>The Timeline Copy Tool<\/h4>\n<p>Sparkles provides a function which can be used for quickly making simple Animation cycles. here is the tool manual page:<\/p>\n<a href=\"http:\/\/blog.machinimatrix.org\/sparkles\/timeline-copy-tool\/\" class=\"symple-button medium gold   \" target=\"_self\" title=\"Visit Site\" style=\"border-radius:3px\" rel=\"\"><span class=\"symple-button-inner\" style=\"border-radius:3px\">Timeline Copy Tool<\/span><\/a>\n<\/div><\/div>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Advanced Tip: Importing an animation for testing<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>Of course you can do this as well. There are thousands of ready made Animations available for Second Life. And Avastar provides a feature to import them and add them to an Avastar rig. The procedure might first look a bit tedious, but you will quickly find it working like a charm.<\/p>\n<p style=\"text-align: center;\"><a href=\"\/help\/motion-transfer\/\" class=\"symple-button large green   \" target=\"_self\" title=\"Visit Site\" style=\"border-radius:3px\" rel=\"\"><span class=\"symple-button-inner\" style=\"border-radius:3px\">Motion Transfer Tool<\/span><\/a>\n<\/div>\n<div class=\"span6 rhcol\">\n<p><iframe loading=\"lazy\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/McDKF2ksHXc?feature=oembed\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n\n<\/div>\n<\/div>\n<\/div><\/div>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Tip: Apply weights in edit mode<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<h4>Apply weights in edit mode<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>I have shown you before that you can inspect weights in edit mode. However we realize quickly that although the weights are displayed perfectly, the mesh does not behave as expected. It looks like the armature does not influence the mesh in edit mode.<\/p>\n<p>This is because the Armature modifier has an option for <em><span style=\"color: #ff6600;\">Adjust Edit Cage to Modifier Result<\/span><span style=\"color: #ff6600;\">(1)<\/span><\/em>. This option is off by default. So we have to enable it:<\/p>\n<p><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/enable_edit_cage.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-21181\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/enable_edit_cage.png\" alt=\"enable_edit_cage\" width=\"340\" height=\"202\" \/><\/a><\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_21186\" style=\"width: 344px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/edit_posed_2.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-21186\" class=\"wp-image-21186 size-full\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/edit_posed_2.png\" alt=\"edit_posed_2\" width=\"334\" height=\"310\" \/><\/a><p id=\"caption-attachment-21186\" class=\"wp-caption-text\">left: Edit Cage not adjusted<br \/>right:Edit Cage adjusted<\/p><\/div>\n<p>As soon as the modifier option is set, the mesh will follow the pose exactly like it does in Weight Paint mode.<\/p>\n<\/div>\n<\/div>\n<p><em><span style=\"color: #ff6600;\">(1):<\/span><\/em> In simple words the Edit Cage is the raw mesh, without any modifier applied and with no constraints applied. Actually the edit cage may look quiet different from the final mesh. The <em><span style=\"color: #ff6600;\">Adjust Edit Cage to Modifier Result<\/span><\/em> applies the current modifier&#8217;s influence on the mesh to the edit cage. Thus when this option is enabled the edited Mesh will look like the final rendered mesh, although you only can edit the raw vertices of the Mesh at any time.<\/p>\n<\/div><\/div>\n<p>I assume that you have added a simple walk cycle as i explained in the Advanced Tip above: Testing by scrubbing (see above) And you have prepared the timeline accordingly. However if you find the creation of the walk cycle is too much for a first try, then you always can move the bones manually as well instead of scrubbing along the timeline.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inspecting the Weight Maps Lets say you have generated the Weights for your mesh during the binding step above (you used Bones as weight source). Blender does a rather good job on automatically determining the weights. However the results are sometimes not yet perfect. Hence the very first thing that you must do now is [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":351,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[6],"tags":[],"class_list":["post-1089","page","type-page","status-publish","hentry","category-reference"],"_links":{"self":[{"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/pages\/1089","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/comments?post=1089"}],"version-history":[{"count":0,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/pages\/1089\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/pages\/351"}],"wp:attachment":[{"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/media?parent=1089"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/categories?post=1089"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/tags?post=1089"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}