{"id":5232,"date":"2024-09-03T13:23:29","date_gmt":"2024-09-03T04:23:29","guid":{"rendered":"https:\/\/blog.criware.com\/?p=5232"},"modified":"2024-09-03T13:23:29","modified_gmt":"2024-09-03T04:23:29","slug":"cloth-foley","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2024\/09\/03\/cloth-foley\/","title":{"rendered":"Cloth foley"},"content":{"rendered":"<p>Cloth Foley gives life to character movements in a game. In this post, we will design a dynamic Foley system in Atom Craft, in order to create sounds varying from subtle to powerful.<\/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-5232-1\" width=\"800\" height=\"423\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_cloth_foley.mp4?_=1\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_cloth_foley.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/video_cloth_foley.mp4<\/a><\/video><\/div>\n<\/div>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Assets Creation<\/h1>\n<p>In this example, we will create two types of sounds that can be layered or used individually. One will simulate a light cloth, while the other will sound coarser and heavier. Of course, you can make as many different layers as you need.<\/p>\n<ul>\n<li>Take the first cloth and record a slow and continuous movement.<\/li>\n<li>Then with the same cloth, record faster and more energetic movement.<\/li>\n<li>Take the second cloth and do the same.<\/li>\n<li>For each recording, edit several variations that last about 3 or 4 seconds.<\/li>\n<\/ul>\n<p>Render the files and import them into Atom Craft\u2019s Materials folder.<\/p>\n<h1 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Implementation<\/h1>\n<p>We will start with the first 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>Create two <strong>Tracks<\/strong>, each with a <strong>Shuffle<\/strong> <strong>Sub Sequence<\/strong>.<\/li>\n<li>Drag and drop the slower sounds onto the first Sub Sequence and the faster sounds onto the second.<\/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-Cue.png\" alt=\"01 Cue\" width=\"1154\" height=\"512\" class=\"alignnone size-full wp-image-5234\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Cue.png 1154w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Cue-300x133.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Cue-768x341.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/01-Cue-1024x454.png 1024w\" sizes=\"auto, (max-width: 1154px) 100vw, 1154px\" \/>\n<\/p>\n<p>If you trigger the Cue now, you will hear a one-shot sound, but we want to simulate a continuous movement. To achieve this:<\/p>\n<ul>\n<li>On the Cue timeline, add a <strong>Sequence Loop Marker<\/strong>.<\/li>\n<li>Make it start at the beginning of the sequence, with the loop point set to about halfway through the shorter Sub Sequence.<\/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-Sequence-Loop.png\" alt=\"02 Sequence Loop\" width=\"650\" height=\"457\" class=\"alignnone size-full wp-image-5235\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Sequence-Loop.png 650w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Sequence-Loop-300x211.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/02-Sequence-Loop-130x90.png 130w\" sizes=\"auto, (max-width: 650px) 100vw, 650px\" \/>\n<\/p>\n<p>The sound should now play continuously, but the loop\u2019s transition must be improved:<\/p>\n<ul>\n<li>Switch to the <strong>List Editor<\/strong>, and make sure all the Waveform Regions in the Cue are selected.<\/li>\n<li>Set the <em>EG Attack<\/em> and <em>EG Release<\/em> to 750 ms. This ensures that the Waveform Regions will crossfade as the Cue loops, creating smoother transitions.<\/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-Envelopes.png\" alt=\"03 Envelopes\" width=\"969\" height=\"648\" class=\"alignnone size-full wp-image-5236\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-Envelopes.png 969w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-Envelopes-300x201.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/03-Envelopes-768x514.png 768w\" sizes=\"auto, (max-width: 969px) 100vw, 969px\" \/>\n<\/p>\n<p>Now that we have a smooth and continuous sound, we need to add a way to control the speed of the cloth movement by switching from the slow to the fast sounds. We will use an AISAC to do this:<\/p>\n<ul>\n<li>Create an <strong>AISAC Control<\/strong> named \u201cCloth_Speed\u201d.<\/li>\n<li>In the Cue, create an AISAC with a Volume graph on both the slow and fast Tracks. Crossfade between the two Tracks. The slow Track should also have a fade-in before it reaches its maximum volume.<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Crossfade.png\" alt=\"04 AISAC Crossfade\" width=\"1069\" height=\"396\" class=\"alignnone size-full wp-image-5237\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Crossfade.png 1069w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Crossfade-300x111.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Crossfade-768x284.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/04-AISAC-Crossfade-1024x379.png 1024w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/><\/p>\n<p>Finally, create another AISAC at the Cue\u2019s level:<\/p>\n<ul>\n<li>Add Pitch, Bandpass Cutoff Low, and Playback Rate graphs.<\/li>\n<li>Lower the pitch slightly.<\/li>\n<li>Use the Bandpass to remove the low end of the slow sound.<\/li>\n<li>Then, use the Playback Rate to speed up the triggering of the sounds as the value of the AISAC increases.<\/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\/05-AISAC-Cue.png\" alt=\"05 AISAC Cue\" width=\"1069\" height=\"396\" class=\"alignnone size-full wp-image-5238\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Cue.png 1069w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Cue-300x111.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Cue-768x284.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/05-AISAC-Cue-1024x379.png 1024w\" sizes=\"auto, (max-width: 1069px) 100vw, 1069px\" \/>\n<\/p>\n<p>By moving the AISAC cursor, you should now be able to create more dynamic and natural sounds.<\/p>\n<p>For the second layer, simply duplicate the first Cue, and replace the Waveform Regions:<\/p>\n<ul>\n<li>Change the length of the Sequence Loop Marker to match the Sub Sequence duration.<\/li>\n<li>Also, adjust the <em>EG Attack<\/em> and <em>EG Release<\/em> of the Waveforms Region.<\/li>\n<li>Then, edit the AISAC slightly to make sure the transition between slow and fast sounds is still smooth.<\/li>\n<li>We used the same AISAC Control, but you can of course use a different one if you want to adjust the layers independently.<\/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\/06-2nd-Layer.png\" alt=\"06 2nd Layer\" width=\"988\" height=\"607\" class=\"alignnone size-full wp-image-5239\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/06-2nd-Layer.png 988w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/06-2nd-Layer-300x184.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2024\/03\/06-2nd-Layer-768x472.png 768w\" sizes=\"auto, (max-width: 988px) 100vw, 988px\" \/>\n<\/p>\n<p>&nbsp;<\/p>\n<p>We just created a dynamic cloth Foley generator! Check out the demo session and try it out for yourself.<\/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_ClothFoley.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_ClothFoley.zip<\/a>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Cloth Foley gives life to character movements in a game. In this post, we will design a dynamic Foley system<\/p>\n","protected":false},"author":2,"featured_media":5253,"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-5232","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\/5232","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=5232"}],"version-history":[{"count":9,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/5232\/revisions"}],"predecessor-version":[{"id":5582,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/5232\/revisions\/5582"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/5253"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=5232"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=5232"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=5232"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}