{"id":2151,"date":"2024-04-12T15:10:12","date_gmt":"2024-04-12T14:10:12","guid":{"rendered":"https:\/\/www.katsbits.com\/site\/?p=2151"},"modified":"2024-04-17T15:22:28","modified_gmt":"2024-04-17T14:22:28","slug":"imvu-pets","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/site\/imvu-pets\/","title":{"rendered":"Make Animated Pets For IMVU"},"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\/#Basics_Of_Animated_IMVU_Pets\" >Basics Of Animated IMVU Pets<\/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\/#How_Does_A_Pet_Work\" >How Does A Pet Work?<\/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\/#Where_To_Put_The_Pet\" >Where To Put The Pet<\/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\/#Animating_The_Pet_Making_It_Move\" >Animating The Pet &amp; Making It Move<\/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\/#Exporting_Pet_Animations\" >Exporting Pet Animations<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>This tutorial <b>assumes basic knowledge of using Blender 3D to create content<\/b>, including but not limited to; making and editing a mesh, applying materials to objects, UVW unwrapping and applying textures to objects, navigating the interface, creating actions and exporting objects out for use, as well as creating and applying vertex groups.<\/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>Note also the following was originally written with <b><a href=\"http:\/\/download.blender.org\/release\/Blender2.45\/\" title=\"Download Blender 2.45\" target=\"_blank\" rel=\"noopener\">Blender 2.45<\/a><\/b> (with <a href=\"http:\/\/www.python.org\/download\/releases\/2.5.4\/\" title=\"Download the correct version of Python for Blender 2.45\" target=\"_blank\" rel=\"noopener\"><b>Python 2.5.4<\/b><\/a> installed) in mind using the included CAL3D exporter. However, the same basic principles are used when using other versions of Blender.<\/p>\n<blockquote>\n<p class=\"red\"><b>Before you begin<\/b> it&#8217;s worth noting here that the complexity of your animations is currently restricted to relatively simply movements &#8211; <i>up-down<\/i>, <i>left-right<\/i>, <i>spin on a single axis<\/i> &#8211; because of the way IMVU decided to implemented the CAL3D format. As Blender isn&#8217;t fully compatible with IMVU you can expect your exported animations to be distorted and\/or corrupted on playback. <b><i>This is not a limitation of Blender, but of the export script and IMVU implementation of CAL3D.<\/i><\/b><\/p>\n<\/blockquote>\n<p>The tutorial also <b>assumes a model is already available<\/b> as a pet and ready to be prepped for export; it does not discuss how to actually model any content in 3D (it&#8217;s not the scope of this tutorial to cover that), but does <b>require an understanding of the terms and instructions stated<\/b>.<\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: <b>IMVUs default scale<\/b>, the size objects appear to be in the 3D View, is approximately <strong>100x LARGER<\/strong> than Blenders. Always start a project by <a href=\"https:\/\/www.katsbits.com\/files\/imvu\/katsbits_imvu-room-template.zip\" title=\"Download the ROOM template\" style=\"color: #900\">opening the appropriate template<\/a> for the product type being made to ensure everything is the correct size relative to IMVU, else scene &quot;<b>Scale<\/b>&quot; and &quot;<b>Clip<\/b>&quot; values will need to be increased to properly view view content (press &quot;<b>N<\/b>&quot; to access &quot;<b>View<\/b>&quot; properties, adjust &quot;<b>Scale:<\/b>&quot; under &quot;<b>Display<\/b>&quot;, and &quot;<b>Start:<\/b>&quot; and &quot;<b>End:<\/b>&quot; under &quot;<b>Clipping<\/b>&quot;).<\/p><\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"Basics_Of_Animated_IMVU_Pets\"><\/span> Basics Of Animated IMVU Pets<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Pets are basically <b>the same as any other avatar accessory<\/b> in that they are composed from three core component;<\/p>\n<ul>\n<li>Mesh<\/li>\n<li>Armature<\/li>\n<li>Animation<\/li>\n<\/ul>\n<p>The IMVU product item is then put together in a two stage process;<\/p>\n<ul>\n<li><b>Blender 3D<\/b><br \/>\nBuilding &amp; construction, animation and export to CAL3D (&#8216;xml&#8217; files) &#8211; it is not within the scope of this tutorial to show how you use Blender .<\/li>\n<li><b>IMVU Previewer<\/b><br \/>\nComposition in IMVU&#8217;s product creation tool, importing the CAL3D files into the Previewer.<\/li>\n<\/ul>\n<h3><span class=\"ez-toc-section\" id=\"How_Does_A_Pet_Work\"><\/span>How Does A Pet Work?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>As with any type of item for IMVU, a pet is &#8216;tagged&#8217; or &#8216;linked&#8217; to a bone or bones in the underlying skeleton of the avatar; it&#8217;s this that partly determines where the pet appears and how behaves in relation to the avatar and avatar actions. In other words, if the root of a pet is at it&#8217;s feet (a bird for example), the same pet could be &#8216;linked&#8217; to any given bone in the avatar and thus appear relative to the link bone &#8211; wrist, shoulder or toe areas.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Where_To_Put_The_Pet\"><\/span>Where To Put The Pet<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>When building the pet think about where it&#8217;s going to be positioned, usually a &#8216;flying&#8217; pet will be at shoulder height as it&#8217;s being made in Blender 3D, a floor pet is built close to or on the floor. Once the mesh is made the Armature needs to be created and as above needs to be positioned relative to the final outcome in the chat client.<\/p>\n<p>If the pet is to &#8216;fly&#8217; it&#8217;s best to create and position the &#8216;root&#8217; bone of the pet approximate to either\/or;<\/p>\n<ul class=\"courier\">\n<li>zHead<\/li>\n<li>AttachmentRoot<\/li>\n<\/ul>\n<p>If the pet is to not to be effected by avatar movements, then the root bone needs to be placed at the base of the avatar;<\/p>\n<ul class=\"courier\">\n<li>Female03MasterRoot<\/li>\n<\/ul>\n<div class=\"content_images\"><a href=\"\/images\/tutorials\/imvu_making_pets\/pet-positions.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"\/images\/tutorials\/imvu_making_pets\/pet-positions_sml.jpg\" width=\"428\" height=\"525\" alt=\"Although Pets can be placed anywhere, the pink boxes above show the usual locations for pets\" title=\"Although Pets can be placed anywhere, the pink boxes above show the usual locations for pets\" border=\"0\" \/><\/a><\/p>\n<p>Note the names of the main pet connection points, &quot;<b>Female03MasterRoot<\/b>&quot; at the feet of the avatar, &quot;<b>zHead<\/b>&quot; off to the side of the avatar at approximately shoulder height and &quot;<b>AttachmentRoot<\/b>&quot; at the base of the neck (hidden in this instance &#8216;under&#8217; another copy of Female03MasterRoot). Pets are typically &#8216;rooted&#8217; to these default locations.<\/p>\n<\/div>\n<p>What this all means is that as the pets armature is being created, <b>a bone will need to be moved to one of the locations mentioned and named appropriately<\/b>. It&#8217;s also important to note that <i>bone names aren&#8217;t so much important as the <b>relationship<\/b> between them; <b>the &#8216;root&#8217; bone must be the bone to which all other bones are connected<\/b><\/i>.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"Animating_The_Pet_Making_It_Move\"><\/span>Animating The Pet &amp; Making It Move<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; essentially a &#8216;static&#8217; pet.<\/li>\n<li>Move &#8216;independently&#8217; of the avatar &#8211; an &#8216;animated&#8217; 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; the <b>only difference<\/b> between an animated item and anything else is simply related to using more keyframes and more time to carry out a movement or motion.<\/p>\n<p>So, create actions as normal but extend their length and the complexity of movement of bones in the armatures associated with an object.<\/p>\n<blockquote>\n<p><b>Design note<\/b>: Although the &#8216;root&#8217; bones <b>should be keyframed<\/b> (at the start and end frame), they <b>should not<\/b> in actuality be moved or manipulated in any way.<\/p>\n<\/blockquote>\n<div class=\"content_images\"><a href=\"\/images\/tutorials\/imvu_making_pets\/imvu-pets-animations.jpg\" target=\"_blank\" rel=\"noopener\"><img loading=\"lazy\" decoding=\"async\" src=\"\/images\/tutorials\/imvu_making_pets\/imvu-pets-animations_sml.jpg\" width=\"428\" height=\"211\" title=\"List of individual animations timelines for each action\" alt=\"List of individual animations timelines for each action\" border=\"0\" \/><\/a><\/p>\n<p>List of individual animation&#8217;s timelines for each action<\/p>\n<\/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> for best results &#8211; <i>it&#8217;s not really 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>. At the end of this process there will be a number of different *.xaf files sitting in the projects folder, each one being a specific export of a particular animation action. These new files now need to be put together in IMVU&#8217;s 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":2146,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[14],"tags":[304,342,205,219,343,305,230,158,271,21,531,541,436,341,191,358,535,533,536],"class_list":["post-2151","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorials","tag-accessories","tag-action-editor","tag-animated","tag-animation","tag-armature","tag-attachments","tag-blender-2-4x","tag-cal3d","tag-export","tag-imvu","tag-imvu-creating","tag-imvu-files","tag-python","tag-rigging","tag-source-files","tag-vertex-groups","tag-xmf","tag-xrf","tag-xsf"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/2151","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=2151"}],"version-history":[{"count":2,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/2151\/revisions"}],"predecessor-version":[{"id":2153,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/posts\/2151\/revisions\/2153"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media\/2146"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/media?parent=2151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/categories?post=2151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/site\/wp-json\/wp\/v2\/tags?post=2151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}