{"id":4411,"date":"2018-09-30T19:42:57","date_gmt":"2018-09-30T19:42:57","guid":{"rendered":"http:\/\/avastar.guru\/?page_id=4411"},"modified":"2018-09-30T19:42:57","modified_gmt":"2018-09-30T19:42:57","slug":"bind-pose","status":"publish","type":"page","link":"https:\/\/avalab.org\/avastar\/292\/avastar-workflows\/bind-pose\/","title":{"rendered":"Bind Pose"},"content":{"rendered":"<h2><image src=\"\/avastar\/292\/wp-content\/uploads\/2019\/08\/approve_logo_wip.png\" style=\"width:120px;vertical-align:middle;margin-left:0px;margin-right:10px;\"><\/image> Working with Bind Poses<\/h2>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In previous Avastar releases we always needed to eventually use the T-posed Character when we were creating models and attachments with human shapes. We did so to keep compatible to the SL\u00a0 T-Pose rig (experts may remember the Alter to Restpose Option that we provided for this purpose).<\/p>\n<\/div>\n<div class=\"rhcol span5\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image709.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4467\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image709.png\" alt=\"\" width=\"337\" height=\"419\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image709.png 337w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image709-241x300.png 241w\" sizes=\"auto, (max-width: 337px) 100vw, 337px\" \/><\/a><\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In Avastar-2 we are no longer forced to handle the T Pose. Instead of that you can now work in any Restpose (technically named: Bind Pose). Avastar can now calculate the necessary extra data that is needed by the SL Importer to handle these Rigs properly.<\/p>\n<p>Besides supporting arbitrary Bind poses we also added a few extra functions so that you can create your custom rigs more efficiently&#8230;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p>\u00a0<a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image710.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4466\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image710.png\" alt=\"\" width=\"337\" height=\"419\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image710.png 337w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image710-241x300.png 241w\" sizes=\"auto, (max-width: 337px) 100vw, 337px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h2>Bind poses and Developer kits<\/h2>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<div class='et-box et-warning'>\n\t\t\t\t\t<div class='et-box-content'>If you are working with Developer kits then you actually can not freely decide which Restpose (T-Pose, A-Pose, &#8230;) you want to use. In fact the pose used by the developerkit must be used by you as well.<\/p>\n<p><strong>If you try to enforce to use a restpose different from a Developer kit, you always will end up with mismatched clothes!<\/strong><\/div><\/div>\n\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_4383\" style=\"width: 339px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/09\/Image687.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4383\" class=\"wp-image-4383 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/09\/Image687.png\" alt=\"\" width=\"329\" height=\"221\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/09\/Image687.png 329w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/09\/Image687-300x202.png 300w\" sizes=\"auto, (max-width: 329px) 100vw, 329px\" \/><\/a><p id=\"caption-attachment-4383\" class=\"wp-caption-text\">A Develoepr Kit using an A-Posed upper body Rig.<\/p><\/div>\n<\/div>\n<\/div>\n<h3>Some Rules of thumb<\/h3>\n<ul>\n<li>If you use another creator&#8217;s rig for creating compatible attachments, keep with the Restpose that is provided by the creator.<\/li>\n<li>If you create your own Rig, you are free to use whichever restpose you like. But once you defined your rig, do never again change the restpose to make sure your attatments match to your Body.<\/li>\n<li>If your Rig was massively edited, avoid using Bind Pose. Prefereably Import with Joint Offsets in that case. Massive edits include:\n<ul>\n<li>Scaled Avatars<\/li>\n<li>Bones moved by Unlocking Animation Bone Translation<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2>Simple Workflow for Bind Poses<\/h2>\n<h3>When to use Bind Poses<\/h3>\n<p>The use of bind poses is a somewhat confusing topic at first. This is mostly so because Blender actually does not support this feature. Avastar adds the necessary functionality but it still has to work with the Blender limitations. This makes the usage of Bind poses a bit complicated. However they are so useful in regard to SL that we strongly recommend to get familiar with the concepts and the usage scenarios.<\/p>\n<p>Below we have added a more detailed document about this topic:<\/p>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">The Nuts&amp;Bolts of Bind Poses<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<h3>The <span style=\"color: #ff6600;\"><em>Use Bind Pose<\/em><\/span> option<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When you enable the Use Bind Pose option then Avastar treats your Rig as if it has a plain vanilla (SL Default) T-posed SL rig plus an initial starting pose ( the <em>Bind pose <\/em>). If your rig has not been edited (it is a default SL T-posed rig) then the Bind pose is the same as the rest pose. In that case enabling this option has no effect at all.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-7361\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338.png\" alt=\"\" width=\"419\" height=\"183\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338-300x131.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>The interesting part comes when your rig is edited. Then we still are left with 2 situations:<\/p>\n<h4>Situation 1: Bind pose with Rotation-only<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You started with the SL T-posed rig and created a new pose by only using rotations. This is a Simple <em>rotation-only<\/em> bind pose. Note that actually this rig has a lot of Joint offsets on the arms and on the legs (indicated by blue dotted lines in the image). However since the entire transformation from the T-Pose to the A-Pose can be described with one clear set of rotations, there is good news here:<\/p>\n<p>This sort of Rotation-only rig can be transferred to SL without the need of Joint Offsets. This is important as we will see in a few moments.<\/p>\n<p>Most common examples: A-posed rigs.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7362 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339.png\" alt=\"\" width=\"419\" height=\"570\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339-221x300.png 221w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\"><\/div>\n<h4>Situation 2: Bind pose with Rotation and Translation<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You started with the SL T-posed rig as explained in the previous chapter (<em>Bind pose with Rotation-only<\/em>). But you then created your new rig by editing the bone locations. This editing adds translation to the joints and therefore now you have created a <em>transloc<\/em> bind pose.<\/p>\n<p>In this case the differences from the T-Posed rig can be described with combinations of Rotations and translations. However now there are many different ways how this new rig can be described:<\/p>\n<p>You could use translations only (as we did with older versions of Avastar) or you can use combinations of rotations and translations in order to minimze the amount of needed joint offsets (which we do since Avastar-2.6)<\/p>\n<p>Again, we will explain in a moment why it is desirable to have as few Joint offsets in the rig as possible. Please keep patient.<\/p>\n<p>Most common examples: Any sort of non humans (creatures)<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_7363\" style=\"width: 429px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7363\" class=\"wp-image-7363 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340.png\" alt=\"\" width=\"419\" height=\"546\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340-230x300.png 230w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><p id=\"caption-attachment-7363\" class=\"wp-caption-text\">The Joint Offsets have been indicated with blue dotted lines<\/p><\/div>\n<\/div>\n<\/div>\n<h3>A serious caveat&#8230;<\/h3>\n<p>Regardless of what kind of bind pose you have in your rig, Avastar will calculate the optimal Rig Data that matches perfectly to your working rig and has as few joint offsets as possible for your particular case. The calculated optimal rig is then exported to Collada and finally propagated into the SL importer.<\/p>\n<p>However, while this sounds great you must know that there is a roadblock. Here we are at the heart of all confusion and why i repeatedly mentioned above that it is so desirable to have as few joint offsets as possible:<\/p>\n<div class='et-box et-warning'>\n\t\t\t\t\t<div class='et-box-content'><div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>As soon as a bone needs a joint offset to get in place, its related appearance sliders change their behavior. Technically the bone no longer follows Translations (shifts in location) as imposed by the sliders. Visually the bone no longer moves. But&#8230;<\/p>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span> <\/strong>Sliders which only impose bone scaling still work as before. But sliders which impose Bone movement (translation) no longer apply. And this is what makes the behavior of the Appearance sliders so shady and so complicated to understand.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p>\u00a0<a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7364 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341.png\" alt=\"\" width=\"419\" height=\"454\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341-277x300.png 277w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"span6 rhcol\">\n<p><span style=\"color: #3366ff;\"><strong>Sidenote: <\/strong><\/span>You ever wondered why sometimes the Avastar Appearance sliders turn red? The red mark indicates: Bone shifting does no longer work for one or more bones affected by this slider.<\/p>\n<p><span style=\"color: #3366ff;\"><strong>Tip:<\/strong> <\/span>Click on the icon on the left side of the appearance slider to see which bones are affected. Bones with a red cross have joint offsets.<\/p>\n<p>This issue affects mostly face expressions and hand gestures. For example when you added joint offsets to the Eye bones, then the Eye distance slider no longer works. That is why you want to have only as few Joint Offsets as possible!<\/p>\n<\/div><\/div><\/div>\n<h3>An example &#8230;<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>Sometimes it is inevitable to edit your Rig beyond simple rotations. This happens for example when you need to adjust the hand rig (see images) and the face rig for your custom character. In this case every edit results in additional Joint offsets for the edited bone itself <strong>plus all its children!<\/strong><\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4704\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>For the hand in the example image we introduce 5 joint offsets for the first finger bones. But due to the nature of how Joint Offsets are implemented in SL those 5 translations of the first finger bones make it necessary that all the child bones also get joint offsets. So we end up with 15 joint offsets for each hand!<\/p>\n<p>But we got an idea&#8230;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4707\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h3>And invented a convenient solution<\/h3>\n<p>We have added an optimization to the Collada exporter which automatically minimizes the number of joint edits. For example the hand above only needs translation on the first finger bones, while all other bones can be handled with relative rotation and no need to add relative offsets. And thanks to the way how Bind poses work we can get away with only 5 joint offsets for the first finger bones.<\/p>\n<p>The good news is: Our optimizer runs silently in the background, so you actually do not need to worry about how this is done. It just works. Here are some possible usage scenarios:<\/p>\n<h3>Scenario 1: Use Bind pose as you always did<\/h3>\n<p>This scenario applies also to all previous Avastar-2 versions as well:<\/p>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In this case you enable the <em>Use Bind Pose<\/em> option and do not care at all about any optimizations. Just export as usual. You then import your Collada to SL <em><span style=\"color: #993300;\">only with Weights<\/span><\/em>.<\/p>\n<p>This option works best for slightly modified rigs (A-Pose human rigs for example are good usage candidates) especially when you have used only Pose bone rotations for editing your rig.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_4709\" style=\"width: 722px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4709\" class=\"wp-image-4709 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><p id=\"caption-attachment-4709\" class=\"wp-caption-text\">Only Rotations used<\/p><\/div>\n<\/div>\n<\/div>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span> <\/strong>If all works well for you and you never run into issues then this option is most likely what you want to use now and also in the future.<\/p>\n<h3>Scenario 2: Import with optimized Joint offsets<\/h3>\n<p>This scenario applies since Avastar-2-6<\/p>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In this case you enable the <em>Use Bind Pose<\/em> option as well and export. And again export as usual. You then import your Collada to SL <em><span style=\"color: #993300;\">with Weights AND with Joint Offsets<\/span><\/em>. This option works best when you have mostly used rotations for your edited rig but you have also added a few translations.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_4710\" style=\"width: 722px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4710\" class=\"wp-image-4710 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><p id=\"caption-attachment-4710\" class=\"wp-caption-text\">Hand rig edited with translations)<\/p><\/div>\n<\/div>\n<\/div>\n<p>This option works best when you needed (for example) to move the hands to a position that could not be reached with rotations only.<\/p>\n<p><span style=\"color: #3366ff;\"><strong>Note:<\/strong><\/span> This option may work for a variety of cases . It even works for tinies and giants which use the Armature scaling in Object mode. However the optimization of the Joint offsets might sometimes not create the results that you anticipated. You need to experiment a bit. There is actually another pitfall waiting for you to step in.<\/p>\n<h4>A nasty pitfall<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When you Use Bindpose then your meshes might initially show deformations and even distortions when you wear them. This is because SL does not know the initial locations of your bones, so it assumes they are all in regular T Pose. But this may be utterly wrong. For example in the next image you see the head is seriously deformed.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7365 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342.png\" alt=\"\" width=\"419\" height=\"218\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342-300x156.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In order to avoid such distortions and deformations it may become necessary to force the SL bones into the correct place after you wear the rigged mesh and before you start your own animations on it. But we got a cure for this&#8230;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7366 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343.png\" alt=\"\" width=\"419\" height=\"287\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343-300x205.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>Use a restpose Animation (optional and additional)<\/h4>\n<p>When you enable &#8220;use Bind Pose&#8221; then it often also makes sense to apply a reset animation which enforces the Bones to be placed at their exact anticipated restpose locations. However this reset animation must run constantly as a low priority animation (priority 0) to make sure the bones always find their way back to their optimal location after any other animation has terminated.<\/p>\n<p>Avastar is capable to create the Reset Animation and provide a ready made LSL script that you can add directly into your SL Rigged mesh:<\/p>\n<h4>Generate the Reset Animation and a Reset LSL script<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When you export to Collada, open the Advanced section and enable <em>with Reset Animation<\/em> and <em>with Reset Script:<\/em><\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7373 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345.png\" alt=\"\" width=\"261\" height=\"311\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345.png 261w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345-252x300.png 252w\" sizes=\"auto, (max-width: 261px) 100vw, 261px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>You will use a restpose Animation when the Bone optimizer could not place the bones correctly. This may happen when you used a custom Shape while creating your edited rig in Avastar. In that case it may be possible that SL places the bones to slightly wrong locations which can be corrected by using the Reset Animation.<\/p>\n\n<h3>Scenario 3: Leave Bind pose completely alone<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You always have the option to not use Bind pose at all. You may prefer to do this when you are creating a very complicated rig that reuses the SL Bones in creative ways. Spiders and octopuses come to mind&#8230;<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7367 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344.png\" alt=\"\" width=\"419\" height=\"316\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344-300x226.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>In such cases you actually do not want bind pose support at all. You might not even want slider support but just provide the rig as it is and unchangeable. In this case you will disable the <em>Use Bind Pose<\/em> option and always import with weights and with Joint offsets and do not care about Bind pose optimizations at all.<\/p>\n\n<\/div><\/div>\n<div class='et-box et-warning'>\n\t\t\t\t\t<div class='et-box-content'><p>So, if you came here, then you are convinced that using Bind poses is what you want. If you still are in doubt what bind poses are and why you want to use them, then please read the chapter about Nuts&amp;Bolts of Bind Poses (again). You still are OK? Then lets do it&#8230;<\/p><\/div><\/div>\n<h3>Prepare the Appearance panel<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<ul>\n<li>When your Appearance Sliders are disabled, then you can not set the use bind pose options. However you still can follow this workflow for editing your rig.<\/li>\n<li>When your Appearance Sliders are enabled, then we propose that you now enable the use bind pose option. However this is not a strict requirement.<\/li>\n<\/ul>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image697.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-4438 size-full alignleft\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image697.png\" alt=\"\" width=\"214\" height=\"240\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>&nbsp;<\/p>\n<h3>Enable Pose mode<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You can use the workflow presets in the Avastar Workflows Panel (see image). This makes sure that Avastar is configured correctly for the next steps:<\/p>\n<ul>\n<li>Select the Armature<\/li>\n<li>Open Workflows Panel<\/li>\n<li>Enable All features<\/li>\n<li>Select Pose&amp;Animate Preset<\/li>\n<\/ul>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image567.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3620 size-full alignleft\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image567.png\" alt=\"\" width=\"240\" height=\"331\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image567.png 240w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image567-218x300.png 218w\" sizes=\"auto, (max-width: 240px) 100vw, 240px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">Blender Expert...<\/h3><div class=\"symple-toggle-container symple-clearfix\">When you are familiar with Rigging in Blender then you can also use the quick steps:<\/p>\n<ul>\n<li>Select the Armature<\/li>\n<li>Set mode to Pose Mode<\/li>\n<\/ul>\n<\/div><\/div>\n<h3>Pose the Rig as required<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>Now pose your Armature into the pose best matching to your character by using the Appearance sliders and the green animation bones(!). You can also use the gender option when you work on a male character.<\/p>\n<p><strong>Important:<\/strong><\/p>\n<ul>\n<li>Make sure that your Mesh character (or attachment) is not yet bound to your Rig.<\/li>\n<li>Please use only the green animation bones for this step! When you use the blue and purple pose bones then you later might not get the results that you expect.<\/li>\n<\/ul>\n<p>In the image aside you see how we adjusted an Avastar Rig to match a static (not bound) Mesh model. We will bind this model to the rig when the rig setup is finished (see further down)<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image701.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-4440 alignleft\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image701.png\" alt=\"\" width=\"243\" height=\"387\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image701.png 243w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image701-188x300.png 188w\" sizes=\"auto, (max-width: 243px) 100vw, 243px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h3>Apply as Rest Pose<\/h3>\n<p>When your pose is finished (it matches perfectly to your Mesh or mesh attachment) then you are ready to define your pose as the new restpose. You do this as follows:<\/p>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<ul>\n<li>Make sure your Rig is selected and in Pose mode<\/li>\n<li>Make sure your meshes are not yet bound to your Rig, see the remark below (!)<\/li>\n<li>Open the Posing Panel.<\/li>\n<li>Locate the Rig Modify Tools<\/li>\n<li>Apply as Restpose<\/li>\n<\/ul>\n<p>For more details about the panel options see the Avastar Tool tips in the Posing Panel or read the <a href=\"\/help\/toolshelf\/posing-panel\/pose-mode\/\">pose panel documentation<\/a> to get a better understanding of the options. Avastar&#8217;s default settings should be good for most situations.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image569.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-3623 size-full alignleft\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image569.png\" alt=\"\" width=\"248\" height=\"414\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image569.png 248w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/06\/Image569-180x300.png 180w\" sizes=\"auto, (max-width: 248px) 100vw, 248px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p><strong>Remark:<\/strong> In general it is advisable to prepare your Rig before you bind meshes to it. However, if your Rig has already bound meshes, then either unbind the meshes before you edit your rig, or at least make sure the <em>Convert meshes<\/em> option is enabled before you apply as restpose. If you forget to do this then the bound meshes will return back to their original restpose (T-Pose).<\/p>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">What happens under the hood...<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<p>When you Apply as Restpose then Avastar calculates the difference between your custom rig and a plain vanilla SL Default Rig. This difference is the Bind pose. Later when you export your work with the <em>Use Bind Pose<\/em> option enabled, the Collada exporter proceeds as follows:<\/p>\n<ul>\n<li>The exporter creates a plain Vanilla SL Skeleton<\/li>\n<li>Then it minimizes the number of needed Joint Offsets for your Bindpose (new since Avastar 2.6)<\/li>\n<li>And adds the optimized set of Joint Offsets to the plain vanilla rig<\/li>\n<li>Your Bindpose is also added to the export data of your Mesh(es)<\/li>\n<\/ul>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span><\/strong> If your rig only used rotation when you posed your Rig, then in most cases it is sufficient to direct the SL Importer to import only with Weights. However if you have added extra joint offsets to your rig for example by editing the Rig in edit mode, then you better import your rig with weights <strong>and<\/strong> with joints.<\/p>\n<\/div><\/div>\n<h3>Test your Rig<\/h3>\n<p>Please check if your rig is setup correctly. Here is a checklist:<\/p>\n<ul>\n<li>Make sure your rig is in its restpose (use ALT-R ALT-G ALT-S in pose mode)<\/li>\n<li>Make sure your green animation bones align perfectly to the blue Deform bones<\/li>\n<li>Make sure your Volume Bones are at the expected locations (if you intend to use fitted mesh)<\/li>\n<li>Make sure altering between &#8220;Pose Position&#8221; and &#8220;Rest Position&#8221; does not change your rig.<\/li>\n<li>Make sure your rig in Restpose matches to your character or attachment as good as possible<\/li>\n<\/ul>\n<h3>Bind your Mesh(es)<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When your rig is prepared and all your checks have passed (see above) then you are ready to bind your meshes. You do this from within the <a href=\"\/help\/toolshelf\/skinning\/binding\/\">Skinning panel<\/a>:<\/p>\n<ul>\n<li>Select your Mesh(es) in Object mode<\/li>\n<li>SHIFT Select the Armature (in pose mode or object mode)<\/li>\n<li>Open the Skinning Panel<\/li>\n<li>Select the Binding strategy. Most frequently used strategies:\n<ul>\n<li>use <span style=\"color: #ff6600;\">Keep<\/span> if your meshes are already weighted<\/li>\n<li>use <span style=\"color: #ff6600;\">Bones<\/span> if you want to get initial weights generated from the Rig<\/li>\n<\/ul>\n<\/li>\n<li>Bind to Armature<\/li>\n<\/ul>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image729.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4718\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image729.png\" alt=\"\" width=\"269\" height=\"348\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image729.png 269w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image729-232x300.png 232w\" sizes=\"auto, (max-width: 269px) 100vw, 269px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h3>Check your mesh(es)<\/h3>\n<p>Now you should test your meshes and possibly optimize your weights.<\/p>\n<p>Important: You most probably have to fine adjust your weights now, regardless from where you got the weights. You will try out various poses and appearance slider combinations to make sure your Meshes behave as intended. If you see distortions then most probably your weights are not yet fully correct. This is where you need experience and a lot of patience! Be ready to take your time to get optimal results.<\/p>\n\n<h3>Export with Avastar&#8217;s Collada exporter<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>Select your attachments and export with the Avastar Collada exporter as usual. Avastar should automatically set the correct advanced options for the Export.<\/p>\n<p>However if you are in doubt, then open the advanced section of the Collada exporter and check&#8230;<\/p>\n<ul>\n<li>The option <span style=\"color: #ff6600;\"><em>Use bind Pose<\/em><\/span> is enabled.<\/li>\n<li>The Option<span style=\"color: #ff6600;\"> <em>Export Visual <\/em><\/span>is enabled (recommended, but optional)<\/li>\n<li>The option <em><span style=\"color: #ff6600;\">with Reset Anim<\/span> <\/em>is enabled (optional)<\/li>\n<li>The option <em><span style=\"color: #ff6600;\">with Reset Script<\/span><\/em> is enabled (optional, only needed sometimes)<\/li>\n<\/ul>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image570.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4750 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image570.png\" alt=\"\" width=\"240\" height=\"358\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image570.png 240w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image570-201x300.png 201w\" sizes=\"auto, (max-width: 240px) 100vw, 240px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>Now the Avastar Exporter knows how to convert this rig into a standard T-Pose rig without distorting the Meshes. When you have enabled the options with <em><span style=\"color: #ff6600;\">Reset Animation<\/span><\/em> (a .anim file) and <em><span style=\"color: #ff6600;\">with Reset Script<\/span><\/em> (a LSL script), then you get 2 additional files exported. You might need those files later when you want to wear your mesh in Secondlife, see below.<\/p>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span><\/strong> Please make sure you have understood how to use Bind poses and how to import them to SL. Just as a reminder:<\/p>\n<div class=\"symple-toggle state-closed \"><h3 class=\"symple-toggle-trigger \">The Nuts&amp;Bolts of Bind Poses<\/h3><div class=\"symple-toggle-container symple-clearfix\">\n<h3>The <span style=\"color: #ff6600;\"><em>Use Bind Pose<\/em><\/span> option<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When you enable the Use Bind Pose option then Avastar treats your Rig as if it has a plain vanilla (SL Default) T-posed SL rig plus an initial starting pose ( the <em>Bind pose <\/em>). If your rig has not been edited (it is a default SL T-posed rig) then the Bind pose is the same as the rest pose. In that case enabling this option has no effect at all.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft size-full wp-image-7361\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338.png\" alt=\"\" width=\"419\" height=\"183\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1338-300x131.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>The interesting part comes when your rig is edited. Then we still are left with 2 situations:<\/p>\n<h4>Situation 1: Bind pose with Rotation-only<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You started with the SL T-posed rig and created a new pose by only using rotations. This is a Simple <em>rotation-only<\/em> bind pose. Note that actually this rig has a lot of Joint offsets on the arms and on the legs (indicated by blue dotted lines in the image). However since the entire transformation from the T-Pose to the A-Pose can be described with one clear set of rotations, there is good news here:<\/p>\n<p>This sort of Rotation-only rig can be transferred to SL without the need of Joint Offsets. This is important as we will see in a few moments.<\/p>\n<p>Most common examples: A-posed rigs.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7362 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339.png\" alt=\"\" width=\"419\" height=\"570\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1339-221x300.png 221w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\"><\/div>\n<h4>Situation 2: Bind pose with Rotation and Translation<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You started with the SL T-posed rig as explained in the previous chapter (<em>Bind pose with Rotation-only<\/em>). But you then created your new rig by editing the bone locations. This editing adds translation to the joints and therefore now you have created a <em>transloc<\/em> bind pose.<\/p>\n<p>In this case the differences from the T-Posed rig can be described with combinations of Rotations and translations. However now there are many different ways how this new rig can be described:<\/p>\n<p>You could use translations only (as we did with older versions of Avastar) or you can use combinations of rotations and translations in order to minimze the amount of needed joint offsets (which we do since Avastar-2.6)<\/p>\n<p>Again, we will explain in a moment why it is desirable to have as few Joint offsets in the rig as possible. Please keep patient.<\/p>\n<p>Most common examples: Any sort of non humans (creatures)<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_7363\" style=\"width: 429px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-7363\" class=\"wp-image-7363 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340.png\" alt=\"\" width=\"419\" height=\"546\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1340-230x300.png 230w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><p id=\"caption-attachment-7363\" class=\"wp-caption-text\">The Joint Offsets have been indicated with blue dotted lines<\/p><\/div>\n<\/div>\n<\/div>\n<h3>A serious caveat&#8230;<\/h3>\n<p>Regardless of what kind of bind pose you have in your rig, Avastar will calculate the optimal Rig Data that matches perfectly to your working rig and has as few joint offsets as possible for your particular case. The calculated optimal rig is then exported to Collada and finally propagated into the SL importer.<\/p>\n<p>However, while this sounds great you must know that there is a roadblock. Here we are at the heart of all confusion and why i repeatedly mentioned above that it is so desirable to have as few joint offsets as possible:<\/p>\n<div class='et-box et-warning'>\n\t\t\t\t\t<div class='et-box-content'><div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>As soon as a bone needs a joint offset to get in place, its related appearance sliders change their behavior. Technically the bone no longer follows Translations (shifts in location) as imposed by the sliders. Visually the bone no longer moves. But&#8230;<\/p>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span> <\/strong>Sliders which only impose bone scaling still work as before. But sliders which impose Bone movement (translation) no longer apply. And this is what makes the behavior of the Appearance sliders so shady and so complicated to understand.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p>\u00a0<a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7364 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341.png\" alt=\"\" width=\"419\" height=\"454\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1341-277x300.png 277w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"span6 rhcol\">\n<p><span style=\"color: #3366ff;\"><strong>Sidenote: <\/strong><\/span>You ever wondered why sometimes the Avastar Appearance sliders turn red? The red mark indicates: Bone shifting does no longer work for one or more bones affected by this slider.<\/p>\n<p><span style=\"color: #3366ff;\"><strong>Tip:<\/strong> <\/span>Click on the icon on the left side of the appearance slider to see which bones are affected. Bones with a red cross have joint offsets.<\/p>\n<p>This issue affects mostly face expressions and hand gestures. For example when you added joint offsets to the Eye bones, then the Eye distance slider no longer works. That is why you want to have only as few Joint Offsets as possible!<\/p>\n<\/div><\/div><\/div>\n<h3>An example &#8230;<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>Sometimes it is inevitable to edit your Rig beyond simple rotations. This happens for example when you need to adjust the hand rig (see images) and the face rig for your custom character. In this case every edit results in additional Joint offsets for the edited bone itself <strong>plus all its children!<\/strong><\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4704\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image724-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>For the hand in the example image we introduce 5 joint offsets for the first finger bones. But due to the nature of how Joint Offsets are implemented in SL those 5 translations of the first finger bones make it necessary that all the child bones also get joint offsets. So we end up with 15 joint offsets for each hand!<\/p>\n<p>But we got an idea&#8230;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4707\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image725-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h3>And invented a convenient solution<\/h3>\n<p>We have added an optimization to the Collada exporter which automatically minimizes the number of joint edits. For example the hand above only needs translation on the first finger bones, while all other bones can be handled with relative rotation and no need to add relative offsets. And thanks to the way how Bind poses work we can get away with only 5 joint offsets for the first finger bones.<\/p>\n<p>The good news is: Our optimizer runs silently in the background, so you actually do not need to worry about how this is done. It just works. Here are some possible usage scenarios:<\/p>\n<h3>Scenario 1: Use Bind pose as you always did<\/h3>\n<p>This scenario applies also to all previous Avastar-2 versions as well:<\/p>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In this case you enable the <em>Use Bind Pose<\/em> option and do not care at all about any optimizations. Just export as usual. You then import your Collada to SL <em><span style=\"color: #993300;\">only with Weights<\/span><\/em>.<\/p>\n<p>This option works best for slightly modified rigs (A-Pose human rigs for example are good usage candidates) especially when you have used only Pose bone rotations for editing your rig.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_4709\" style=\"width: 722px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4709\" class=\"wp-image-4709 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image726-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><p id=\"caption-attachment-4709\" class=\"wp-caption-text\">Only Rotations used<\/p><\/div>\n<\/div>\n<\/div>\n<p><strong><span style=\"color: #3366ff;\">Note:<\/span> <\/strong>If all works well for you and you never run into issues then this option is most likely what you want to use now and also in the future.<\/p>\n<h3>Scenario 2: Import with optimized Joint offsets<\/h3>\n<p>This scenario applies since Avastar-2-6<\/p>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In this case you enable the <em>Use Bind Pose<\/em> option as well and export. And again export as usual. You then import your Collada to SL <em><span style=\"color: #993300;\">with Weights AND with Joint Offsets<\/span><\/em>. This option works best when you have mostly used rotations for your edited rig but you have also added a few translations.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<div id=\"attachment_4710\" style=\"width: 722px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4710\" class=\"wp-image-4710 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727.png\" alt=\"\" width=\"712\" height=\"491\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727.png 712w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/12\/Image727-300x207.png 300w\" sizes=\"auto, (max-width: 712px) 100vw, 712px\" \/><\/a><p id=\"caption-attachment-4710\" class=\"wp-caption-text\">Hand rig edited with translations)<\/p><\/div>\n<\/div>\n<\/div>\n<p>This option works best when you needed (for example) to move the hands to a position that could not be reached with rotations only.<\/p>\n<p><span style=\"color: #3366ff;\"><strong>Note:<\/strong><\/span> This option may work for a variety of cases . It even works for tinies and giants which use the Armature scaling in Object mode. However the optimization of the Joint offsets might sometimes not create the results that you anticipated. You need to experiment a bit. There is actually another pitfall waiting for you to step in.<\/p>\n<h4>A nasty pitfall<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When you Use Bindpose then your meshes might initially show deformations and even distortions when you wear them. This is because SL does not know the initial locations of your bones, so it assumes they are all in regular T Pose. But this may be utterly wrong. For example in the next image you see the head is seriously deformed.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7365 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342.png\" alt=\"\" width=\"419\" height=\"218\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1342-300x156.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>In order to avoid such distortions and deformations it may become necessary to force the SL bones into the correct place after you wear the rigged mesh and before you start your own animations on it. But we got a cure for this&#8230;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7366 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343.png\" alt=\"\" width=\"419\" height=\"287\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1343-300x205.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>Use a restpose Animation (optional and additional)<\/h4>\n<p>When you enable &#8220;use Bind Pose&#8221; then it often also makes sense to apply a reset animation which enforces the Bones to be placed at their exact anticipated restpose locations. However this reset animation must run constantly as a low priority animation (priority 0) to make sure the bones always find their way back to their optimal location after any other animation has terminated.<\/p>\n<p>Avastar is capable to create the Reset Animation and provide a ready made LSL script that you can add directly into your SL Rigged mesh:<\/p>\n<h4>Generate the Reset Animation and a Reset LSL script<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When you export to Collada, open the Advanced section and enable <em>with Reset Animation<\/em> and <em>with Reset Script:<\/em><\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7373 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345.png\" alt=\"\" width=\"261\" height=\"311\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345.png 261w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1345-252x300.png 252w\" sizes=\"auto, (max-width: 261px) 100vw, 261px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>You will use a restpose Animation when the Bone optimizer could not place the bones correctly. This may happen when you used a custom Shape while creating your edited rig in Avastar. In that case it may be possible that SL places the bones to slightly wrong locations which can be corrected by using the Reset Animation.<\/p>\n\n<h3>Scenario 3: Leave Bind pose completely alone<\/h3>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You always have the option to not use Bind pose at all. You may prefer to do this when you are creating a very complicated rig that reuses the SL Bones in creative ways. Spiders and octopuses come to mind&#8230;<\/p>\n<p>&nbsp;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-7367 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344.png\" alt=\"\" width=\"419\" height=\"316\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344.png 419w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2021\/02\/Image1344-300x226.png 300w\" sizes=\"auto, (max-width: 419px) 100vw, 419px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<p>In such cases you actually do not want bind pose support at all. You might not even want slider support but just provide the rig as it is and unchangeable. In this case you will disable the <em>Use Bind Pose<\/em> option and always import with weights and with Joint offsets and do not care about Bind pose optimizations at all.<\/p>\n\n<\/div><\/div>\n<h2>A brief Import workflow<\/h2>\n<h4>1.) Import the Model (.dae):<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>When you import your Bind Pose mesh (the .dae file) to Secondlife then make sure that you enable <em><span style=\"color: #ff6600;\">include skin weight<\/span><\/em> in the upload options tab.<\/p>\n<p><strong><span style=\"color: #993300;\">Important:<\/span><\/strong><\/p>\n<ul>\n<li>Please make sure the option <em><span style=\"color: #ff6600;\">include joint positions<\/span> <\/em>is disabled !!!<\/li>\n<li>If you have massively edited your Rig in Blender then your imported Mesh might look deformed when you wear it! This is where the reset animation comes into play (see below)<\/li>\n<\/ul>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image735.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4751\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image735.png\" alt=\"\" width=\"906\" height=\"471\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image735.png 906w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image735-300x156.png 300w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image735-768x399.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>2.) Take care of your Avatar Shape (Appearance)<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>You might have modeled your Mesh with appearance sliders in Blender. In that case you must make sure that you wear the corresponding Appearance shape in SL as well! Otherwise you may not see exactly what you modeled in Blender.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image737.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4754 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image737.png\" alt=\"\" width=\"906\" height=\"471\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image737.png 906w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image737-300x156.png 300w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image737-768x399.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>3.) Import the reset animation (optional)<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>Sometimes, especially when your rig has been edited a lot (for tinies, giants, creatures) you may find that your mesh is somewhat oddly deformed in the SL Preview window. This does not necessarily happen, for example when you import an A Posed Mesh where only the arms and legs have been rotated, then you will not see visible deformations.<\/p>\n<p>But if you see unwanted deformations, then you may want to also import the Reset Animation (.anim file) for your mesh.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image736.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4756 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image736.png\" alt=\"\" width=\"906\" height=\"471\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image736.png 906w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image736-300x156.png 300w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image736-768x399.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>4.) Test your reset animation<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>That is easy: Just run the animation. The animation is a single frame loop with priority 0 (zero) which &#8211; once started &#8211; moves all bones into their Bindpose, unless the bones are moved by another animation with higher priority. So you should see exactly what you see in Blender as soon as the reset animation runs. You even can stop the animation and keep your shape clean (no deformations).<\/p>\n<p>However you must do one additional step in order to get your shape also correct for all other users nearby: You need to add the reset animation to your mesh inventory and call it from a Reset Script&#8230;<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image738.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4758\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image738.png\" alt=\"\" width=\"906\" height=\"471\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image738.png 906w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image738-300x156.png 300w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image738-768x399.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>5.) Setup the Mesh Inventory<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<ul>\n<li>Wear the Mesh (or rezz it on ground)<\/li>\n<li>Edit the Mesh (Content tab)<\/li>\n<li>Drag the reset animation into the inventory<\/li>\n<li>Create a new Script (name it to your likes)<\/li>\n<\/ul>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image739.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4759\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image739.png\" alt=\"\" width=\"906\" height=\"471\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image739.png 906w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image739-300x156.png 300w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image739-768x399.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>6.) Setup the Script<\/h4>\n<div class=\"row-fluid\">\n<div class=\"rhcol span7\">\n<p>The Script has been generated by Avastar in the very first step above when you enabled <em><span style=\"color: #ff6600;\">with Reset Script<\/span><\/em> during export. If necessary just export your mesh again with that option enabled.<\/p>\n<p>Now open the generated LSL Script (the file is named like your .dae file but with the LSL extension) and cut\/paste the file content into the reset animation script in the Secondlife Viewer. the Script has ~80 lines of code and comments.<\/p>\n<\/div>\n<div class=\"rhcol span5\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image740.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4760\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image740.png\" alt=\"\" width=\"906\" height=\"471\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image740.png 906w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image740-300x156.png 300w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2019\/01\/Image740-768x399.png 768w\" sizes=\"auto, (max-width: 906px) 100vw, 906px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>Final words:<\/h4>\n<p>As soon as you have saved the script the reset animation is played constantly in the background. So you mesh should move all its rigged bones into the restpose. However as soon as you animate your mesh &#8211; for example by starting the default walk animation, you see that your mesh behaves nicely and as expected. If your mesh starts looking weird again (which should never happen) you always can get it back into form by resetting the reset animation.<\/p>\n<h2>When using Bind Pose fails utterly<\/h2>\n<p>When you use bind pose then you can imagine your model will be bent into a T-Pose upon upload. To be clear: This is not exactly what happens, but this image is good enough to explain where things start going wrong. Lets make an example:<\/p>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<div id=\"attachment_4446\" style=\"width: 317px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image703.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4446\" class=\"wp-image-4446 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image703.png\" alt=\"\" width=\"307\" height=\"484\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image703.png 307w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image703-190x300.png 190w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><p id=\"caption-attachment-4446\" class=\"wp-caption-text\">Custom Rig in Blender<\/p><\/div>\n<p>(1) In Blender you matched your bind pose perfectly to your own model.<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_4447\" style=\"width: 317px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image704.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4447\" class=\"wp-image-4447 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image704.png\" alt=\"\" width=\"307\" height=\"484\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image704.png 307w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image704-190x300.png 190w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><p id=\"caption-attachment-4447\" class=\"wp-caption-text\">Same Rig bent into T-Pose<\/p><\/div>\n<p>(2) In SL we use the original T-Pose rig. Hence the character is forced into the T-Pose which might make your model look odd and distorted.<\/p>\n<\/div>\n<\/div>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>(3) On top of this the SL viewer applies the default gestures (stand pose, walk, etc.) to the T posed character. And consequently your model keeps the distortions&#8230;<\/p>\n<p><strong>Note:<\/strong> in this case the distortions happen on the chest. This is where the Skeleton was changed most from how it is setup in T Pose.<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image705.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4448\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image705.png\" alt=\"\" width=\"307\" height=\"484\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image705.png 307w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image705-190x300.png 190w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h3>How to fix this problem<\/h3>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<p>All you need to do is adding poses (single frame animations) and gestures to replace the default animations. Then you finally get back what you expected.<\/p>\n<p>However as soon as the poses terminate your mesh will fall back into the distorted restpose. So you need to use an AO (animation overrider) to permanently apply your poses to your mesh.<\/p>\n<p>Below you see how you can make a single frame stand pose:<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image706.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-4450 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image706.png\" alt=\"\" width=\"307\" height=\"484\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image706.png 307w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image706-190x300.png 190w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h4>How to create a Single Frame Animation<\/h4>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<ul>\n<li>Select the armature in Pose mode<\/li>\n<li>Create a static pose or a stand animation to your likes<\/li>\n<li>Keyframe using Locrot<\/li>\n<li>Export the animation<\/li>\n<\/ul>\n<p>You maybe want to add an animation loop as well.<\/p>\n<\/div>\n<div class=\"span6 rhcol\">\n<p><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-4451\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707.png\" alt=\"\" width=\"307\" height=\"484\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707.png 307w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707-190x300.png 190w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><\/p>\n<\/div>\n<\/div>\n<h3>How to avoid this problem all together<\/h3>\n<p>Atually in SL you want your meshes to behave just like any other T posed attachment does. So you need to provide a compatible rig. Here are some rules of thumb:<\/p>\n<ul>\n<li>Avoid Bone translation at any costs (only use rotations!)<\/li>\n<li>Do not rotate the Spine bones (from mPelvis up to mChest)<\/li>\n<li>If possible adjust only the mHip bones and the mShoulder bones<\/li>\n<\/ul>\n<p>In the images below you see a compatible rig for this model. It is not optimal but at least it will work with the standard Avatar animations.<\/p>\n<div class=\"row-fluid\">\n<div class=\"span6 rhcol\">\n<div id=\"attachment_4462\" style=\"width: 317px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707-1.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4462\" class=\"wp-image-4462 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707-1.png\" alt=\"\" width=\"307\" height=\"484\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707-1.png 307w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image707-1-190x300.png 190w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><p id=\"caption-attachment-4462\" class=\"wp-caption-text\">Custom Rig mostly compatible to the SL T-Pose Rig<\/p><\/div>\n<\/div>\n<div class=\"span6 rhcol\">\n<div id=\"attachment_4464\" style=\"width: 317px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image708.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-4464\" class=\"wp-image-4464 size-full\" src=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image708.png\" alt=\"\" width=\"307\" height=\"484\" srcset=\"https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image708.png 307w, https:\/\/avalab.org\/avastar\/292\/wp-content\/uploads\/2018\/10\/Image708-190x300.png 190w\" sizes=\"auto, (max-width: 307px) 100vw, 307px\" \/><\/a><p id=\"caption-attachment-4464\" class=\"wp-caption-text\">Same Custom Rig in Front View.<\/p><\/div>\n<\/div>\n<\/div>\n<h3>Summary<\/h3>\n<p>Bind to Pose in general is very capable instrument for your rigging. However it works best if the modifications on the Rig are small. Ideal candidates for Bind to Pose are A posed rigs. For anything else it might be easier to Custom Rigs with joint offsets.<\/p>\n\n<h2>Gotchas (things you never wanted to know)<\/h2>\n<p>Unexpected rotations on the feet &#8230; to be finished<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Working with Bind Poses In previous Avastar releases we always needed to eventually use the T-posed Character when we were creating models and attachments with human shapes. We did so to keep compatible to the SL\u00a0 T-Pose rig (experts may remember the Alter to Restpose Option that we provided for this purpose). In Avastar-2 we [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":4467,"parent":811,"menu_order":9,"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-4411","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/pages\/4411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/comments?post=4411"}],"version-history":[{"count":0,"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/pages\/4411\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/pages\/811"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/media\/4467"}],"wp:attachment":[{"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/media?parent=4411"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/categories?post=4411"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/avalab.org\/avastar\/292\/wp-json\/wp\/v2\/tags?post=4411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}