{"id":3923,"date":"2022-11-04T13:29:06","date_gmt":"2022-11-04T04:29:06","guid":{"rendered":"https:\/\/blog.criware.com\/?p=3923"},"modified":"2024-05-20T19:22:25","modified_gmt":"2024-05-20T10:22:25","slug":"3d-transceiver-part-2","status":"publish","type":"post","link":"https:\/\/blog.criware.com\/index.php\/2022\/11\/04\/3d-transceiver-part-2\/","title":{"rendered":"3D Transceiver (Part 2)"},"content":{"rendered":"<p>In the <a href=\"https:\/\/blog.criware.com\/index.php\/2022\/10\/17\/3d-transceiver-part-1\/\">previous post<\/a>, we learned how the 3D Transceiver can be used to more accurately simulate sound sources emitted through a door, a window etc. by submixing them at the location of the opening in the level geometry. In this post, we will see how to implement this feature in an Unreal Engine project.<\/p>\n<div class=\"wp-video\" style=\"width: 800px; display: block; margin: 40px auto;\">\n<div style=\"width: 800px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-3923-1\" width=\"800\" height=\"450\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/Video-3D-Transceiver-Part-2-Unreal_1.mp4?_=1\" \/><a href=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/Video-3D-Transceiver-Part-2-Unreal_1.mp4\">https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/Video-3D-Transceiver-Part-2-Unreal_1.mp4<\/a><\/video><\/div>\n<\/div>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Defining the 3D Regions<\/h2>\n<p>First,<strong> 3D Regions<\/strong> must be defined in the CRIWARE Unreal Engine Plugin. They can be created from the <strong>Atom 3D Region Asset<\/strong> class.<\/p>\n<ul>\n<li>Right-click on the <em>Content Browser<\/em><\/li>\n<li>Go to <em>Sounds<\/em> and select <em>Atom 3D Region<\/em><\/li>\n<li>Create a 3D Region for the indoors, and another for the outdoors<\/li>\n<\/ul>\n<p>Now assign the 3D Regions either directly in the Cue (in the Content Browser) or in the AtomComponent of an AtomSound (in the level editor). For instance:<\/p>\n<ul>\n<li>Select an <em>AtomSound<\/em> on the map<\/li>\n<li>In the <em>Details<\/em> panel, select the <em>AtomComponent<\/em> and go to the <em>Transceiver<\/em> section<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/03-AtomSound.png\" alt=\"03 AtomSound\" width=\"1227\" height=\"842\" class=\"alignnone size-full wp-image-3926\" style=\"\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/03-AtomSound.png 1227w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/03-AtomSound-300x206.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/03-AtomSound-768x527.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/03-AtomSound-1024x703.png 1024w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/03-AtomSound-130x90.png 130w\" sizes=\"auto, (max-width: 1227px) 100vw, 1227px\" \/>\n<\/p>\n<ul>\n<li>Select the Atom 3D Region you want to assign to this 3D sound.<\/li>\n<\/ul>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Setting up the 3D Transceiver<\/h2>\n<p>It is now possible to place a 3D Transceiver at the location which connects both regions. The <strong>Atom 3D Transceiver Component<\/strong> class gives access to the basic 3D Transceiver features. It can be attached to a target actor in the Unreal Editor to link the component to existing geometry, or to customize the way 3D Regions are assigned to the Transceiver and the listener.<\/p>\n<ul>\n<li>Select an actor in the level<\/li>\n<li>In the <em>Details<\/em> panel, select <em>Add Component &gt; Atom3DTransceiverComponent<\/em><\/li>\n<\/ul>\n<p>The plugin also provides the <strong>Atom Transceiver Box<\/strong>, which is a Blueprint class that can be dropped directly on the map to use the 3D Transceiver feature without any programming required.<\/p>\n<ul>\n<li>In the <em>Content Browser,<\/em> select the <em>CriWareContent<\/em> folder<\/li>\n<li>Drag and drop an <em>Atom Transceiver Box<\/em> onto your level<\/li>\n<li>In the editor, the box will show a <strong>red arrow<\/strong> pointing to the forward direction of the 3D Transceiver, and a <strong>cyan arrow<\/strong> pointing upwards<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/04-Transceiver-Box.png\" alt=\"04 Transceiver Box\" width=\"871\" height=\"504\" class=\"alignnone size-full wp-image-3927\" style=\"\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/04-Transceiver-Box.png 871w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/04-Transceiver-Box-300x174.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/04-Transceiver-Box-768x444.png 768w\" sizes=\"auto, (max-width: 871px) 100vw, 871px\" \/>\n<\/p>\n<ul>\n<li>Rotate the box so that the red arrow points to the indoor region<\/li>\n<li>Finally, set the <em>Shape<\/em> of the box so it fits the opening in the wall<\/li>\n<\/ul>\n<p>The 3D Regions must be set in the Atom Transceiver Box to allow it to switch between the two regions when the listener crosses the Transceiver. To do so:<\/p>\n<ul>\n<li>Select the Transceiver box<\/li>\n<li>In the <em>Details<\/em> panel, select the indoor Atom 3D Region as the <strong>Forward Region<\/strong><\/li>\n<li>And select the outdoor region as the <strong>Rear Region<\/strong><\/li>\n<li>Finally, select the actor containing the AtomListener<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/05-Transceiver-Box-3D-Region.png\" alt=\"05 Transceiver Box 3D Region\" width=\"452\" height=\"451\" class=\"alignnone size-full wp-image-3928\"  style=\"\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/05-Transceiver-Box-3D-Region.png 452w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/05-Transceiver-Box-3D-Region-150x150.png 150w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/05-Transceiver-Box-3D-Region-300x300.png 300w\" sizes=\"auto, (max-width: 452px) 100vw, 452px\" \/>\n<\/p>\n<p>If the listener enters the Atom Transceiver Box and goes forward, the Forward Region will be set as the listener&#8217;s region. On the contrary, If the listener goes backwards, the &#8220;Rear Region&#8221; will be used instead. Note that the listener&#8217;s initial region must be set when the game starts. The <strong>Set Listener Region<\/strong> node can be used in the Blueprint for this purpose.<\/p>\n<h2 style=\"font-size: 150%; font-weight: bold; margin-top: 40px;\">Setting attenuation, crossfade and pan<\/h2>\n<p>Finally, for the 3D sounds to be heard accurately through the 3D Transceiver, <strong>Attenuation Distance, Input Crossfade<\/strong> and <strong>Output Interior Pan<\/strong> (and potential AISAC controls) must be set separately for each region.<\/p>\n<ul>\n<li>Select the Atom Transceiver Box<\/li>\n<li>In the <em>Details<\/em> panel, two <em>Atom 3D Transceiver Components <\/em>are visible<\/li>\n<li>For both (<em>Atom3DTransceiverForward<\/em> and <em>Atom3DTransceiverRear)<\/em>, set the properties related to the <em>Attenuation Distance, Input Crossfade<\/em> and <em>Output Interior Pan<\/em><\/li>\n<li>Tick the <em>Visible <\/em>box to display the relevant sphere<\/li>\n<\/ul>\n<p style=\"text-align:center;\">\n<img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/06-Crossfade-Attenuation-Pan.png\" alt=\"06 Crossfade Attenuation Pan\" width=\"1072\" height=\"804\" class=\"alignnone size-full wp-image-3929\"  style=\"\" srcset=\"https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/06-Crossfade-Attenuation-Pan.png 1072w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/06-Crossfade-Attenuation-Pan-300x225.png 300w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/06-Crossfade-Attenuation-Pan-768x576.png 768w, https:\/\/blog.criware.com\/wp-content\/uploads\/2022\/10\/06-Crossfade-Attenuation-Pan-1024x768.png 1024w\" sizes=\"auto, (max-width: 1072px) 100vw, 1072px\" \/>\n<\/p>\n<p>It is now possible to change the way sounds on the other side of the Transceiver are attenuated, depending on the materials used or the size of the room, thus improving the sense of immersion.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the previous post, we learned how the 3D Transceiver can be used to more accurately simulate sound sources emitted<\/p>\n","protected":false},"author":2,"featured_media":5468,"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-3923","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\/3923","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=3923"}],"version-history":[{"count":9,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/3923\/revisions"}],"predecessor-version":[{"id":5467,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/posts\/3923\/revisions\/5467"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media\/5468"}],"wp:attachment":[{"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/media?parent=3923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/categories?post=3923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.criware.com\/index.php\/wp-json\/wp\/v2\/tags?post=3923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}