{"id":2275,"date":"2017-09-30T15:32:50","date_gmt":"2017-09-30T15:32:50","guid":{"rendered":"http:\/\/avastar.online\/?page_id=2275"},"modified":"2022-06-29T21:58:11","modified_gmt":"2022-06-29T21:58:11","slug":"snap-weights","status":"publish","type":"page","link":"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/tool-box\/mesh\/weight-tools\/snap-weights\/","title":{"rendered":"Snap weights"},"content":{"rendered":"<div class=\"row-fluid\">\n<div class=\"rhcol span10\">\n<h2><image src=\"\/avastar\/300\/wp-content\/uploads\/2022\/03\/approve_logo_300.png\" style=\"width:120px;vertical-align:middle;margin-left:0px;margin-right:10px;\"><\/image> Snap Weights<\/h2>\n<\/div>\n<div class=\"rhcol span2\">\n<a class=\"mamap\" href=\"\/wp-content\/uploads\/2022\/06\/300-map-weight-tools-align-weights.png\" target=\"_blank\"><img decoding=\"async\" alt=\"\" src=\"\/wp-content\/uploads\/2022\/06\/300-map-weight-tools-align-weights.png\" \/><\/a>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When 2 meshes have adjacent edges, then in almost every case you may want to make sure that the vertices match perfectly. This is the case for the Skirt and the Top in the image.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><img decoding=\"async\" class=\"alignleft wp-image-44081 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1190.png\" alt=\"\" width=\"345\" height=\"466\" srcset=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1190.png 345w, https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1190-222x300.png 222w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>However, sometimes you find that the meshes behave different when posed, such that for example a gap shows up.<\/p>\n<p>The reason for this gap is that the weight maps of the two meshes differ, so they move slightly different and diverge with increasing pose transformations .<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_44082\" style=\"width: 355px\" class=\"wp-caption alignleft\"><img decoding=\"async\" aria-describedby=\"caption-attachment-44082\" class=\"wp-image-44082 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1191.png\" alt=\"\" width=\"345\" height=\"466\" srcset=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1191.png 345w, https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1191-222x300.png 222w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><p id=\"caption-attachment-44082\" class=\"wp-caption-text\">A Gap shows up when posing the rig. Adjacent weight maps do not match<\/p><\/div>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When we display the related weight maps for both meshes, then we can already see how the map colors differ(Here shown for the mPelvis bone).<\/p>\n<p>Here the upper border of the skirt is colored in red, while the lower edge of the top is colored in green: The weight maps differ a lot in this case.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><img decoding=\"async\" class=\"alignleft wp-image-44083 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1192.png\" alt=\"\" width=\"345\" height=\"466\" srcset=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1192.png 345w, https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1192-222x300.png 222w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>This is where the Align to rigged functions comes as a rescue, as it simply makes sure that adjacent vertices on both meshes have exactly the same weights.<\/p>\n<p>Lets select the border vertices of the mesh on which we want to fix the weight maps (i chose the top here):<\/p>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span> <\/strong>Actually the tool does not take an average weight, but it copies the weights from the adjacent mesh (the Skirt-Mesh in this case).<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><img decoding=\"async\" class=\"alignleft wp-image-44084 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1193.png\" alt=\"\" width=\"345\" height=\"466\" srcset=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1193.png 345w, https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1193-222x300.png 222w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In the Toolbox (Avastar Panel) we find the Weight tools section <span style=\"color: #ff6600;\"><em>Align to Rigged<\/em><\/span><\/p>\n<p>As soon as we click the operator button, the weights get corrected&#8230;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><img decoding=\"async\" class=\"alignleft wp-image-44085 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1194.png\" alt=\"\" width=\"345\" height=\"396\" srcset=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1194.png 345w, https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1194-261x300.png 261w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>So when you display the related weight maps of both Meshes after the Weight alignement is done, then you now see a smooth transition of the weights between the top and the skirt.<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><img decoding=\"async\" class=\"alignleft wp-image-44086 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1195.png\" alt=\"\" width=\"345\" height=\"466\" srcset=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1195.png 345w, https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1195-222x300.png 222w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>The final test is to redo the pose and see. Obviously now the weights are identical along the border edges of the skirt and the Top, no more gaps occur.<\/p>\n<p>Mischief accomplished.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><img decoding=\"async\" class=\"alignleft wp-image-44087 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1196.png\" alt=\"\" width=\"345\" height=\"466\" srcset=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1196.png 345w, https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1196-222x300.png 222w\" sizes=\"(max-width: 345px) 100vw, 345px\" \/><\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Snap Weights When 2 meshes have adjacent edges, then in almost every case you may want to make sure that the vertices match perfectly. This is the case for the Skirt and the Top in the image. However, sometimes you find that the meshes behave different when posed, such that for example a gap shows [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":44081,"parent":6825,"menu_order":1,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-2275","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/2275","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/comments?post=2275"}],"version-history":[{"count":4,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/2275\/revisions"}],"predecessor-version":[{"id":44090,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/2275\/revisions\/44090"}],"up":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/6825"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/media\/44081"}],"wp:attachment":[{"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/media?parent=2275"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/categories?post=2275"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/tags?post=2275"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}