{"id":536,"date":"2015-10-13T09:17:34","date_gmt":"2015-10-13T09:17:34","guid":{"rendered":"http:\/\/avastar.online\/?page_id=536"},"modified":"2015-10-13T09:17:34","modified_gmt":"2015-10-13T09:17:34","slug":"vertex-tools","status":"publish","type":"page","link":"https:\/\/avalab.org\/avastar\/legacy\/help\/vertex-tools\/","title":{"rendered":"Vertex Tools"},"content":{"rendered":"<div class=\"row-fluid\">\n<h3 class=\"span6 rhcol\">Avastar Tools<\/h3>\n<div class=\"span6 rhcol\">[PS Showtime url=&#8221;http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/09\/map_avastar_tools.png&#8221;]<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>The Avastar Tools Panel is sort of a <em><span style=\"color: #ff6600;\">does not fit anywhere else<\/span><\/em> container. You find the Avastar Tool Panel in the Tool Shelf, in the Avastar tab. The panel contains:<\/p>\n<ul>\n<li>Rebake UV Layout (optimize SL UV Maps)<\/li>\n<li>Tools to locate vertices<\/li>\n<li>Freeze Shape panel<\/li>\n<li>Inspect Weights per Vert<em><span style=\"color: #ff6600;\"> (1)<\/span><\/em><\/li>\n<\/ul>\n<p><em><span style=\"color: #ff6600;\">(1)<\/span><\/em>: This function is from the Sparkles Addon which is bundled with Avastar-1.1<\/p>\n<\/div>\n<div class=\"span6 rhcol\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/09\/avastar_tools_01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-22392\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/09\/avastar_tools_01.png\" alt=\"avastar_tools_01\" width=\"195\" height=\"319\" \/><\/a><\/div>\n<\/div>\n<div class=\"symple-accordion \">\n<h3 class=\"symple-accordion-trigger \"><a href=\"#\">Rebake UV Layout<\/a><\/h3><div class=\"symple-clearfix\">\n<h3>Rebake UV Layout<\/h3>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\"><p><iframe loading=\"lazy\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/GRFkK6vcOEs?feature=oembed\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<p>Second Life uses an automated Rewrap to improve the Character look after its shape has been modified. Unfortunately this automation does not apply to Custom Mesh characters as well.Avastar&#8217;s <span style=\"color: #ff6600;\"><em>Rebake UV Layout<\/em><\/span> is a similar function. However the result are not (yet) equal to SL&#8217;s bake tools.[break]\n<p><strong><span style=\"color: #ff6600;\">Note:<\/span><\/strong> The Rebake UV Layout button is only available when the active mesh has a UV Layout.<\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n\n<\/div>\n<h3 class=\"symple-accordion-trigger \"><a href=\"#\">Finding troublesome Vertices<\/a><\/h3><div class=\"symple-clearfix\">\n<h3>Vertex Tools<\/h3>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">You find the Vertex Tools in the Avastar Tools Panel in the Tool shelf.<\/div>\n<div class=\"span6 rhcol\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2013\/01\/vertex_tools_01.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-22274\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2013\/01\/vertex_tools_01.png\" alt=\"vertex_tools_01\" width=\"196\" height=\"114\" \/><\/a><\/div>\n<\/div>\n<h4 id=\"doubles\">Doubles (Find Duplicates)<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">The Doubles Operator selects all vertices which are recognized as duplicates.[break]\n<strong><span style=\"color: #ff6600;\">Note:<\/span><\/strong> this operator does not preserve the original vertex selection. So after the operator is called, only the duplicate vertices are selected or no vertex is selected when the mesh is clean (has no duplicates)<\/div>\n<div class=\"span6 rhcol\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2013\/01\/vertex_tools_02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-22275\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2013\/01\/vertex_tools_02.png\" alt=\"vertex_tools_02\" width=\"200\" height=\"219\" \/><\/a><\/div>\n<\/div>\n<h4 id=\"weight_none\">Unweighted (Find Unweighted Vertices)<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>The Unweighted Operator selects all vertices which are not assigned to any Weight Group.[break]\n<strong><span style=\"color: #ff6600;\">Note:<\/span><\/strong> this operator does not preserve the original vertex selection. So after the operator is called, only the unweighted vertices are selected or no vertex is selected when the mesh is clean (all vertices have weights)<\/p>\n<p>Note: When you have selected multiple Objects you will find a report in the Blender Console with one line per object indicating the number of unweighted vertices.<\/p>\n<\/div>\n<div class=\"span6 rhcol\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-11496 aligncenter\" title=\"Toolshelf_Mesh_tools_weight_adjust_example\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/08\/Toolshelf_Mesh_tools_weight_adjust_example.png\" alt=\"\" width=\"240\" height=\"388\" \/><\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<h4 id=\"weight_zero\">Zero weights (weigthsum == 0)<\/h4>\n<p>The Zero weighted Operator selects all vertices for which the sum of all assigned weights is 0.0 (zero).[break]\n<strong><span style=\"color: #ff6600;\">Note:<\/span><\/strong> this operator does not preserve the original vertex selection. So after the operator is called, only the zero weighted vertices are selected or no vertex is selected when the mesh is clean (all vertices have weightsums &gt; 0)<\/p>\n<p>Note: When you have selected multiple Objects you will find a report in the Blender Console with one line per object indicating the number of vertices with weight sums == 0<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<h4 id=\"weight_limit\">&gt;4 Weights (too many Weights on Verts)<\/h4>\n<p>The &gt;4 Operator selects all vertices for which the number of assigned weights is &gt; 4.[break]\n<strong><span style=\"color: #ff6600;\">Note:<\/span><\/strong> this operator does not preserve the original vertex selection. So after the operator is called, only the vertices with more than 4 weights are selected or no vertex is selected when the mesh is clean (all vertices have less than 5 weights assigned)Note: When you have selected multiple Objects you will find a report in the Blender Console with one line per object indicating the number of vertices with too many weights.<\/p>\n<\/div>\n<\/div>\n\n<\/div>\n<h3 class=\"symple-accordion-trigger \"><a href=\"#\">Freeze a mesh<\/a><\/h3><div class=\"symple-clearfix\">\n<h3>Freeze Shape<\/h3>\n<h4>Purpose<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\"><p><iframe loading=\"lazy\" width=\"1080\" height=\"608\" src=\"https:\/\/www.youtube.com\/embed\/cFZf4f9_66k?feature=oembed\" frameborder=\"0\" allowfullscreen><\/iframe><\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<p>The Avastar Meshes can not be modified. As soon as you try to do this, you will get very bad distortions. This is due to how Shape keys are handled in Blender.<\/p>\n<p>The freeze either creates static meshes from your rigged meshes, or modifiable versions of your selected meshes. The tool basically removes all shape keys and all Avastar control data.<\/p>\n<\/div>\n<\/div>\n<p>The Freeze Tool is used in following situations:<\/p>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\"><strong>You want to create a static statue<\/strong> in the current pose and with no rigging information assigned. But when you export the Avastar character to SL as it is, then the imported mesh rezzes always in T-Pose, even when you exported in another pose.<\/div>\n<div class=\"span6 rhcol\"><strong>You want to modify the Avastar base meshes<\/strong> for optimization or as initial model for your own custom Avatar project. But as soon as you edit the Avastar meshes, they quickly get into a chaotic disorder.<\/div>\n<\/div>\n<h4>Usage<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<ul>\n<li>Ensure Blender is in Object Mode.<\/li>\n<li>Select all parts which you want to freeze.<\/li>\n<li>Set the freeze options.<\/li>\n<li>Freeze Selected.<\/li>\n<\/ul>\n<\/div>\n<div class=\"span6 rhcol\"><span style=\"color: #ff6600;\"><strong>Note:<\/strong><\/span> You can apply<span style=\"color: #ff6600;\"><em> Freeze Shape<\/em> <\/span>to any mesh object (unrelated to Avastar). This is practical for example when you want to apply all shape keys.<\/div>\n<\/div>\n<h4>Details<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>Select all parts of the Avastar meshes which you want to use for your own character:<\/p>\n<div id=\"attachment_19790\" style=\"width: 294px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/05\/Image008.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-19790\" class=\"wp-image-19790 size-full\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/05\/Image008.png\" alt=\"Image008\" width=\"284\" height=\"416\" \/><\/a><p id=\"caption-attachment-19790\" class=\"wp-caption-text\">Here i have selected the Head, the upper body and the lower body<\/p><\/div>\n<\/div>\n<div class=\"span6 rhcol\">\n<p>Then set the Freeze Options, and finally <em><span style=\"color: #ff6600;\">Freeze Selected:<\/span><\/em><\/p>\n<p><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/08\/avastar_tools_02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-22394\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/08\/avastar_tools_02.png\" alt=\"avastar_tools_02\" width=\"195\" height=\"159\" \/><\/a><br \/>\n<div class=\"symple-box  yellow none \" style=\"text-align:left;width: 100%;\"> \nIt is important to understand that this tool always creates a copy of the selected meshes with all Shape Keys applied! The copies are placed exactly where the original meshes are located.<br \/>\n<\/div>\n<\/div>\n<\/div>\n<p><strong><span style=\"color: #ff6600;\">Note:<\/span><\/strong> The frozen Meshes do no longer react in the exact same way to the Avastar sliders as the original Avastar character does. However, the meshes behave exactly in the same way as they will behave when imported into SL, OpenSim or other compatible virtual environments.<\/p>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">What you should know<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<ul class=\"stars\">\n<li>When you select to <span style=\"color: #ff6600;\"><em>Keep<\/em><\/span> the Original, then the original mesh and your frozen mesh will overlap and you might not be able to see that there are actually 2 meshes now.<\/li>\n<li>When you select to <em><span style=\"color: #ff6600;\">Delete<\/span><\/em> the Original, then the Original Avastar mesh is fully replaced by your frozen version.<\/li>\n<li>When you select to <em><span style=\"color: #ff6600;\">Hide<\/span><\/em> the original, then the Original Avastar mesh will be hidden from view, then you only see the frozen version.<\/li>\n<li>when you enable <em><span style=\"color: #ff6600;\">Standalone Posed<\/span><\/em> then your frozen mesh will be detached from the armature and it will end up as a simple non rigged static mesh.<\/li>\n<li>When you enable <em><span style=\"color: #ff6600;\">Remove Weight Groups<\/span><\/em> then all weight groups of the frozen mesh will be deleted and you end up with a static non rigged mesh without any weights associated to it. (A naked model so to say)<\/li>\n<\/ul>\n<\/div><\/div>\n<h4>The Tool Options<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<h5>Original:<\/h5>\n<p>This option defines what shall happen with the original Mesh(es) (those which you have selected in Object mode)<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<h5>Values:<\/h5>\n<ul>\n<li><strong><em>Delete:<\/em><\/strong> The Original Mesh is deleted.<\/li>\n<li><strong><em>Hide:<\/em><\/strong> The Original mesh is kept but gets hidden. You can always unhide hidden objects with the keyboard shortcut ALT + H<\/li>\n<li><strong><em>Keep:<\/em><\/strong> The Original Mesh is kept and remains visible. Thus the original and the new copy are displayed at the same time<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<h5>As static Mesh:<\/h5>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>If the original Mesh was rigged to an armature, then -by default- the frozen mesh Copies keep rigged as well. But sometimes you want to get a complete static statue with no animation information at all. In this case you will select this option.<\/p>\n<\/div>\n<div class=\"span6 rhcol\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/08\/freeze_02.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21786\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/08\/freeze_02.png\" alt=\"freeze_02\" width=\"181\" height=\"174\" \/><\/a><\/div>\n<\/div>\n<p><span style=\"color: #ff6600;\"><strong>Note: <\/strong><\/span>If you select this option you get an additional option <em><span style=\"color: #ff6600;\">Remove Weight Groups<\/span><\/em> which does what the name implies. Hence you can achieve that the frozen object contains no animation data at all (this option is rarely used, but very handy when needed)<\/p>\n<h5>Join Parts:<\/h5>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>If you have selected 2 or more objects, then the <em><span style=\"color: #ff6600;\">Join Parts<\/span><\/em> appears. This option just joins the frozen parts into one resulting mesh object.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Note:<\/span><\/strong> If the Join parts option is selected, then you get one more option <em><span style=\"color: #ff6600;\">Weld Parts<\/span><\/em>. If that option is checked, then all duplicate vertices along the adjacent edges of the joined parts will be merged.<\/p>\n<\/div>\n<div class=\"span6 rhcol\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/08\/freeze_03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-21787\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/08\/freeze_03.png\" alt=\"freeze_03\" width=\"186\" height=\"176\" \/><\/a><\/div>\n<\/div>\n<div class=\"symple-box  yellow center \" style=\"text-align:left;\"> \n<span style=\"color: #008080;\"><strong>Caveat:<\/strong><\/span> The <em><span style=\"color: #ff6600;\">Weld Parts<\/span><\/em> option only removes doubles along the welded edges. Duplicate vertices on any other place in your meshes will not be removed by the freeze tool!<br \/>\n<\/div>\n\n<\/div>\n<h3 class=\"symple-accordion-trigger \"><a href=\"#\">Weight Inspection Tools<\/a><\/h3><div class=\"symple-clearfix\">\n<h3>Inspect Weights<\/h3>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>Each Vertex of a Skinned Mesh can be controlled by multiple bones at the same time. While this is possible it is not always wise to do it, because with every new bone the overall behavior of the mesh becomes more and more complex.<\/p>\n<p>The Inspect Weights tool creates a map for quickly spotting areas of Vertices with a high number of weights (number of influencing bones). You find this tool at the bottom of the Avastar Tools panel.<\/p>\n<\/div>\n<div class=\"span6 rhcol\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/09\/avastar_tools_03.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-22419\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/09\/avastar_tools_03.png\" alt=\"avastar_tools_03\" width=\"195\" height=\"320\" \/><\/a><\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>Usually it is fully sufficient to have one or 2 weights per vertex. Only in very rare cases 3 or 4 weights may be not avoidable.<\/p>\n<p>The Inspect Weights function actually uses Vertex Painting to draw a color code right on the Mesh as seen in the image<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_20998\" style=\"width: 156px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/inflence_map.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-20998\" class=\"wp-image-20998\" src=\"http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2012\/11\/inflence_map.png\" alt=\"inflence_map\" width=\"146\" height=\"236\" \/><\/a><p id=\"caption-attachment-20998\" class=\"wp-caption-text\">White: area controlled by one bone, Green: area controlled by 2 bones<\/p><\/div>\n<\/div>\n<\/div>\n<p>In the above example you can see that most vertices of the Mesh are actually controlled only by one Bone (gray areas on the mesh in the image above). And you can see that typically only near the bone joints we find 2 weights on the vertices (green areas). For the SL Avatar we do not find any vertex with more than 2 Weights.<strong><span style=\"color: #99ccff;\"><br \/>\n<\/span><\/strong><\/p>\n<p><span style=\"color: #ff6600;\"><strong>Note: <\/strong><\/span>Remind that each vertex has to show up in at least one weight map, otherwise you get an error &#8220;<span style=\"color: #ff6600;\">unweighted verts in mesh&#8221;<\/span> when you try to import your mesh to SL or compatible worlds.<\/p>\n\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Avastar Tools [PS Showtime url=&#8221;http:\/\/blog.machinimatrix.org\/wp-content\/uploads\/2014\/09\/map_avastar_tools.png&#8221;] The Avastar Tools Panel is sort of a does not fit anywhere else container. You find the Avastar Tool Panel in the Tool Shelf, in the Avastar tab. The panel contains: Rebake UV Layout (optimize SL UV Maps) Tools to locate vertices Freeze Shape panel Inspect Weights per Vert (1) [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":100,"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":[4],"tags":[],"class_list":["post-536","page","type-page","status-publish","hentry","category-help"],"_links":{"self":[{"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/pages\/536","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=536"}],"version-history":[{"count":0,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/pages\/536\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/pages\/100"}],"wp:attachment":[{"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/media?parent=536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/categories?post=536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/legacy\/wp-json\/wp\/v2\/tags?post=536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}