{"id":2145,"date":"2024-04-12T15:04:56","date_gmt":"2024-04-12T14:04:56","guid":{"rendered":"https:\/\/www.katsbits.com\/site\/?p=2145"},"modified":"2024-04-17T15:22:36","modified_gmt":"2024-04-17T14:22:36","slug":"imvu-pets-advanced","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/","title":{"rendered":"Make Animated Pets for IMVU #2 &#8211; Prep &#038; Export"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_80 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Whats_Needed_To_Make_An_IMVU_Pet\" >What&#8217;s Needed To Make An IMVU Pet?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#The_Mesh_Component\" >The Mesh Component<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#The_Armature_Component\" >The Armature Component<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Where_To_Place_An_Armature_Its_Physical_Location\" >Where To Place An Armature, It&#8217;s Physical Location<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Ground_Based_Pet\" >Ground Based Pet<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Shoulder_Height\" >Shoulder Height<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Shoulder_Height_Non-Moving\" >Shoulder Height, Non-Moving<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Placement_Naming\" >Placement &amp; Naming<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Bone_Relationships_Parents\" >Bone Relationships &amp; Parents<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Individual_Bone_Orientation\" >Individual Bone Orientation<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#An_Action\" >An Action<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-12\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pets-advanced\/#Exporting_Pet_Animations\" >Exporting Pet Animations<\/a><\/li><\/ul><\/nav><\/div>\n<p>Making a pet for IMVU is <i>just as easy as making any other item<\/i> as also requires a &#8216;<b>mesh<\/b>&#8216; (the object itself) and a &#8216;<b>skeleton<\/b>&#8216; (the armature everything is &#8216;attached&#8217; to &#8211; also referred to as a &quot;rig&quot;).<\/p>\n<blockquote style=\"background-color: #ddecf3; color: #000;\"><p><b>Download<\/b>: <a title=\"Download source file\" href=\"https:\/\/www.katsbits.com\/site\/imvu-pet-template\/\">Katsbits IMVU Templates for Blender<\/a> (*.blend, *.jpg, *.png, *.xsf, *.xrf, *.xmf).<\/p><\/blockquote>\n<p>The images directly below show the top, side and front view of a simple &#8216;pet&#8217; (&quot;Monster in a Box&quot;) made for IMVU using Blender 3D. Note that although this pet has a number of bones in the armature, that&#8217;s not an absolute necessary.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Whats_Needed_To_Make_An_IMVU_Pet\"><\/span>What&#8217;s Needed To Make An IMVU Pet?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In order for <i>any item<\/i> to work in IMVU it has <i><b>three requirements<\/b><\/i>;<\/p>\n<ul>\n<li><b>Mesh<\/b> &#8211; the mesh can be composed of a number of separate objects and materials during construction, however, the mesh objects need to be joined together into a single mesh before exporting; this results in one single object with one or many material and\/or texture references.<\/li>\n<li><b>Armature<\/b> &#8211; only a single armature will be exported. Make sure that it a number of armature have been used and animation action created that those animation play correctly when applied to the &#8216;joined&#8217; master armature that&#8217;s needed for export to CAL3D.<\/li>\n<li><b>Action<\/b> &#8211; animation actions can be of any number and any length. Keep in mind that the longer the animation the larger the resulting file after export; although text based and easily compressed into a product *.cfl, it&#8217;s best to keep in mind the overall 2MB file size limit on the *.cfl files saved and used by IMVU product system.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"The_Mesh_Component\"><\/span>The Mesh Component<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The mesh needs to have <b>at least one material applied<\/b> and <b>one texture UVW mapped<\/b> to it. It also needs to be <b>vertex weighted<\/b> and <b>parented<\/b> to the armature &#8211; by default only one vertex group is need, however, if the pet is to be animated in some fashion a vertex group per bone name may be necessary (depending on the results wanted).<\/p>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-root-bones.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-root-bones_sml.jpg\" width=\"428\" height=\"464\" alt=\"'master' bones in the avatar rig used to place pets\" title=\"'master' bones in the avatar rig used to place pets\" border=\"0\" \/><\/a><\/p>\n<p>&#8216;Pet&#8217; placement relative to the two main &#8216;root&#8217; bones in the IMVU avatars master skeleton (shows only &quot;Female03MasterRoot&quot; and &quot;zHead&quot;); where a pet appears in IMVUs chat client is dependant on these two bones.<\/p>\n<\/div>\n<p>The image above displays the two &#8216;master&#8217; or &#8216;root&#8217; bones &#8211; &quot;<b>Female03MasterRoot<\/b>&quot; and &quot;<b>zHead<\/b>&quot; &#8211; both of which can act as a &#8216;root&#8217; location point of reference for the positioning of the pet as well as the generally accepted &#8216;zones&#8217; (the pink boxes) where pet meshes actually sit when used in the chat client; &quot;Position 1&quot; and &quot;Position 2&quot; are the primary locations used to place pets but they can, in theory, be placed anywhere around the avatar.<\/p>\n<p>A <b>mesh must be vertex parented to the individual bones of the master armature<\/b> used by the pet. The number of vertex groups created depends on the number of bones in an armature and\/or if any given bone has an effect on the mesh (for example, &#8216;arm&#8217; bones moving an &#8216;arm&#8217; mesh section). Select the mesh and press &quot;<b>TAB<\/b>&quot; to enter &quot;<b>EDIT mode<\/b>&quot;. Press &quot;<b>A<\/b>&quot; to select all faces\/vertexes (may need to do this twice, once to clear any previously selected faces, and again to reselect everything). In the editing buttons window (<b>F9<\/b>) find the panel titled &quot;<b>Links and Materials<\/b>&quot; and within that find &quot;<b>Vertex Groups<\/b>&quot;. Click &quot;<b>New<\/b>&quot; to create a new vertex group and in the text box that appears type &quot;<b>Female03MasterRoot<\/b>&quot; and hit keyboard &quot;<b>return\/enter<\/b>&quot;.<\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important note<\/b>: <b>names are case sensitive<\/b>; &quot;female03masterroot&quot; is not the same as &quot;Female03MasterRoot&quot;<\/p><\/blockquote>\n<p>Once the new group has been created click the &quot;<b>Assign<\/b>&quot; button; this will then assign the new vertex group to the selected faces\/vertexes of the mesh. This can be tested by clicking the &quot;<span><b>Desel<\/b><\/span><b>.<\/b>&quot; and &quot;<b>Select<\/b>&quot; buttons to see if the mesh faces are selected and de-selected. Repeat the above steps for each bone used to animate part of the pet mesh. If the pet is &#8216;static&#8217;, in that it doesn&#8217;t animate, then only one vertex group needs to be created, which is named (parented) the same as the armatures root bone. The above step needs to be repeated for every part of the mesh that is controlled by a bone and able to move as a result. Vertex groups are an important part of &#8216;animation&#8217;.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"The_Armature_Component\"><\/span>The Armature Component<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The armature needs to have a <b>minimum of two bones<\/b>; a &#8216;<b>root<\/b>&#8216; and an &#8216;<b>ancillary<\/b>&#8216; bone (note; &quot;ancillary&quot; bone can be named something else). Both are required; if the pet is to be <b>animated<\/b> in some fashion then more bones may be necessary, each of which needs to be <b>uniquely named with an associated vertex group present in the mesh<\/b>.<\/p>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/pet-armatures-where.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/pet-armatures-where_sml.jpg\" width=\"428\" height=\"500\" alt=\"Relative positions of normal armature placement for pets\" title=\"Relative positions of normal armature placement for pets\" border=\"0\" \/><\/a><\/p>\n<p>Relative positions of normal armature placement for pets<\/p>\n<\/p><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Where_To_Place_An_Armature_Its_Physical_Location\"><\/span>Where To Place An Armature, It&#8217;s Physical Location<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Where the armature is placed depends on what the pet is and what it is expected to do.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Ground_Based_Pet\"><\/span>Ground Based Pet<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Has an armature root approximate to &#8216;<b>feet<\/b>&#8216; of the avatar. A ground based pet will shift and move when ever the avatar itself moves location, i.e. when carrying out an action with another avatar, the pet will move to the same location the avatar does.<\/p>\n<blockquote class=\"clear_styling\">\n<p>The <b>root bone<\/b> is &quot;<b class=\"courier\">Female03MasterRoot<\/b>&quot;<\/p>\n<\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"Shoulder_Height\"><\/span>Shoulder Height<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Has an armature root approximate to the &#8216;<b>head<\/b>&#8216; of the avatar. Similar to the above, except the pet will also carry out similar &#8216;actions&#8217; &#8211; that is, ranges of movement &#8211; based on what the avatar does, i.e. if the avatar does a back-flip, the pet will also do one.<\/p>\n<blockquote class=\"clear_styling\">\n<p>The <b>root bone<\/b> is &quot;<b class=\"courier\">Head<\/b>&quot;, &quot;<b class=\"courier\">zHead<\/b>&quot;, &quot;<b class=\"courier\">AttachmentRoot<\/b>&quot; or &quot;<b class=\"courier\">AttachmentNode<\/b>&quot; depending on what range of motion is required.<\/p>\n<\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"Shoulder_Height_Non-Moving\"><\/span>Shoulder Height, Non-Moving<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Has an armature root at the &#8216;<b>feet<\/b>&#8216; of the avatar but the actual pet approximate to the &#8216;<b>head<\/b>&#8216;. This allows the pet to appear at shoulder height but not be effected by any movement based on what the avatar does except when carrying out &#8216;global&#8217; actions (moving from one spot to another).<\/p>\n<blockquote class=\"clear_styling\">\n<p>The <b>root bone<\/b> is &quot;<b>Female03MasterRoot<\/b>&quot;.<\/p>\n<\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"Placement_Naming\"><\/span>Placement &amp; Naming<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The placement of the pet relative to the avatar is done in the IMVU Previewer so the root bones does not necessarily need to be called &quot;<b>Female03MasterRoot<\/b>&quot;, however, for practical reasons it&#8217;s often convenient to call it that or <i>something that makes it clear it&#8217;s the &#8216;<b>ROOT<\/b>&#8216; bone<\/i>.<\/p>\n<p>When creating the pet in Blender however, it&#8217;s best to think of, position and work on the pet based around its position, <b>where it will <i>appear in the client<\/i><\/b> and <b>to which <i>avatar bone<\/i> its to be parented<\/b> to (see above).<\/p>\n<p>The reason for this is that if working on a flying pet that has a root bone placed at the avatars feet (Female03MasterRoot), subsequently connected the pet to &quot;zHead&quot; in the Previewer will result in the pet being too far above the avatars head &#8211; this is due to the distance between the pet itself and the root bone being constructed in Blender relative to a pet that should have been connected to Female03MasterRoot, not zHead.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Bone_Relationships_Parents\"><\/span>Bone Relationships &amp; Parents<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The root bone (&quot;Female03MasterRoot&quot; in this instance) <b>must not<\/b> have any &#8216;parents&#8217;, it should be the top of the bone chain &#8211; <b>everything links to it<\/b> and not the other way around, so &quot;<span><b>Root &laquo; body &laquo; bouncy-bit<\/b><\/span>&quot; would be the correct format, not, &quot;<b>body &laquo; Root &laquo; bouncy-bit<\/b>&quot;.<\/p>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-pers.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-pers_sml.jpg\" alt=\"Female03MasterRoot shown as the 'root' or 'master' bone to which everything is conencted\" title=\"Female03MasterRoot shown as the 'root' or 'master' bone to which everything is conencted\" border=\"0\" \/><\/a><\/p>\n<p>Female03MasterRoot shown as the &#8216;root&#8217; or &#8216;master&#8217; bone to which<br \/>\neverything is connected<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-top.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-top_sml.jpg\" width=\"428\" height=\"298\" alt=\"Top view showing bone relationships\" title=\"Top view showing bone relationships\" border=\"0\" \/><\/a><\/p>\n<p>Top view showing bone relationships<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making_pet_imvu_side.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-side_sml.jpg\" width=\"428\" height=\"298\" alt=\"Front view (relative to pet) showing bone relationships\" title=\"Front view (relative to pet) showing bone relationships\" border=\"0\" \/><\/a><\/p>\n<p>Front view (relative to pet) showing bone relationships<\/p>\n<\/p><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Individual_Bone_Orientation\"><\/span>Individual Bone Orientation<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>When adding an armature for use it&#8217;s best to <b>add the object when in top view<\/b> so as to minimise any problems associated with rotating the bones in edit mode. Looking down on a scene that would mean;<\/p>\n<ul>\n<li>&quot;<b>Y axis<\/b>&quot; points &#8216;<b>up<\/b>&#8216; (to the top of the screen).<\/li>\n<li>&quot;<b>X axis<\/b>&quot; points to the &#8216;<b>right<\/b>&#8216;.<\/li>\n<li>&quot;<b>Z axis<\/b>&quot; points &#8216;<b>out<\/b>&#8216; (towards the viewer so it can&#8217;t be seen).<\/li>\n<\/ul>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-root-bone-top.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-root-bone-top_sml.jpg\" width=\"428\" height=\"353\" alt=\"IMVU 'pet' (&quot;Box Monster&quot;) looking down from &lt;b&raquo;top view&lt;\/b&raquo; showing bone axis orientations in 'orthgraphic' view\" title=\"IMVU 'pet' (&quot;Box Monster&quot;) looking down from &lt;b&raquo;top view&lt;\/b&raquo; showing bone axis orientations in 'orthgraphic' view\" border=\"0\" \/><\/a><\/p>\n<p>IMVU &#8216;pet&#8217; (&quot;Box Monster&quot;) looking down from <b>top view<\/b> showing bone axis orientations in &#8216;orthographic&#8217; view<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-root-bone-pers.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-root-bone-pers_sml.jpg\" width=\"428\" height=\"353\" alt=\"Perspective view of &quot;Box Monster&quot; IMVU 'pet' show bone orientation\" title=\"Perspective view of &quot;Box Monster&quot; IMVU 'pet' show bone orientation\" border=\"0\" \/><\/a><\/p>\n<p><b>Perspective view<\/b> of &quot;Box Monster&quot; IMVU &#8216;pet&#8217; show bone orientation<\/p>\n<\/p><\/div>\n<h3><span class=\"ez-toc-section\" id=\"An_Action\"><\/span>An Action<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>This is distinct from the section above about bone positions as this is related to <b>what<\/b> the pet does <b>rather than where<\/b> it does it. What this means is that there are two types of &#8216;movement&#8217; achievable with pets;<\/p>\n<ul>\n<li>Only move when the avatar moves &#8211; a &#8216;<b>static<\/b>&#8216; pet.<\/li>\n<li>Move &#8216;independently&#8217; of the avatar &#8211; an &#8216;<b>animated<\/b>&#8216; pet.<\/li>\n<\/ul>\n<p>Although <b>both do require<\/b> an &#8216;action&#8217; (animation) be present before exporting anything from Blender to CAL3D for use in IMVU, the latter is a little more involved as it means <b>creating &#8216;extended&#8217; animation&#8217;s<\/b> that progress along the timeline for several seconds or minutes depending on the desired results. Note that the only difference between an animated item and anything else is simply related to using more keyframes and more time to carry out a movement or motion and then using that information in IMVU.<\/p>\n<p>To make an extended animation then, open the <b>Action Editor<\/b> (&quot;<b>Shift+F12<\/b>&quot;). <b>Create a NEW Action<\/b> by selecting &quot;<b>Add New<\/b>&quot; from the drop down list in the header bar to create a new Action &#8211; this will duplicate the currently selected action. Rename where appropriate (changing the name in the Header). Select the armature and enter <b>POSE mode<\/b> (<b>Ctrl+TAB<\/b>). Select and position a bone then press &quot;<b>I<\/b>&quot; and select &quot;<b>Insert LocRotScale<\/b>&quot; or &quot;<b>Insert LocRot<\/b>&quot; to <b>insert a keyframe at frame &quot;<span>1<\/span>&quot;<\/b>. <b>Left click<\/b> in the timeline or <b>click on the playback marker<\/b> (by default a green line) and <b>drag it along the timeline<\/b> to where the next keyframe will be placed (alternatively, with the mouse pointer in the Action window use the arrow and Shift+Arrow keys to move the time line). <b>Pose bones<\/b> (manipulate them using the usual manipulation tools) and then press &quot;<b>I<\/b>&quot; again to <b>insert a new keyframe<\/b> at marked. Repeat until the timeline is extended for a number of frames relative to the bone movement required to carry out the animated action itself. Repeat the process for each movement required, creating a &#8216;new&#8217; action for each of &quot;walk&quot;, &quot;run&quot;, &quot;fly&quot; and so on, for example.<\/p>\n<div class=\"content_images\"><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-action.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/making-pet-imvu-action_sml.jpg\" width=\"428\" height=\"241\" alt=\"A 'walk' cycle animation\" title=\"A walk cycle animation\" border=\"0\" \/><\/a><\/p>\n<p>&quot;Walk&quot; animation Action<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/imvu-pets-animations-blink.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/imvu-pets-animations-blink_sml.jpg\" width=\"428\" height=\"211\" alt=\"A 'blink' animation\" title=\"A 'blink' animation\" border=\"0\" \/><\/a><\/p>\n<p>&quot;Blink&quot; animation Action<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/imvu-pets-animations-pounce.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu_making_pets\/imvu-pets-animations-pounce_sml.jpg\" width=\"428\" height=\"211\" alt=\"A 'pounce' animation\" title=\"A 'pounce' animation\" border=\"0\" \/><\/a><\/p>\n<p>&quot;Pounce&quot; animation Action<\/p>\n<\/p><\/div>\n<h3><span class=\"ez-toc-section\" id=\"Exporting_Pet_Animations\"><\/span>Exporting Pet Animations<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p><b>Each pet movement needs a separate action\/animation<\/b> and each of these animation&#8217;s need to be <b>exported individually<\/b> &#8211; <i>it&#8217;s not possible to &#8216;batch&#8217; export animation data so each action has to go through the CAL3D export process on it&#8217;s own<\/i>. Once a series of separate animation &#8216;Actions&#8217; has been made they can be exported one-at-a-time. To Export <b>RMB<\/b> to select the armature (in either &#8216;Pose&#8217; or &#8216;Object&#8217; mode). Or, select the mesh and then the Armature if this is the first export in a series. Next select from the drop down list in the <b>Action Editor<\/b> the <b>appropriate animation<\/b> to apply to the armature and then &#8216;play&#8217; it (mouse over the 3D window, then press keyboard &quot;<b>Alt+A<\/b>&quot;) to make sure all is correct before export. With sequence active in the Action Editor and assigned to the Armature, click &quot;<b>File &raquo; Export &raquo; Cal 3D (.cfg .xaf .xsf .xmf, .xrf)&#8230;<\/b>&quot;. The Browse window will appear. Here <b>appropriately name the file<\/b> then click the button titled &quot;<b>Cal3D Export<\/b>&quot;. In the <b>pop up that appears<\/b>, leave everything &#8216;<b>as is<\/b>&#8216; (use defaults) and click &quot;<b>OK<\/b>&quot;. The files will then be exported to Cal3D. <b>Repeat<\/b> the steps above <b>for each individual action<\/b>.<\/p>\n<blockquote>\n<p><b>Design note<\/b>: make sure to <b>select the armature and apply<\/b> one of the other actions before repeating the process again. Be sure also to change the name of each exported file in the file save view so as not to overwrite previous exports, the CAL3D exporter won&#8217;t do this for you.<\/p>\n<\/blockquote>\n<p>At the end of this process there will be a number of different *.xaf files, each one being a specific export of a particular animation action. These new files now need to be put together in IMVUs Previewer tool.<\/p>\n<div class=\"subNav\">\n<p>[1: <a href=\"https:\/\/www.katsbits.com\/site\/make-pets\/\" title=\"Making animated pets for IMVU with Blender 3D\" target=\"_self\" rel=\"noopener\">Pet Basics<\/a> | 2: <a href=\"https:\/\/www.katsbits.com\/site\/make-pets-advanced\/\" title=\"Advanced options for making IMVU pets with Blender 3D\" target=\"_self\" rel=\"noopener\">Prep &#038; Export<\/a> | 3: <a href=\"https:\/\/www.katsbits.com\/site\/make-pets-assembly\/\" title=\"Putting pets together in the Previewer\" target=\"_self\" rel=\"noopener\">Assembly<\/a>]<\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":2147,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[342,215,219,343,230,158,271,21,531,541,491,539,357,436,432,216,356,191,535,533,536],"class_list":["post-2145","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-action-editor","tag-add-on","tag-animation","tag-armature","tag-blender-2-4x","tag-cal3d","tag-export","tag-imvu","tag-imvu-creating","tag-imvu-files","tag-keyframes","tag-locrot","tag-pose-mode","tag-python","tag-scale","tag-script","tag-skeleton","tag-source-files","tag-xmf","tag-xrf","tag-xsf"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/2145","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/comments?post=2145"}],"version-history":[{"count":2,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/2145\/revisions"}],"predecessor-version":[{"id":2150,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/2145\/revisions\/2150"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media\/2147"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media?parent=2145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/categories?post=2145"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/tags?post=2145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}