{"id":500,"date":"2015-10-13T08:19:40","date_gmt":"2015-10-13T08:19:40","guid":{"rendered":"http:\/\/avastar.online\/?page_id=500"},"modified":"2022-06-17T18:23:23","modified_gmt":"2022-06-17T18:23:23","slug":"weight-copy","status":"publish","type":"page","link":"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/","title":{"rendered":"Weight Copy"},"content":{"rendered":"<div class=\"row-fluid\">\n<div class=\"rhcol span11\">\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> Weight Copy<\/h2>\n<\/div>\n<div class=\"rhcol span1\">\n<a class=\"mamap\" href=\"\/wp-content\/uploads\/2021\/01\/map-weight-copy-mesh.png\" target=\"_blank\"><img decoding=\"async\" alt=\"\" src=\"\/wp-content\/uploads\/2021\/01\/map-weight-copy-mesh.png\" \/><\/a>\n<\/div>\n<\/div>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Glossary: Skinning<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<div class=\"row-fluid\">\n<div class=\"rhcol span6\">\n<p><span style=\"color: #ff6600;\"><i>Skinning<\/i><\/span> is the process of creating a connection between a Mesh (the Skin) and a Rig (the Armature). More specifically in the <em>Skinning<\/em> process we connect each bone of the Rig&#8217;s <em><span style=\"color: #ff6600;\">Skeleton<\/span><\/em> to each vertex of a mesh, giving a connection strength named <span style=\"color: #ff6600;\">bone <em>weight<\/em><\/span>. the weight is a percentage of influence where 0% means the vertex fully ignores the bone&#8217;s movement, while 100% means the vertex follows the bone&#8217;s movement as if it where glued to the bone.<\/p>\n<p>The weights of all vertices of a mesh are organized in weight maps with one weight map for each deform bone in the rig. Note that weight maps belong to the Mesh and not to the Armature. this way each mesh object can have its own weight maps. In Blender weight maps technically are Vertex groups.<\/p>\n<p>In practice, for a polygonal mesh character, each vertex is related only to one or very few bones of the Rig. This means on the contrary that each weight map contains only vertices having weight for the related bone.<\/p>\n<\/div>\n<div class=\"rhcol span6\">\n<p>The process of Skinning includes:<\/p>\n<ul>\n<li><em><span style=\"color: #ff6600;\">Binding<\/span><\/em> the Character to the rig in a specific Pose (basically establishing an association between the Rig and the Mesh)<\/li>\n<li><span style=\"color: #ff6600;\"><em>Weighting<\/em><\/span> the Mesh to the Armature bones (create the Vertex Weights)<\/li>\n<\/ul>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span><\/strong> When binding a Mesh, then typically some form of automatic Skinning is applied as well to populate the mesh weight maps with initial data. Those initial weight maps might need manual optimisation.<\/p>\n<\/div>\n<\/div>\n<h4>Special cases<\/h4>\n<ul>\n<li>If a vertex is not weighted to any bone: The vertex is not controlled by the animation rig<\/li>\n<li>If a vertex is weighed to one bone: any weight &gt; 0 will be treated like 100%<\/li>\n<li>If a vertex is weighted to a bone with weight 0%: identical to vertex is not at all weighted to the bone<\/li>\n<li>If a vertex is weighted to 2 or more bones: the sum of all weights of the vertex is always 100%<\/li>\n<\/ul>\n<h4>Must know<\/h4>\n<p>weights are typically not stored as percentage but as fractions (0&#8230;1) with 0 meaning 0% and 1 meaning 100%. While it is possible to make the weight sum for a vertex differ from 1 (100%),\u00a0 Blender actually handles this by automatically normalizing the weights such that the 100% rule (see above) always applies regardless of the weight sum.<\/p>\n\n<\/div><\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>The Weight Copy panel is only available for Custom meshes which are already bound to an Avastar Armature. This panel is used to create or replace weights for your meshes.<\/p>\n<p>The weight Copy panel is admittedly complex. However, once you understand the elements in the panel and how they interact, weight copy should no longer be a mystery for you.<\/p>\n<p>Just for completeness: You see the weight Copy panel only when the active Object (selected Object) is a Mesh Object that is already bound to an Avastar Rig.<\/p>\n<p><span style=\"color: #3366ff;\"><strong>Tip<\/strong><\/span>: We offer more Weight Tools in the <a href=\"\/help\/n-panel\/avastar\/tool-box\/armature\/\">Armature Tool Box Panel<\/a>. Also Blender provides a set of basic weight related functions.<\/p>\n<\/div>\n<div class=\"rhcol span5\"><img decoding=\"async\" class=\"alignleft size-full wp-image-43949\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1249.png\" alt=\"\" width=\"345\" height=\"630\" \/><\/div>\n<\/div>\n<div class='et-box et-warning'>\n\t\t\t\t\t<div class='et-box-content'><strong>Important:<\/strong> Weight maps can only be reliably created for custom meshes. therefore the Weight map control section is not shown for the Avastar system Meshes.<\/div><\/div>\n<h3>A Gentle reminder<\/h3>\n<div class=\"symple-box  yellow center \" style=\"text-align:left;\"> \n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\"><span style=\"color: #ff6600;\"><strong>Avastar can not create perfect weights! <\/strong><\/span><br \/>\nEspecially when you try to copy weights from other meshes in m0st cases you have to refine the weights manually. All that you can achieve is to get a starting point for your work. This may work nicely, or not.<\/div>\n<div class=\"span6 rhcol\"><span style=\"color: #ff6600;\"><strong>For Fitted Mesh: <\/strong><\/span><br \/>\nIf you are trying out the Fitted Mesh Weighting, then we recommend to avoid using the default Avatar weights. Please consider to use Automatic Weight from <em><span style=\"color: #ff6600;\">Bones<\/span> <\/em>instead. That gives better results in many cases. Blindly using the weights from the default Avatar never works!<\/div>\n<\/div>\n<\/div>\n<p>The example below shows 3 identical meshes: The left mesh is weighted to the classic mBones, the right mesh is weighted to the Collision Volumes (cBones) using the same weight values (for the system character).<\/p>\n<p><a href=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2014\/09\/sls-4-35.png\"><img decoding=\"async\" class=\"aligncenter wp-image-24554 size-full\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2014\/09\/sls-4-35.png\" alt=\"sls-4-35\" width=\"619\" height=\"339\" \/><\/a><\/p>\n<p>The character in the center is the Avastar default character which is fully identical to the default Avatar in SL when you use exactly the same Slider Settings (Shape) in SL as you use in Blender.<\/p>\n<p>For Fitted Mesh (Collision Volume Bone weighting) you can get much better results when you manually optimize the weights.<\/p>\n    <h2>Available Weight Copy methods<\/h2>\n              <div class='mama-subpage tolightblue'>\n          <h3><a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/from-bones\/\">\n              Automatic from Bones              <\/a><\/h3>\n          <div class=\"row-fluid\">\n            <div class=\"rhcol span8\">\n              Automatic from Bones &nbsp; The Panel Sections: The Method Selector: is set to Automatic from Bones for this document The For Section specifies the bones for which you allow weights to be created. However, possibly not all deform bones selected in the For Section actually contribute to the weight ma...              <div class=\"h-readmore\"> <a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/from-bones\/\">Read More<\/a><\/div>\n            <\/div>\n            <div class=\"rhcol span4\">\n              <img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1256-150x150.png\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"\" \/>            <\/div>\n          <\/div>\n        <\/div>\n              <div class='mama-subpage tolightblue'>\n          <h3><a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/meshes\/\">\n              Copy from Meshes              <\/a><\/h3>\n          <div class=\"row-fluid\">\n            <div class=\"rhcol span8\">\n              Copy From Meshes Copy weight from &#8230; All recognized Weight sources are listed in the Weight Sources widget. Here you select the meshes from which your target mesh shall receive the weights. Important: Currently only meshes can be used as weight sources when they are bound to the same Avastar Ri...              <div class=\"h-readmore\"> <a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/meshes\/\">Read More<\/a><\/div>\n            <\/div>\n            <div class=\"rhcol span4\">\n              <img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1249-150x150.png\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"\" \/>            <\/div>\n          <\/div>\n        <\/div>\n              <div class='mama-subpage tolightblue'>\n          <h3><a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/empty-groups\/\">\n              Empty Groups              <\/a><\/h3>\n          <div class=\"row-fluid\">\n            <div class=\"rhcol span8\">\n              Empty Groups Generator options You have one more option to specify what exactly the generator shall create for you. See below for a more detailed description X-Mirror Makes sure that when you have selected bones only from one side of the rig, the bones on the opposite side are also included even whe...              <div class=\"h-readmore\"> <a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/empty-groups\/\">Read More<\/a><\/div>\n            <\/div>\n            <div class=\"rhcol span4\">\n              <img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1252-150x150.png\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"\" \/>            <\/div>\n          <\/div>\n        <\/div>\n              <div class='mama-subpage tolightblue'>\n          <h3><a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/generic-face-maps\/\">\n              Generic Face Maps              <\/a><\/h3>\n          <div class=\"row-fluid\">\n            <div class=\"rhcol span8\">\n              This is a very special setup for an interactive face weight generation. This is only for creating weights for the Bento face bones!...              <div class=\"h-readmore\"> <a href=\"https:\/\/avalab.org\/avastar\/300\/help\/n-panel\/avastar\/weight-copy\/generic-face-maps\/\">Read More<\/a><\/div>\n            <\/div>\n            <div class=\"rhcol span4\">\n              <img decoding=\"async\" width=\"150\" height=\"150\" src=\"https:\/\/avalab.org\/avastar\/300\/wp-content\/uploads\/2022\/06\/Image-300-1252b-150x150.png\" class=\"attachment-thumbnail size-thumbnail wp-post-image\" alt=\"\" \/>            <\/div>\n          <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>Weight Copy The Weight Copy panel is only available for Custom meshes which are already bound to an Avastar Armature. This panel is used to create or replace weights for your meshes. The weight Copy panel is admittedly complex. However, once you understand the elements in the panel and how they interact, weight copy should [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":43949,"parent":3763,"menu_order":80,"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-500","page","type-page","status-publish","has-post-thumbnail","hentry","category-help"],"_links":{"self":[{"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/500","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=500"}],"version-history":[{"count":9,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/500\/revisions"}],"predecessor-version":[{"id":43982,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/500\/revisions\/43982"}],"up":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/pages\/3763"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/media?parent=500"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/categories?post=500"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/300\/wp-json\/wp\/v2\/tags?post=500"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}