{"id":5256,"date":"2024-07-01T19:07:00","date_gmt":"2024-07-01T10:07:00","guid":{"rendered":"https:\/\/blog.criware.com\/?p=5256"},"modified":"2024-07-01T19:07:00","modified_gmt":"2024-07-01T10:07:00","slug":"fire-torch","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2024\/07\/01\/fire-torch\/","title":{"rendered":"Fire Torch"},"content":{"rendered":"<p>In adventure games, torches are omnipresent. They can be part of the environment, used as a tool for solving puzzles or illuminating paths, or even brandished as weapons to scare wild animals off. In this post, we will create an interactive torch sound effect in Atom Craft that reacts to the character&#8217;s movement.<\/p>\n<div style=\"max-width: 700px; margin: 0 auto; margin-bottom: 20px; border: 1px solid #aaa;\"><div style=\"width: 800px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-5256-1\" width=\"800\" height=\"423\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_fire_torch.mp4?_=1\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_fire_torch.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_fire_torch.mp4<\/a><\/video><\/div><\/div>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Assets Creation<\/h1>\n<p>Four different assets will be used to design our interactive torch sound effect:<\/p>\n<ul>\n<li>A one-shot fire burst that will be played when the Cue is triggered.<\/li>\n<li>A second one-shot played when the torch is extinguished.<\/li>\n<li>One loop of a feeble fire.<\/li>\n<li>Another loop for a more intense fire.<\/li>\n<\/ul>\n<p>Recording fire can be complicated and dangerous. Since it is not a complex sound to reproduce by synthesis, consider using a procedural tool like GameSynth to generate the fire. It will even allow you to easily change its strength with a few clicks.<\/p>\n<p>Render the sound assets and import them into Atom Craft. For the two loops, make sure to set the <em>Override loop information Flag <\/em>property of the Materials to <em>True<\/em>.<\/p>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Implementation<\/h1>\n<p>It is time to implement the Cue for our torch:<\/p>\n<ul>\n<li>Create a <strong>Polyphonic Cue<\/strong>.<\/li>\n<li>Change its <em>Voice Behavior<\/em> to <em>Virtual<\/em> <em>Voice<\/em>.<\/li>\n<li>Drag and drop the start sound and the two loops onto the Cue to create the corresponding Tracks and Waveform Regions.<\/li>\n<li>Slightly delay the start of the two loops by 250ms so that the fire burst isn&#8217;t masked when the Cue is triggered.<\/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-Torch-Cue.png\" alt=\"01 Torch Cue\" width=\"1327\" height=\"632\" class=\"alignnone size-full wp-image-5245\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Torch-Cue.png 1327w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Torch-Cue-300x143.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Torch-Cue-768x366.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Torch-Cue-1024x488.png 1024w\" sizes=\"auto, (max-width: 1327px) 100vw, 1327px\" \/><\/p>\n<p>A second Cue must be created to stop the torch:<\/p>\n<ul>\n<li>Add another <strong>Polyphonic Cue<\/strong>.<\/li>\n<li>Drag and drop the stop sound onto a Track.<\/li>\n<li>Create an <strong>Action Track<\/strong>.<\/li>\n<li>Drag and drop the torch Cue on the <strong>Action Track Header<\/strong> to make it the target.<\/li>\n<li>On the Action Track, create a <strong>Playback Parameter Action<\/strong> at the start of the Cue.<\/li>\n<li>Set its <em>Type of playback parameter<\/em> to <em>Bandpass \u2013 Cutoff High<\/em>, its <em>Target Parameter value<\/em> to 0.1, and the <em>Rate of value change<\/em> to 2.<\/li>\n<li>Around 450 ms, create a <strong>Stop Action<\/strong> with a 50 ms <em>Fade Time<\/em>.<\/li>\n<\/ul>\n<p>This will create a filtering effect and stop the torch.<\/p>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Stop-Cue.png\" alt=\"02 Stop Cue\" width=\"1018\" height=\"563\" class=\"alignnone size-full wp-image-5246\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Stop-Cue.png 1018w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Stop-Cue-300x166.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Stop-Cue-768x425.png 768w\" sizes=\"auto, (max-width: 1018px) 100vw, 1018px\" \/><\/p>\n<p>Now let\u2019s control the intensity of the fire as the torch is moved:<\/p>\n<ul>\n<li>Create an <strong>AISAC Control<\/strong> named \u201cTorch_Movement\u201d.<\/li>\n<li>On the torch Cue, select the track with the weak fire and create an <strong>AISAC<\/strong> with a <strong>Volume graph<\/strong>.<\/li>\n<li>Make the graph fade out with a <em>SlowChange<\/em> Curve type.<\/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-AISAC-01.png\" alt=\"03 AISAC 01\" width=\"1069\" height=\"463\" class=\"alignnone size-full wp-image-5247\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-AISAC-01.png 1069w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-AISAC-01-300x130.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-AISAC-01-768x333.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-AISAC-01-1024x444.png 1024w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/p>\n<ul>\n<li>On the more intense fire track, create another <strong>AISAC<\/strong> with three graphs: <strong>Volume, Pitch, <\/strong>and<strong> Bandpass \u2013 Cutoff Low<\/strong>.<\/li>\n<li>Let the Volume fade in, while the Bandpass Cutoff decreases. For the Pitch, simply set it to increase from 0 to 350 cents when the AISAC value is 0.85.<\/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-02.png\" alt=\"04 AISAC 02\" width=\"1069\" height=\"463\" class=\"alignnone size-full wp-image-5248\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-02.png 1069w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-02-300x130.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-02-768x333.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-02-1024x444.png 1024w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/p>\n<p>Once all is set up, this interactive torch sound effect will provide useful auditory feedback when the torch is equipped or unequipped, and when the character moves with it. Check out the project below for all the implementation details.<\/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_FireTorch.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_FireTorch.zip<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>In adventure games, torches are omnipresent. They can be part of the environment, used as a tool for solving puzzles<\/p>\n","protected":false},"author":2,"featured_media":5258,"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-5256","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\/5256","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=5256"}],"version-history":[{"count":4,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/5256\/revisions"}],"predecessor-version":[{"id":5261,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/5256\/revisions\/5261"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/5258"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=5256"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=5256"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=5256"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}