{"id":3378,"date":"2022-12-09T00:00:33","date_gmt":"2022-12-09T00:00:33","guid":{"rendered":"https:\/\/www.katsbits.com\/codex\/?p=3378"},"modified":"2023-09-07T15:49:28","modified_gmt":"2023-09-07T14:49:28","slug":"debris","status":"publish","type":"post","link":"https:\/\/www.katsbits.com\/codex\/debris\/","title":{"rendered":"Debris Scatter using 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-69f4718311804\" 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-69f4718311804\"  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\/debris\/#scatter-prep\" >Scatter Prep<\/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\/debris\/#scatter-plain\" >Scatter Plain<\/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\/codex\/debris\/#scatter-objects\" >Scatter Objects<\/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\/codex\/debris\/#particle-properties\" >Particle Properties<\/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\/codex\/debris\/#scatter-properties\" >Scatter Properties<\/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\/codex\/debris\/#make-realapply\" >Make Real\/Apply<\/a><\/li><\/ul><\/nav><\/div>\n<p>Scattering objects across a surface can be extremely time consuming when individual objects have to be rotated or positioned to hide duplication. A better way to do this dynamically, or generatively, is to use Blenders <b>Particle System<\/b> to populate objects before they are then optionally made &#8216;real&#8217; and editable.<\/p>\n<h3><span class=\"ez-toc-section\" id=\"scatter-prep\"><\/span>Scatter Prep<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To scatter objects using the particle system three components are needed; <\/p>\n<p> 1) a surface over which objects are to be scattered [1].<br \/>\n 2) the object or objects to be scattered [2].<br \/>\n 3) a particle effect\/modifier instance [3]. <\/p>\n<p>In essence, with a <b>Particle System<\/b> instance assigned, its properties are adjusted to change the behaviour of the effect as it scatters a set of reference objects across the target object to dynamically generate scatter that can be modified in real time.<\/p>\n<blockquote><p><b>Design note<\/b>: generally speaking it&#8217;s preferable to work with duplicate sections of the target object that have been separated as this allows for greater flexibility in terms of placement and scale of scatter generated.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-scatter-basics.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-scatter-basics.jpg\" alt=\"Basic elements for particle scatter\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The basic elements needed to scatter objects; the target object over which debris is to be scattered [1] (showing grey); the scatter objects themselves [2] and the particle modifier [3] (particle system link).<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"scatter-plain\"><\/span>Scatter Plain<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>To scatter debris a &#8216;target&#8217; object first needs to be selected, this can be an original item or a <a href=\"https:\/\/www.katsbits.com\/codex\/separate\/\">detached section<\/a> or sections therein [4]<!-- - make a selection in <b>Edit Mode<\/b> then from the <b>Mesh<\/b> menu click <b>Separate<\/b> then <b>Selection<\/b> - <i><b>Mesh \u00bb Separate \u00bb Selection<\/b><\/i> (or press <span class=\"shortcutkey\">P<\/span><b> \u00bb Separate<\/b>)-->. To this either; in <b>Modifier Properties<\/b> assign a <b>Particle System<\/b> modifier [5], or in <b>Particle Properties<\/b> [6] click the <b>+<\/b> [7] button to add a new <b>ParticleSystem<\/b>. In both cases a <b>ParticleSystem<\/b> instance is generated and populated with some basic settings, accessible in <b>Particle Properties<\/b> [6].<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-system-modifier.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-system-modifier.jpg\" alt=\"Target object to be scattered across]\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>A <b>Particle System<\/b> modifier [5], from Modifier Properties, assigned to the scatter objects (highlighted red and blue above for clarity).<\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-properties-instance.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-properties-instance.jpg\" alt=\"Adding a particle system\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Similarly in <b>Particle Properties<\/b> [6] a <b>ParticleSystem<\/b> instance is generated and populated clicking the <b>+<\/b> button to the right of the particle list aperture.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"scatter-objects\"><\/span>Scatter Objects<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>If other objects are to be scattered across a surface they need to be created and then grouped together into a (group) <a href=\"https:\/\/www.katsbits.com\/codex\/groups\/\">Collection<\/a>. To do this simply make a selection of at least one scatter object and from the <b>Object<\/b> menu click <b>Collections<\/b>, then <b>Create New Collection<\/b> if one does not already exist [8] &#8211; <b><i>Object \u00bb Collections \u00bb Create New Collection<\/i><\/b> (or press <span class=\"shortcutkey\">Ctrl<\/span> + <span class=\"shortcutkey\">G<\/span>), optionally <b>Name<\/b> the group in the <b>Create New Collection<\/b> overlay that appears bottom-left of the 3D Viewport. This creates a new datablock that can be managed from <b>Object Properties<\/b> under <b>Collections<\/b> [9] that&#8217;s also available to the particle system.<\/p>\n<blockquote style=\"background-color: #9d2600; color: #fff;\"><p><b>Important<\/b>: group based Collections created in this way may not appear in the <b>Outliner<\/b>, they are generally managed (add\/remove items, delete groups) from within <b>Object Properties<\/b> &#8211; upon object selection in the 3D Viewport associated groups will be shown in Object Properties under Collections.<\/p><\/blockquote>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: the relationship between objects being scattered is based on their physical position relative to each other as a group, i.e. after being scattered, objects can be moved closer together, further apart etc., any changes then reflected by the effect as a result.<\/p><\/blockquote>\n<blockquote><p><b>Design note<\/b>: the particle system initially works by scattering <i><a href=\"https:\/\/www.katsbits.com\/codex\/duplicate\/\">linked duplicate<\/a> instances<\/i> of the objects contained in the scatter Collection &#8211; if the original object is edited, changes are immediately reflected in the scattered duplicates. In practice this means each <b>Collection<\/b> should include at least one object per ParticleSystem instance but, where some degree of variety is required either; multiple objects can be included, or several particle system instances referencing different objects can be assigned to the same target. Objects can be added to [i] or removed from the debris group, as well as being physically moved or repositioned, changing the outcome of the effect.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/add-remove-from-collection.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 98.5%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/add-remove-from-collection.jpg\" alt=\"Add or remove an object from a group\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>To add or remove and item from a group Collection, select the object in question and in <b>Object Properties<\/b> [i] click the <b>Add to Collection<\/b> button to access the available groups list, or click the <b>X<\/b> on the corresponding group instance to remove.<\/i><\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/scatter-group.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/scatter-group.jpg\" alt=\"Create a scatter group\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The objects to be scattered need to be collated together into a <b>Collection<\/b> (group) [8], which is then managed in <b>Object Properties<\/b> [9] while also being available for the particle system itself.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"particle-properties\"><\/span>Particle Properties<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once a particle effect is assigned to the target object its properties can be adjusted in <b>Particle Properties<\/b> [10]. Here, click <b>Hair<\/b> and the <b>Advanced<\/b> checkbox [11] below to enable the appropriate set of options for debris scattering. Next, link the debris collection to the effect by scrolling down to the <b>Render<\/b> subsection and changing <b>Render As<\/b> [12] to <b>Collection<\/b> &#8211; <b><i>Render As: Collection<\/i><\/b> (<i>Path<\/i> is the default). In the <b>Instance Collection<\/b> [13] field that then becomes available, set the debris collection as the group to be instanced by clicking the <b>Collection<\/b> icon and selecting the group from the available list, e.g. &#8216;<i>scatter<\/i>&#8216;. The debris objects will immediately appear scattered across the target based on the particle systems default settings [14].<\/p>\n<blockquote><p><b>Design note<\/b>: when using particle system in this way be sure to appropriately name the Collection that contains the debris objects to make is more easily discernible from other Collections that will be listed &#8211; the effect doesn&#8217;t make any distinction between &#8216;<i>organisational<\/i>&#8216; collections, as might be managed in the Outliner, versus &#8216;<i>group<\/i>&#8216; collections where objects have a relationship to one another.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-render-collection.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-render-collection.jpg\" alt=\"Initial particle settings\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>In Particle Properties [10] set Hair as the type and activate Advanced [11] to access relevant options. Then set <b>Render As<\/b> to <b>Collection<\/b> in the Render subsection&#8230;<\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-instance-collection.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-instance-collection.jpg\" alt=\"Assigning the debris Collection\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>&#8230; a <b>Collection<\/b> sub-subsection will then appear where the debris group can be set in <strong>Instance Collection<\/strong> [13]. This immediately spawns the debris objects [14] across the target object.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"scatter-properties\"><\/span>Scatter Properties<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>For most particle based scatter the core settings to then use once the debris collection is referenced [15] are the <b>Emission<\/b>, <b>Rotation<\/b> and <b>Render<\/b> properties, each accessible from within <b>Particle Properties<\/b>.<\/p>\n<h4>Emission<\/h4>\n<p>In <b>Emission<\/b> properties [16] debris duplication is largely controlled by;<\/p>\n<p> \u2022 <b>Number<\/b> &#8211; increase\/decrease item count.<br \/>\n \u2022 <b>Seed<\/b> &#8211; increase\/decease the number of &#8216;spawn&#8217; points.<br \/>\n \u2022 <b>Hair Length<\/b> &#8211; increase\/decrease item size (uniformly).<\/p>\n<p>These set a baseline of replication and general distribution over the target object. Additionally under the <b>Source<\/b> sub-subsection the location debris essentially spawns can be adjusted by changing <b>Emit From<\/b> (<i>Faces<\/i>, <i>Vertices<\/i>, <i>Volume<\/i>) and <b>Distribution<\/b> (<i>Jittered<\/i>, <i>Random<\/i>).<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-emission.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-emission.jpg\" alt=\"Emission properties for debris scatter\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Once the debris objects [15] are linked to the particle the amount and distribution can be controlled in the <b>Emission<\/b> [16] settings by changing the <b>Number<\/b>, <b>Seed<\/b> and <b>Hair Length<\/b>.<\/i><\/p>\n<h4>Rotation<\/h4>\n<p>In <b>Rotation<\/b> settings [17] (click the checkbox to enable) debris items can be twisted or turned off-grid or axis depending on;<\/p>\n<p> \u2022 <b>Orientation Axis<\/b> &#8211; sets what axis of orientation is used by particles.<br \/>\n \u2022 <b>Randomize<\/b>\/<b>Phase<\/b>\/<b>Randomize Phase<\/b> &#8211; randomises item orientation around the axis set.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-rotation.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-rotation.jpg\" alt=\"Rotation particle settings\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>The settings in <b>Rotation<\/b> [17] ostensibly control how the scatter objects are rotated or orientated relative to their origins (set in Emission&#8217;s Emit From)<\/i><\/p>\n<h4>Render<\/h4>\n<p>In <b>Render<\/b> options [18] scattered objects can be randomly rescaled up\/down from the original size using;<\/p>\n<p> \u2022 <b>Scale<\/b> &#8211; increase\/decrease debris group uniformly.<br \/>\n \u2022 <b>Scale Randomness<\/b> &#8211; increase\/decrease debris objects independently of each other.<\/p>\n<p>Objects can be further randomised by clicking the checkbox for <b>Pick Random<\/b> which randomly selects objects to be affected by the particles settings.<\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-render.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-render.jpg\" alt=\"Render options for particles\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Randomising scatter object size can be done in <b>Render<\/b> options [18] where the particle effect <b>Scale<\/b> and <b>Scale Randomness<\/b> to modify debris from their original size\/scale.<\/i><\/p>\n<h3><span class=\"ez-toc-section\" id=\"make-realapply\"><\/span>Make Real\/Apply<span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>Once debris has been scattered the normal procedure to make the results &#8216;real&#8217;, that is to <b>Apply<\/b> the modifier, does not work. To fix the effect in place so objects can be edited further, ensure the target object assigned the particle system is selected and from the <b>Object<\/b> menu click <b>Apply<\/b> then <b>Make Instances Real<\/b> &#8211; <b><i>Object \u00bb Apply \u00bb Makes Instances Real<\/i><\/b>. The objects will be duplicated and essentially detached from the effect, which is left intact. Hide the scatter object and ensure the new duplicates are selected (selected by default). From the <b>Object<\/b> menu again select <b>Relations<\/b> then <b>Make Single User<\/b> and then an appropriate option, typically <b>Object &#038; Data<\/b> &#8211; <b><i>Object \u00bb Relations \u00bb Make Single User \u00bb [option]<\/i><\/b>. This further converts the duplicates into individually editable meshes whose location, rotation and scaling is based on the settings defined by the particle system beforehand.<\/p>\n<blockquote style=\"background-color: #fc0; color: #000;\"><p><b>Important<\/b>: the first step converts the effect into object-type groups, for example all cube objects remain linked duplicates of the original parent so any edits to one propagate to all. This has to be broken by making each instance a &#8216;single user&#8217;.<\/p><\/blockquote>\n<blockquote><p><b>Design note<\/b>: before making particle scatter real it&#8217;s best to UV mapped and textured the scatter (parent) objects as needed to save having to unwrap, map an material dozens of individual objects after the fact.<\/p><\/blockquote>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-scatter-make-real.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particle-scatter-make-real.jpg\" alt=\"Making particle scatter real\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>Although a modifier is assign, &#8216;Apply&#8217; doesn&#8217;t work in this context. Instead <b>Make Instances Real<\/b> has to be used [19]. This converts the particle objects into editable meshes.<\/i><\/p>\n<p><a href=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-single-user.jpg\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" style=\"width: 100%; height: auto;\" src=\"https:\/\/www.katsbits.com\/images\/tutorials\/scatter\/particles-single-user.jpg\" alt=\"Making debris single user\" width=\"900px\" height=\"500px\" border=\"0\" \/><\/a><br \/>\n<i>To make debris fully editable Make Single User [20] can be used to further convert the instanced groups into individual objects that are no longer linked duplicates of the original.<\/i><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":6652,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,230],"tags":[718,346,312,576,926,717,925],"class_list":["post-3378","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blender","category-tutorials","tag-debris","tag-edit-mode","tag-modifiers","tag-object-properties","tag-object-scatter","tag-particles","tag-particlesystem"],"post_mailing_queue_ids":[],"_links":{"self":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/3378","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=3378"}],"version-history":[{"count":32,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/3378\/revisions"}],"predecessor-version":[{"id":6668,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/posts\/3378\/revisions\/6668"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media\/6652"}],"wp:attachment":[{"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/media?parent=3378"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/categories?post=3378"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.katsbits.com\/codex\/wp-json\/wp\/v2\/tags?post=3378"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}