{"id":6870,"date":"2023-02-16T10:52:38","date_gmt":"2023-02-16T10:52:38","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=6870"},"modified":"2023-09-07T15:49:27","modified_gmt":"2023-09-07T14:49:27","slug":"particles-imvu-studio","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/particles-imvu-studio\/","title":{"rendered":"Particle Basics in IMVU Studio"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_83 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-6a0ba35dcf8ad\" 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-6a0ba35dcf8ad\"  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\/particles-imvu-studio\/#description\" >Description<\/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\/codex\/particles-imvu-studio\/#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\/o3tMGaBxl4k?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>Particle effects for IMVU can now be created in IMVU Studio directly using the particle editor. No 3D, or DeBug text hacking, required. To create a basic effect, derive an item, typically an Empty Accessory, and in <b>Component<\/b> properties add a new <b>Particle<\/b> instance. This generates a host of options that can be edited to control the behaviour and appearance of the effect. Once set the particles material can be edited to add a Diffuse and optionally, an Opacity to define the shape of each particle, and enabling other options, e.g. enabling <b>Emission<\/b>, to make the effect glow. This can then be saved and uploaded without needing to do any further editing.<\/p>\n<p><b>Duration<\/b>: total c. 25 mins (00:25: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 - particle heart.zip\">KatsBits \u2013 Particle Heart<\/a> (c. 100 KB, *.png).<br \/>\n<b>Product ID<\/b>: <a href=\"https:\/\/www.imvu.com\/shop\/product.php?products_id=62624204\" rel=\"noopener\" target=\"_blank\">Lava Hearts<\/a> (PID 62624204).<\/p>\n<blockquote><p><b>Design note<\/b>: by default the individual particles are imageless flat, opaque, square plains or surfaces so an <b>Opacity<\/b> map is typically necessary to define particle &#8216;shape&#8217;. For <i>variable transparency<\/i> (<b>Composite Blend<\/b>) tones of grey can be used [1], each registering as a different degree of transparency\/opacity (black &#038; white being fully transparent or opaque, grey values in-between), or a greyscale image for variable transparency to define the effect. For a hard shape or outline [2] (<b>Alpha Test<\/b>) the image used should consists of just black and white &#8211; black is 100% transparent, white is 100 opaque. <\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/particle-opacity.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/particle-opacity.jpg\" alt=\"Particle Opacity - Composite vs Alpha\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Particle transparency can be achieved using and &#8216;alpha mask&#8217; or an opacity map;  a greyscale image [1] for variable transparency, or a black and white image [2] to create a masked shape only.<\/i><\/p>\n<p>The basic properties of a particle effect are;<\/p>\n<p>&#8211; <b>Emission<\/b> : defines the <i>appearance<\/i> of individual particles.<br \/>\n&#8211; <b>Origin<\/b> : controls <i>where &#038; how<\/i> particles spawn or emit.<br \/>\n&#8211; <b>Direction<\/b> : defines the <i>direction<\/i> or axes of movement.<br \/>\n&#8211; <b>Gravity<\/b> : determines <i>behaviour<\/i> relative to the world.<\/p>\n<p>With these in mind, an effect travelling upwards, the particles core settings are <b>Direction<\/b> [3] and <b>Gravity<\/b> [4], as these define the needed upward aspect based on the X, Y or Z coordinates set, e.g. <b>Direction: Z = 1<\/b>, <b>Gravity: Y = 1<\/b> &#8211; this behaviour, and settings therein, is relative to the <b>Node<\/b> (bone) set as the origin in <b>Skeleton<\/b> properties and the &#8216;local&#8217; (the bones own) orientation this then utilises relative to other (avatar or item) bones.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/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\/particle-direction.jpg\" alt=\"Particle direction of travel\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The direction of travels for particles is determined by the <b>X<\/b>, <b>Y<\/b> and <b>Z<\/b> axes of Direction [3] and Gravity [4].<\/i><\/p>\n<p>How individual particles then behave is determined setting <b>Emission<\/b> properties;<\/p>\n<p> &#8211; <b>Rate<\/b> defines how many.<br \/>\n &#8211; <b>Lifetime<\/b>, how long each lasts.<br \/>\n &#8211; <b>Speed<\/b>, how fast they travel.<br \/>\n &#8211; <b>Size<\/b>, how big they can be.<\/p>\n<p>Each setting having an &#8216;start\/end&#8217; or &#8216;min\/max&#8217; allows for the creation of randomised variation amongst individual particles after being spawned, for example <b>Rate<\/b>, <b>Lifetime<\/b> and <b>Speed<\/b> largely work together and may need to be adjusted to ensure the system has time to spawn new particles or particle groups to prevent emission &#8216;gaps&#8217; occurring (particles seemingly clumping together).<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/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\/particle-emission.jpg\" alt=\"Particle Emission properties\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The particles Emission [5] properties define the behaviour of the individual instances, how many appear, how fast the move, how long they last etc.<\/i><\/p>\n<p>Particles are generally <b>ON<\/b> by default so automatically play as soon as the underlying item loads into a room or is worn. They cannot be turned OFF unless the item is removed. To trigger a particle effect so it plays for a duration, or plays until its stopped, an <b>Action<\/b> is used that references the effect instance. In this way the particle can be triggered to play for a set number of frames (30 frames = 1 second), or infinitely until time runs out (duration ends) or they are triggered to an &#8216;off&#8217; state.<\/p>\n<p>To do this set up an <b>Action<\/b>, create an <b>Ensemble<\/b> then access the <b>Config<\/b> pop-up [7]. Here, set the <b>Emission<\/b> [8] type for the particle that&#8217;s being triggered; <b>On Timed<\/b>\/<b>Off Timed<\/b> to define a duration the effect plays, or <b>On Forever<\/b>\/<b>Off Forever<\/b> to active on\/off infinitely.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/particle-triggered.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/particle-triggered.jpg\" alt=\"Setting up a triggered effect\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Triggering a particle needs an Action and accompanying Ensemble [6] that references the effect whose behaviour can then be set using the <b>Emission<\/b> property.<\/i><\/p>\n<p><video poster=\"https:\/\/www.katsbits.com\/images\/tutorials\/imvu-studio\/particle-triggered_movie.jpg\" controls=\"controls\" width=\"98.5%\" height=\"auto\"><source src=\"https:\/\/www.katsbits.com\/media\/studio - particles trigger.mp4\" type=\"video\/mp4\" \/><!--<source src=\"https:\/\/www.katsbits.com\/images\/tutorials\/collections\/collection-shortcut.ogg\" type=\"video\/ogg\" \/>\n<source src=\"https:\/\/www.katsbits.com\/images\/tutorials\/collections\/collection-shortcut.webm\" type=\"video\/webm\" \/>--><\/video><br \/>\n<i>Video overview setting up a triggered particle effect.<\/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 : Start, Images.<br \/>\n &#8211; 01:30 : Particle Basics<br \/>\n &#8211; 03:00 : Direction, Gravity &#038; Origin<br \/>\n &#8211; 06:00 : Emission (Pt I)<br \/>\n &#8211; 09:30 : Particle Material<br \/>\n &#8211; 13:00 : Emission (Pt II)<br \/>\n &#8211; 16:30 : Bone Origin<br \/>\n &#8211; 20:00 : Product Save &#038; Info<br \/>\n#############<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":6876,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[37,230],"tags":[945,949,950,194,738,268,717,220,948],"class_list":["post-6870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-imvu","category-tutorials","tag-action","tag-emission","tag-ensemble","tag-imvu","tag-imvu-studio","tag-opacity","tag-particles","tag-transparency","tag-trigger"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/6870","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=6870"}],"version-history":[{"count":17,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/6870\/revisions"}],"predecessor-version":[{"id":6891,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/6870\/revisions\/6891"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/6876"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=6870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=6870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=6870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}