{"id":6145,"date":"2021-06-21T11:33:22","date_gmt":"2021-06-21T11:33:22","guid":{"rendered":"http:\/\/desres20.netornot.at\/?p=6145"},"modified":"2021-06-21T14:58:28","modified_gmt":"2021-06-21T14:58:28","slug":"wwise-implementierung-in-unity-teil-1-akbank-akevent","status":"publish","type":"post","link":"http:\/\/desres20.netornot.at\/?p=6145","title":{"rendered":"Wwise Implementierung in Unity (Teil 1: AkEvent &#038; AkTriggerEnter)"},"content":{"rendered":"\n<p>Es gibt verschiedene Methoden <em>Wwise<\/em>-Elemente in der Gameengine <em>Unity<\/em> zu implementieren. Zum einen gibt es es die klassische manuelle Implementierung mithilfe von Skriptbefehlen in den Programmiersprachen <em>C#<\/em> (am popul\u00e4rsten), <em>UnityScript<\/em> und <em>Boo<\/em> zum anderen gibt es auch vorgefertigte Skripte (in C#) und Funktionen, die ein schnelles Implementieren innerhalb des Unity-Editors erm\u00f6glicht.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p class=\"has-medium-font-size\"><strong>Vorgefertigte Skripte<\/strong><\/p>\n\n\n\n<p>Diese Skripte werden bei der Installation von Wwise in einem Unity-Projekt mitgeliefert und decken eine allgemeine Bandbreite von unterschiedlichen Implementierungsm\u00f6glichkeiten ab.<\/p>\n\n\n\n<p>Eine der am h\u00e4ufigsten ben\u00f6tigten Funktionen bei der Nutzung von Wwise-Elementen ist das Abrufen von <em>Wwise-Events<\/em>. Diese \u00fcbermitteln Informationen an Wwise, die Anweisungen, wie die Audio-Engine handeln soll, beinhalten. In den meisten F\u00e4llen ist es das Abspielen oder Unterbrechen von Sounds. Das f\u00fcr Unity vorgefertigte Skript hei\u00dft <strong><em>AkEvent<\/em><\/strong>. Dieses ist an Bedingungen gekn\u00fcpft. H\u00e4ufig ist es das Betreten oder Verlassen eines <em>GameObjects<\/em>, wie z.b. eines Colliders. Ein Collider ist eine geometrische Form (h\u00e4ufig unsichtbar f\u00fcr den Spieler) im Spiel, die f\u00fcr das Triggern verschiedener Funktionen genutzt werden kann.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"437\" height=\"352\" src=\"http:\/\/desres20.netornot.at\/wp-content\/uploads\/2021\/06\/AkEvent-TriggerEnter.png\" alt=\"\" class=\"wp-image-6147\" srcset=\"http:\/\/desres20.netornot.at\/wp-content\/uploads\/2021\/06\/AkEvent-TriggerEnter.png 437w, http:\/\/desres20.netornot.at\/wp-content\/uploads\/2021\/06\/AkEvent-TriggerEnter-300x242.png 300w\" sizes=\"(max-width: 437px) 100vw, 437px\" \/><figcaption><em>AkEvent, das auf das Betreten des Triggers ausgef\u00fchrt wird<\/em><\/figcaption><\/figure>\n\n\n\n<p><br>Zus\u00e4tzlich muss dabei erw\u00e4hnt werden, dass Collider nur auf <em>GameObjects<\/em> reagieren. In der Regel m\u00f6chte man allerdings spezifizieren, welche <em>GameObjects<\/em> genau diese Trigger ausl\u00f6sen k\u00f6nnen, sonst reagieren die Trigger auf jedes Eintreten irgendeines <em>GameObjects<\/em>, also auch auf Elemente, wie \u00fcberlappende Bausteine aus der Spielwelt. Mit dem Skript <em><strong>AkTriggerEnter<\/strong><\/em> kann man festlegen welches <em>GameObject<\/em> diesen Trigger ausl\u00f6sen kann. H\u00e4ufig soll nur die eigene Spielfigur, die der Spieler steuert, triggerf\u00e4hig sein.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" loading=\"lazy\" width=\"1009\" height=\"472\" src=\"http:\/\/desres20.netornot.at\/wp-content\/uploads\/2021\/06\/AkTriggerEnterPlayer.png\" alt=\"\" class=\"wp-image-6148\" srcset=\"http:\/\/desres20.netornot.at\/wp-content\/uploads\/2021\/06\/AkTriggerEnterPlayer.png 1009w, http:\/\/desres20.netornot.at\/wp-content\/uploads\/2021\/06\/AkTriggerEnterPlayer-300x140.png 300w, http:\/\/desres20.netornot.at\/wp-content\/uploads\/2021\/06\/AkTriggerEnterPlayer-768x359.png 768w\" sizes=\"(max-width: 1009px) 100vw, 1009px\" \/><figcaption><em>AkTriggerEnter mit dem &#8220;Player&#8221; als einziges GameObject, das diesen Trigger ausl\u00f6<\/em>sen kann<\/figcaption><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>Quellen:<\/p>\n\n\n\n<p>[1] https:\/\/www.audiokinetic.com\/courses\/wwise301\/?source=wwise301&amp;id=Adding_a_Trigger_Condition#read<\/p>\n\n\n\n<p>[2] https:\/\/www.audiokinetic.com\/courses\/wwise301\/?source=wwise301&amp;id=Restricting_the_Trigger_Condition#read<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es gibt verschiedene Methoden Wwise-Elemente in der Gameengine Unity zu implementieren. Zum einen gibt es es die klassische manuelle Implementierung mithilfe von Skriptbefehlen in den Programmiersprachen C# (am popul\u00e4rsten), UnityScript und Boo zum anderen gibt es auch vorgefertigte Skripte (in C#) und Funktionen, die ein schnelles Implementieren innerhalb des Unity-Editors erm\u00f6glicht. Vorgefertigte Skripte Diese Skripte<\/p>\n<footer class=\"entry-footer index-entry\">\n<div class=\"post-social pull-left\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=http%3A%2F%2Fdesres20.netornot.at%2F%3Fp%3D6145\" target=\"_blank\" class=\"social-icons\"><i class=\"fa fa-facebook\" aria-hidden=\"true\"><\/i><\/a><a href=\"https:\/\/twitter.com\/home?status=http%3A%2F%2Fdesres20.netornot.at%2F%3Fp%3D6145\" target=\"_blank\" class=\"social-icons\"><i class=\"fa fa-twitter\" aria-hidden=\"true\"><\/i><\/a><a href=\"https:\/\/www.linkedin.com\/shareArticle?mini=true&#038;url=http%3A%2F%2Fdesres20.netornot.at%2F%3Fp%3D6145&#038;title=Wwise+Implementierung+in+Unity+%28Teil+1%3A+AkEvent+%26%23038%3B+AkTriggerEnter%29\" target=\"_blank\" class=\"social-icons\"><i class=\"fa fa-linkedin\" aria-hidden=\"true\"><\/i><\/a><\/div>\n<p class=\"link-more\"><a href=\"http:\/\/desres20.netornot.at\/?p=6145\" class=\"more-link\">Continue reading <span class=\"meta-nav\">\u2192<\/span><\/a><\/p>\n<\/footer>\n","protected":false},"author":32,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4],"tags":[],"_links":{"self":[{"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=\/wp\/v2\/posts\/6145"}],"collection":[{"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=\/wp\/v2\/users\/32"}],"replies":[{"embeddable":true,"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6145"}],"version-history":[{"count":8,"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=\/wp\/v2\/posts\/6145\/revisions"}],"predecessor-version":[{"id":6331,"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=\/wp\/v2\/posts\/6145\/revisions\/6331"}],"wp:attachment":[{"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6145"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6145"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/desres20.netornot.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6145"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}