{"id":5213,"date":"2024-05-01T12:10:38","date_gmt":"2024-05-01T03:10:38","guid":{"rendered":"https:\/\/blog.criware.com\/?p=5213"},"modified":"2024-05-01T12:10:38","modified_gmt":"2024-05-01T03:10:38","slug":"boulder-trap","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2024\/05\/01\/boulder-trap\/","title":{"rendered":"Boulder Trap"},"content":{"rendered":"<p>Dungeons and caves in games are often filled with deadly traps, such as a massive rolling boulder triggered by careless adventurers, ready to crush anyone in its path. In this post, we will see how to implement the sound of this classic trap in Atom Craft.<\/p>\n<div style=\"max-width: 700px; margin: 0 auto; margin-bottom: 20px; border: 1px solid #aaa;\">\n<div style=\"width: 800px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-5213-1\" width=\"800\" height=\"423\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_bouldertrap.mp4?_=1\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_bouldertrap.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_bouldertrap.mp4<\/a><\/video><\/div>\n<\/div>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Assets Creation<\/h1>\n<p>We need to record several layers of rocky material that will allow us to create a continuous, chaotic sound.<\/p>\n<ul>\n<li>Record stones of different sizes sliding on concrete, dirt, or gravel.<\/li>\n<li>Record movements in gravels or small pebbles.<\/li>\n<li>Finally, create a rumble sound in the low frequencies that will be used to add additional weight. This can easily be synthesized.<\/li>\n<li>Create loops for each layer.<\/li>\n<\/ul>\n<p>For our example, we will use four layers, but feel free to create more or less depending on your needs and memory budget. Once you are done, render the sounds and import them into Atom Craft. Set the <em>Override loop information Flag<\/em> of each material to <em>True.<\/em><\/p>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Implementation<\/h1>\n<p>We will start by configuring the <strong>DSP Bus Settings<\/strong>.<\/p>\n<ul>\n<li>In the <strong>Mixer<\/strong> view, create 2 buses: Trap and Aux.<\/li>\n<li>On the Aux Bus, insert the <strong>I3DL2 Reverb<\/strong> as an effect, and change the <em>Reverb Preset<\/em> to <em>Cave<\/em>.<\/li>\n<li>Create a new BusMap and assign the Trap and Aux Buses.<\/li>\n<li>Add the Aux bus to the <strong>BusMap For AISAC and Automation<\/strong>.<\/li>\n<li>Finally, select your Cue Sheet and assign it to the BusMap you just created.<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Mixer-settings.png\" alt=\"01 Mixer settings\" width=\"1051\" height=\"658\" class=\"alignnone size-full wp-image-5217\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Mixer-settings.png 1051w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Mixer-settings-300x188.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Mixer-settings-768x481.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Mixer-settings-1024x641.png 1024w\" sizes=\"auto, (max-width: 1051px) 100vw, 1051px\" \/><\/p>\n<p>Now we can start creating the Cue.<\/p>\n<ul>\n<li>Create a <strong>Polyphonic Cue<\/strong>.<\/li>\n<li>Set its <em>Voice Behavior<\/em> to <em>Virtual Voice<\/em>.<\/li>\n<li>Activate the <em>Bus Send<\/em> for the Aux bus and set the <em>Send<\/em> to 0.3.<\/li>\n<li>Drag and drop all your layers on the Cue to create the corresponding Tracks.<\/li>\n<li>For all the Tracks, change the <em>Biquad Filter Type<\/em> to <em>High Shelf<\/em>.<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Cue-BusSend.png\" alt=\"02 Cue BusSend\" width=\"1379\" height=\"636\" class=\"alignnone size-full wp-image-5218\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Cue-BusSend.png 1379w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Cue-BusSend-300x138.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Cue-BusSend-768x354.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Cue-BusSend-1024x472.png 1024w\" sizes=\"auto, (max-width: 1379px) 100vw, 1379px\" \/><\/p>\n<p>To enable spatialization as the boulder moves around the player, let\u2019s switch the Cue to 3D.<\/p>\n<ul>\n<li>First, rename an AISAC Control to \u201cBoulder_Distance\u201d.<\/li>\n<li>Change the Cue\u2019s <em>Pan Type<\/em> to <em>3D Positioning<\/em>.<\/li>\n<li>Then, assign Boulder_Distance to the <em>Distance AISAC Control<\/em>.<\/li>\n<li>Change the <em>Doppler Coefficient<\/em> to 1.15.<\/li>\n<li>Set the <em>Min Max Distance of 3D Positioning Attenuation<\/em> somewhere between 30 and 1000.<\/li>\n<li>Finally, in the <strong>List Editor<\/strong>, select all the Waveform Regions of the Cue, and enable the <em>Fixed Pan<\/em> property. This will allow us to change the <em>Spread<\/em> of the positioning.<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-3D-Positioning.png\" alt=\"03 3D Positioning\" width=\"1376\" height=\"640\" class=\"alignnone size-full wp-image-5219\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-3D-Positioning.png 1376w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-3D-Positioning-300x140.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-3D-Positioning-768x357.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-3D-Positioning-1024x476.png 1024w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><\/p>\n<p>We can now create the AISAC for distance attenuation.<\/p>\n<ul>\n<li>At the Cue level, create an AISAC with 3 graphs: <em>BusSend (Aux), Pan \u2013 Spread,<\/em> and <em>Bandpass \u2013 Cutoff High<\/em>.\n<ul>\n<li>The <em>BusSend<\/em> should rise as the distance increases.<\/li>\n<li>The <em>Spread<\/em> should decrease to 0.2 so that when the object is far away, its positioning is more focused.<\/li>\n<li>The <em>Bandpass<\/em> is used to slightly decrease the high-frequency content when the boulder is far.<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Cue.png\" alt=\"04 AISAC Cue\" width=\"1159\" height=\"457\" class=\"alignnone size-full wp-image-5220\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Cue.png 1159w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Cue-300x118.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Cue-768x303.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Cue-1024x404.png 1024w\" sizes=\"auto, (max-width: 1159px) 100vw, 1159px\" \/><\/p>\n<\/li>\n<li>On the first Track, create an AISAC with <em>Volume<\/em>, <em>Biquad \u2013 Cutoff<\/em><em>,<\/em> and <em>Biquad \u2013 Gain<\/em> graphs. These three curves should go down as the distance increases.<\/li>\n<li>Then, copy and paste this AISAC onto the remaining Tracks. Make sure to slightly modify the graphs for each Track so that the layers appear progressively as the distance decreases. This will create a more natural roll-off.<\/li>\n<\/ul>\n<p>The Cue should now work properly in 3D. For the final touch, you can add another AISAC Control to drive the <em>Pitch<\/em> of the Cue, so that you can change the speed of the boulder.<\/p>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Tracks.png\" alt=\"05 AISAC Tracks\" width=\"1159\" height=\"499\" class=\"alignnone size-full wp-image-5221\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Tracks.png 1159w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Tracks-300x129.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Tracks-768x331.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Tracks-1024x441.png 1024w\" sizes=\"auto, (max-width: 1159px) 100vw, 1159px\" \/><\/p>\n<p>With all this, you should have the perfect trap for your haunted dungeon or magic cave. To see how we did it, download the demo project below.<\/p>\n<div style=\"max-width: 800px; margin: 0 auto; margin-bottom: 20px; text-align: center;\">\n<a style=\"display: block; border: 1px solid #ccc; padding: 20px; max-width: 100%; margin: 0 auto;\" href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/AtomCraft_Project_BoulderTrap.zip\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-1813\" style=\"display: block; margin: 0 auto;\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2018\/06\/zip.png\" alt=\"zip\" width=\"80\" height=\"78\">AtomCraft_Project_BoulderTrap<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Dungeons and caves in games are often filled with deadly traps, such as a massive rolling boulder triggered by careless<\/p>\n","protected":false},"author":2,"featured_media":5222,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[5,7],"tags":[],"class_list":["post-5213","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-adx","category-tutorials"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/5213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/comments?post=5213"}],"version-history":[{"count":6,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/5213\/revisions"}],"predecessor-version":[{"id":5228,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/5213\/revisions\/5228"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/5222"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=5213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=5213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=5213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}