{"id":6837,"date":"2023-02-09T16:15:25","date_gmt":"2023-02-09T16:15:25","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=6837"},"modified":"2024-04-22T08:56:22","modified_gmt":"2024-04-22T07:56:22","slug":"toolkit-accessory-particles","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/toolkit-accessory-particles\/","title":{"rendered":"Toolkit &#8211; Accessory + Particles"},"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-69fc589499568\" 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-69fc589499568\"  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\/toolkit-accessory-particles\/#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\/toolkit-accessory-particles\/#armature-as-origin\" >Armature as Origin<\/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\/toolkit-accessory-particles\/#verify-skeleton\" >Verify Skeleton<\/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\/toolkit-accessory-particles\/#particle-basics\" >Particle Basics<\/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\/toolkit-accessory-particles\/#particle-directionorientation\" >Particle Direction\/Orientation<\/a><\/li><\/ul><\/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\/codex\/toolkit-accessory-particles\/#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\/XwcWIfLIX54?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 <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/accessory\/\">Accessory<\/a> item, a <i>bubble straw<\/i>, that&#8217;s set-up to utilise the <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/imvu-studio\/\">IMVU Studio&#8217;s<\/a> <b>Particle System<\/b>. Creating a new <a href=\"https:\/\/www.katsbits.com\/codex\/?s=Attachment+Tool\"><b>Attachment Tool<\/b><\/a> project, a simple &#8216;straw&#8217; mesh is first made and positioned at the avatars mouth. Next, the mesh is &#8216;rigged&#8217; using the Toolkit and the resulting Attachment.RIG modified to include a new &#8216;origin&#8217; bone for the particle. Once set up, the project is exported to FBX and imported into <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/imvu-studio\/\">IMVU Studio<\/a> for assembly where a custom &#8216;bubble&#8217; image, created externally using <a href=\"https:\/\/www.katsbits.com\/codex\/tag\/affinity-photo\/\">Affinity Photo<\/a>, is used as the particles &#8216;bubble&#8217; effect.<\/p>\n<p><b>Duration<\/b>: total c. 40 mins (00:40: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 - toolkit accessory + particle.zip\">KatsBits \u2013 Accessory + Particle Effect<\/a> (c.1.0 MB, *.blend, *.fbx, *.png). Requires installation of the toolkit for Blender. Open in Blender 2.93 LTS (preferred) or above.<br \/>\n<b>Product ID<\/b>: <a href=\"https:\/\/www.imvu.com\/shop\/product.php?products_id=62533177\" rel=\"noopener\" target=\"_blank\">Bubble Straw<\/a> (PID 62533177).<\/p>\n<blockquote><p><b>Design note<\/b>: additional concerns to be mindful of when making content to be used with IMVU&#8217;s particle system;<\/p>\n<h4><span class=\"ez-toc-section\" id=\"armature-as-origin\"><\/span>Armature as Origin<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>The Armature associated with an accessory mesh does not necessarily need extra bones to use particles as the effect can be manually offset from an attachments default <i>AttachmentRoot<\/i> or <i>AttachmentNode<\/i> bones in IMVU Studio (<b><i>Inspector \u00bb ORIGIN \u00bb Position<\/i><\/b>). However, positioning the effect exactly where it needs to be can be tricky without specific &#8216;origin&#8217; bones, especially for avatar bones that are &#8216;rolled&#8217; or rotated around their axes, or that don&#8217;t aligned to the world (causing the effect to be off-kilter in some way). With this in mind make sure to be editing the correct Armature in Blender,  <b>Attachment.RIG<\/b> [1] and not <b>Head<\/b> [2], the object that appears <i>after<\/i> clicking <b>Setup Mesh<\/b> in the Attachment Tool.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-rig.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-rig.jpg\" alt=\"Attachment.RIG Armature\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-head.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-head.jpg\" alt=\"Head Armature\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Be sure to edit the correct Armature when adding bones to an accessory skeleton; <b>Attachment.RIG<\/b> [1] has TWO bones by default, Head [2] only ONE.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"verify-skeleton\"><\/span>Verify Skeleton<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Because additional bones are being added to Attachment.RIG, after importing the Blender exported FBX into IMVU Studio, double-check the skeleton by enabling the <b>Skeleton<\/b> visual aid option [3]. Once active all available skeletal structures will be displayed as a wire [4], an RGB widget indicating the orientation of the top and bottom &#8216;nodes&#8217; of each bone.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-studio-skeleton.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-studio-skeleton.jpg\" alt=\"Enabling Skeleton wire view\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Check Attachment.RIG has imported with extra bones by enabling the Skeleton visual option [3], which display bones as interconnected yellow lines [4].<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"particle-basics\"><\/span>Particle Basics<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>Basic particles are defined by four properties;<br \/>\n&#8211; <b>Emission<\/b> : controls the <i>physical appearance<\/i> of particles.<br \/>\n&#8211; <b>Origin<\/b> : controls <i>where &#038; how<\/i> particles spawn or emit from.<br \/>\n&#8211; <b>Direction<\/b> : defines the <i>direction<\/i> or axes of movement.<br \/>\n&#8211; <b>Gravity<\/b> : defines particle <i>behaviour<\/i> relative to the world.<\/p>\n<p>For the purposes of the project described above, overall, <b>Emission<\/b> [5] properties generate bubbles that are similar in size while having random variance based on the <b>Min: 0.1<\/b>, <b>Max 0.2<\/b> attribute for <b>Size<\/b> &#8211; this generally governs the relative scaling between individual particle instances. Everything else generally defines the number and speed with which particles appear.<\/p>\n<p>Be default <b>Origin<\/b> [6], the place where particles spawn or appear, is essentially a three-dimensional volume or a flat two-dimensional shape. To define a <i>point-of-origin<\/i> as an alternative to a shape or volume, <b>Radius<\/b> has to be set so <b>Start<\/b> and <b>End<\/b> are both 0, e.g. <b>Start: 0<\/b>, <b>End: 0<\/b>.<\/p>\n<div style=\"background-color: #fc0; color: #000; width:98.5%; padding: 1.0em;\"><b>Note<\/b>: in addition to setting the origin Node, particle location can be further modified by manually setting the X, Y and Z <b>Position<\/b> coordinates, which uses the Node as the local origin of the offset.<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-particle-emission.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-particle-emission.jpg\" alt=\"IMVU Studio particle Emission\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Once a <b>Particle<\/b> is assigned it can be edited in <b>Particle Inspector<\/b>. Here <b>Emission<\/b> properties generally govern the particles appearance [5], with <b>Origin<\/b> [6] changing how the particles spawn.<\/i><\/p>\n<h4><span class=\"ez-toc-section\" id=\"particle-directionorientation\"><\/span>Particle Direction\/Orientation<span class=\"ez-toc-section-end\"><\/span><\/h4>\n<p>To define the general axes along which the particles travel absent any gravitational influence (see below), <b>Direction<\/b> properties need to be set. Here, the <b>X<\/b>, <b>Y<\/b> and <b>Z<\/b> attributes for <b>Direction<\/b> can be set as positive values, i.e. <b>X: 1<\/b>, or negative values to invert or reverse the direction. In practice, and depending on the origin bones orientation, with Y set to 1, i.e. <b>Y: 1<\/b>, particles will move forward of the spawn point, whereas set to -1, i.e. <b>Y: -1<\/b>, particles will travel backwards from the same point of origin.<\/p>\n<p>The path along which particles travel can be further influenced by setting <b>Gravity<\/b>. Here, <b>Position<\/b> can be set to change the behaviour of the emitted particles based on other settings present<\/p>\n<div style=\"background-color: #fc0; color: #000; width:98.5%; padding: 1.0em;\"><b>Note<\/b>: both <b>Direction<\/b> and <b>Gravity<\/b> can be set to use a one, two or all three of the available X, Y or Z axes depending the effect wanted.<\/div>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-particle-direction.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/attachment-particle-direction.jpg\" alt=\"IMVU Studio particle Direction\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Particle travel alone a path based on <b>Direction<\/b> [7] that can be influence by <b>Gravity<\/b> [8]. To set a positive or forward travel use &#8216;positive&#8217; values (no preface), for reverse or backwards use negative (prefaced &#8220;-&#8220;)<\/i><\/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 : Start &#038; Basic Mesh<br \/>\n &#8211; 06:00 : Materials &#038; UVs<br \/>\n &#8211; 10:00 : Attachment Rig Setup<br \/>\n &#8211; 21:00 : Image Save &#038; FBX Export<br \/>\n &#8211; 22:30 : Studio Import &#038; Assembly<br \/>\n &#8211; 27:00 : Particle Setup<br \/>\n &#8211; 35:30 : Bubble Texture &#038; Material<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":6863,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,37,32,230],"tags":[575,939,725,927,194,738,835,268,717,724,156],"class_list":["post-6837","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-imvu","category-texturing","category-tutorials","tag-accessory","tag-affinity-photo","tag-armature","tag-attachment-tool","tag-imvu","tag-imvu-studio","tag-imvu-studio-toolkit","tag-opacity","tag-particles","tag-skeleton","tag-textures"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/6837","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=6837"}],"version-history":[{"count":27,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/6837\/revisions"}],"predecessor-version":[{"id":6864,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/6837\/revisions\/6864"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/6863"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=6837"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=6837"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=6837"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}