{"id":8469,"date":"2024-02-26T10:04:00","date_gmt":"2024-02-26T10:04:00","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=8469"},"modified":"2024-09-19T17:14:26","modified_gmt":"2024-09-19T16:14:26","slug":"macos-blender-toolkit-expression","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/macos-blender-toolkit-expression\/","title":{"rendered":"MacOS, Blender 4 &#038; IMVU Toolkit \u2013 Avatar Expressions"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69fe0d2fdd214\" class=\"ez-toc-cssicon-toggle-label\"><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><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69fe0d2fdd214\"  aria-label=\"Toggle\" \/><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\/codex\/macos-blender-toolkit-expression\/#description\" >Description<\/a><ul class='ez-toc-list-level-4' ><li class='ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.katsbits.com\/codex\/macos-blender-toolkit-expression\/#tool-overview\" >Tool Overview<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.katsbits.com\/codex\/macos-blender-toolkit-expression\/#tool-use\" >Tool Use<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.katsbits.com\/codex\/macos-blender-toolkit-expression\/#pose-mode-auto-insert\" >Pose Mode, Auto Insert<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.katsbits.com\/codex\/macos-blender-toolkit-expression\/#action-name\" >Action Name<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-4'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.katsbits.com\/codex\/macos-blender-toolkit-expression\/#t-pose-reset\" >T-Pose Reset<\/a><\/li><\/ul><\/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\/codex\/macos-blender-toolkit-expression\/#timestamps\" >Timestamps<\/a><\/li><\/ul><\/nav><\/div>\n<div style=\"background-color: black; position: relative; padding-bottom: 56.25%; padding-top: 25px; height: 0; overflow: hidden; max-width: 100%;\"><center><iframe style=\"position: absolute; top: 0; left: 0; width: 100%; height: 100%;\" src=\"https:\/\/www.youtube.com\/embed\/CRMpWuPQWGw?rel=0\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/center><\/div>\n<h3><span class=\"ez-toc-section\" id=\"description\"><\/span>Description<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>In this exercise we take a look at making a simple <strong>facial expression<\/strong> for an avatar in Blender using the <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/imvu-studio-toolkit\/\">IMVU Toolkit<\/a> on <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/macos\/\">MacOS<\/a> (MacBook). With <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/imvu-studio-toolkit\/\">IMVU Studio Toolkit<\/a> open in the Sidebar (<span class=\"shortcutkey\">N<\/span>), load in an <strong>Animation Tool<\/strong> instance to access the rigged avatar. Make sure <strong>Pose Mode<\/strong> is active, and using the control elements that animate the face, create a sequence by manipulating the shapes. Once done this can then be exported using the Toolkits FBX exporter as a &#8216;morph&#8217; animation, itself then imported and assembled in Classic or IMVU Studio to make a triggerable facial animation or static expression.<\/p>\n<p><b>Duration<\/b>: total c. 20 mins (00:20:00).<br \/>\n<b>Info<\/b>: 1080p.<br \/>\n<b>Suitability<\/b>: Beginner+.<br \/>\n<b>Source<\/b>: <a href=\"https:\/\/www.katsbits.com\/files\/imvu\/katsbits - mac raspy pose.zip\">KatsBits \u2013 Facial Expression<\/a> (c. 1.5 MB | *.blend, *.fbx).<br \/>\n<b>Product ID<\/b>: n\/a.<\/p>\n<blockquote><p><strong>Design note<\/strong>: some additional points to keep in mind when using the Animation Tool to make facial expressions\/Shape Key (morph) sequences;<\/p>\n<h4><span class=\"ez-toc-section\" id=\"tool-overview\"><\/span>Tool Overview<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>The rig for animating the avatars face is essentially a two-part tool; part one [1] is a set of shapes positioned over the face that control areas of the mesh they are localised to, part two [2] is a control panel offset to one side with a number of gizmos and shapes that specifically controls the mouth. This division is necessary largely because there isn&#8217;t enough room for all the mouth control in one area.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-tool.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-tool.jpg\" alt=\"Control elements\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The facial animation tool is basically split in two; one half sits over the mesh [1], the other is a panel off to one side [2] to make controlling the mouth easier &#8211; the control nodes can&#8217;t all fit in the available area around the mouth.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"tool-use\"><\/span>Tool Use<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>In terms of behaviour, how the tool is used, each part of the mesh is manipulated by a specific, corresponding shape or a generic circle [3], each providing a different degree of control depending on the control shape itself and the maximum-minimum deformation, or &#8216;morph&#8217; (&#8216;Shape&#8217; in Blender), limitations associated with the part of the mesh being controlled. To use, with rig selected and in <strong>Pose Mode<\/strong> (<span>Control<\/span> + <span>Tab<\/span>), click a control node, which highlights green, and use the <strong>Move<\/strong> or <strong>Rotate<\/strong> manipulation to set a pose. A keyframe marker will be dropped into the Action Editor timeline [4] that can then be exported as part of a larger pose or sequence for IMVU as an FBX.<\/p>\n<div style=\"background-color: #fc0; color: #000; width:98.5%; padding: 1.0em;\"><strong>Important<\/strong>: <strong>Scale<\/strong> is not used in this context as associated pose\/bone data is ignored by IMVU. To change the relative size of something use the <strong>Bone Scale<\/strong> tool in IMVU Studio.<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-tool-use.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-tool-use.jpg\" alt=\"Using facial animation tool\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>A pose or animation is made by selecting individual control nodes [3] and manipulating them using the Move and Rotate tools. This creates a &#8216;keyframe&#8217; marker in the timeline [4] that store pose data for subsequent export to FBX.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"pose-mode-auto-insert\"><\/span>Pose Mode, Auto Insert<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>When the animation rig drops into the scene it may not be immediately available for posing because it&#8217;s in the wrong <em>interaction mode<\/em>. This can be confirmed by selecting the rig, the wires and shapes, which may highlight orange. If so, this confirms <strong>Object Mode<\/strong> and requires a mode switch to <strong>Pose Mode<\/strong>. To do this, make sure the rig is selected then from the <strong>Interaction Mode<\/strong> selector  click <strong>Pose Mode<\/strong> [5] from the drop down. Alternatively press <span class=\"shortcutkey\">Control<\/span> + <span class=\"shortcutkey\">Tab<\/span>. Similarly, before starting, to ensure poses data is automatically dropped into the timeline and doesn&#8217;t require manual insertion using <strong>Insert \u00bb Location &#038; Rotation<\/strong> (<span class=\"shortcutkey\">I<\/span> \u00bb Location &#038; Rotation), click the <strong>Auto Key<\/strong> [6] button.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-pose-mode.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-pose-mode.jpg\" alt=\"Interaction mode\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The avatar rig needs to be in Pose Mode to animate. Double-check the Interaction Mode is set to Pose Mode [5]. Additionally, enable <strong>Auto Key<\/strong> [6] to automatically insert keyframes for each manipulation into the timeline.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"action-name\"><\/span>Action Name<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>The toolkit defaults to naming animation sequences <strong>Control_ArmatureAction<\/strong>. If a number of animations need to be created this can result in accidently over-writing previously exported files because they too use the same name. To avoid this Actions can be renamed by clicking the Name input field and typing a new distinct label. On export this will then be used to name the file, i.e. renaming an Action &#8220;<em>raspberry<\/em>&#8221; results in an FBX file labelled <em>raspberry.fbx<\/em>.<\/p>\n<div style=\"background-color: #fc0; color: #000; width:98.5%; padding: 1.0em;\"><strong>Important<\/strong>: where several facial animations needs to be created, preference should be to save to, and export each sequence from, their own individual *.blend files.<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-rename-action.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-rename-action.jpg\" alt=\"Rename Action\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Renaming an Action sequence help avoid over-writing exist FBX files as the tools defaults to using the same name. Click, type the <strong>Name<\/strong> [7] input field to rename both the sequence and subsequent FBX exports.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"t-pose-reset\"><\/span>T-Pose Reset<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>When exporting a facial expression using the Toolkit, the default pose for the avatar will be included also, imported into Studio this will show two or more components; for <strong>Empty Mood<\/strong> derivations that will be the &#8216;morph&#8217; (face) and &#8216;skeletal&#8217; (body) data; for <strong>Avatar<\/strong> derivations that will be the &#8216;morph&#8217; (face), &#8216;skeletal&#8217; (body) and &#8216;skeleton&#8217; data. To import only morph data, deselect any other data presented regardless of the derivable base, Empty Mood or Avatar, complete the process and then assign the converted XPF to the <strong>Morph Animation<\/strong> [8] property of the Ensemble.<\/p>\n<div style=\"background-color: #fc0; color: #000; width:98.5%; padding: 1.0em;\"><strong>Important<\/strong>: depending on the <strong>Ensembles<\/strong> settings, facial animations and actions generally blend with other sequences that might be in use by the avatar &#8211; essentially this is why morph actions work with the base avatars, the default Action sequences are still active so stand an increased probability of replacing or override the possibility of the T-Pose appearing. In some circumstances however, usually where custom actions are mixed-and-matched, the T-Pose may still appear when using the base avatars.<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-t-pose.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-mac\/facial-animation-t-pose.jpg\" alt=\"Avoiding T-Pose\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Depending on the derivable used the avatar may reset to the T-Pose importing facial animations only.<\/i>\n<\/p><\/blockquote>\n<h3><span class=\"ez-toc-section\" id=\"timestamps\"><\/span>Timestamps<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Times are approximate;<br \/>\n &#8211; 00:00 : Tool Overview<br \/>\n &#8211; 04:00 : Expression<br \/>\n &#8211; 09:00 : Prep &#038; Export<br \/>\n &#8211; 11:00 : IMVU Studio, Empty Mood<br \/>\n &#8211; 15:00 : IMVU Studio, Avatar<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":9364,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,37,1045,230],"tags":[217,622,200,738,835,1049,623,1044,765,753],"class_list":["post-8469","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-imvu","category-macos","category-tutorials","tag-action-editor","tag-animation","tag-avatar-poses","tag-imvu-studio","tag-imvu-studio-toolkit","tag-imvu-toolkit","tag-keyframes","tag-macos","tag-morphs","tag-shape-keys"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/8469","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/comments?post=8469"}],"version-history":[{"count":25,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/8469\/revisions"}],"predecessor-version":[{"id":8516,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/8469\/revisions\/8516"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/9364"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=8469"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=8469"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=8469"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}