![Rhys Anthony](/img/default-banner.jpg)
- 22
- 15 308
Rhys Anthony
เข้าร่วมเมื่อ 9 พ.ย. 2018
Gameplay & Audio Programmer currently showcasing work.
UE5.2 Scriptable Tools for Data Entry & Edtior-Time Infographics
Hi everyone, I know it's been a few months; I've been working on this video on and off whenever I found the motivation to do so. This strays a bit away from my usual audio-related content but has applications in audio subsystems (such as soundscape) regardless.
______________________________________
CONTENTS
I cover quite a few topics in this video, such as:
• Potential tool settings to drive parameters and display data according to the user's preferences.
• Pros and Cons of Scriptable Tools & Construction Scripts.
• A technical exposition of my tool and the built-in capabilities of Scriptable Tools, including (but not limited to):
- Getting information about selected actors.
- Saving & restoring property set settings.
- Displaying and clearing tool messages (for diagnostics & tutorialization).
- Using the HUDAPI to draw custom debug text & shapes with respect to a color mapping.
- On-Click / Hover events, modifiers, and IDRS tracing.
- Gizmo creation & actions such as destruction, visibility, getting gizmo information, and events on gizmo changes.
- Watching property changes & alternatives when properties cannot be watched.
Bonuses:
• (C++) Getting the camera location in the viewport & basic culling.
• (C++) Manually re-running an actor's construction script.
• (C++) Drawing custom text at editor-time in the viewport.
• Brief examples of call-in-editor functions, both in the tool property set and a construction script.
• Widgetable vector-related caveats.
• Miscellaneous text formatting.
• The binary system, bitwise operations, and basic geometric progression.
• Using Polar & Cartesian Co-Ordinates alongside mathematics for uniform point distribution.
______________________________________
CHAPTERS
- 00:00 Intro
- 00:12 Tool Overview
- 00:56 Tool Settings
- 02:10 Alternatives
- 03:26 Technical Exposition
- 05:10 Binary & Bitwise
- 08:33 Back to the tool
- 11:06 Point Distribution
- 12:06 Outro
______________________________________
RESOURCES 🔗
- Ryan Sweeney's Draw debug strings in editor mode:
[TH-cam Video] th-cam.com/video/FQQmdirfVYg/w-d-xo.html
[Github Repo] github.com/RyanSweeney987/UE5_Tut_1
- Binary Numbers:
en.wikipedia.org/wiki/Binary_number
- Geometric Progression:
byjus.com/maths/geometric-progression/
- Generating random points in a sphere with polar coordinates:
karthikkaranth.me/blog/generating-random-points-in-a-sphere/
- Random points in a circle:
xdpixel.com/random-points-in-a-circle/
______________________________________
CONTENTS
I cover quite a few topics in this video, such as:
• Potential tool settings to drive parameters and display data according to the user's preferences.
• Pros and Cons of Scriptable Tools & Construction Scripts.
• A technical exposition of my tool and the built-in capabilities of Scriptable Tools, including (but not limited to):
- Getting information about selected actors.
- Saving & restoring property set settings.
- Displaying and clearing tool messages (for diagnostics & tutorialization).
- Using the HUDAPI to draw custom debug text & shapes with respect to a color mapping.
- On-Click / Hover events, modifiers, and IDRS tracing.
- Gizmo creation & actions such as destruction, visibility, getting gizmo information, and events on gizmo changes.
- Watching property changes & alternatives when properties cannot be watched.
Bonuses:
• (C++) Getting the camera location in the viewport & basic culling.
• (C++) Manually re-running an actor's construction script.
• (C++) Drawing custom text at editor-time in the viewport.
• Brief examples of call-in-editor functions, both in the tool property set and a construction script.
• Widgetable vector-related caveats.
• Miscellaneous text formatting.
• The binary system, bitwise operations, and basic geometric progression.
• Using Polar & Cartesian Co-Ordinates alongside mathematics for uniform point distribution.
______________________________________
CHAPTERS
- 00:00 Intro
- 00:12 Tool Overview
- 00:56 Tool Settings
- 02:10 Alternatives
- 03:26 Technical Exposition
- 05:10 Binary & Bitwise
- 08:33 Back to the tool
- 11:06 Point Distribution
- 12:06 Outro
______________________________________
RESOURCES 🔗
- Ryan Sweeney's Draw debug strings in editor mode:
[TH-cam Video] th-cam.com/video/FQQmdirfVYg/w-d-xo.html
[Github Repo] github.com/RyanSweeney987/UE5_Tut_1
- Binary Numbers:
en.wikipedia.org/wiki/Binary_number
- Geometric Progression:
byjus.com/maths/geometric-progression/
- Generating random points in a sphere with polar coordinates:
karthikkaranth.me/blog/generating-random-points-in-a-sphere/
- Random points in a circle:
xdpixel.com/random-points-in-a-circle/
มุมมอง: 312
วีดีโอ
C++ & Wwise: Execute Actions on Events! 🔊
มุมมอง 3089 หลายเดือนก่อน
Audio programming using Wwise in Unreal Engine 5 (UE5)(C ) Chapters include: - 00:00 Intro - 00:10 Quick Actions & Refactorings - 00:26 Default Values - 00:45 Execute Action Overview - 01:25 Dedicated Function - 01:42 BP Example - 02:28 Outro
UE5.1, Soundscape & Color-Point System | Setup & Demonstation 🔊
มุมมอง 1.4K11 หลายเดือนก่อน
An overview of my approach to setting up the Soundscape Color-Point system in Unreal Engine 5.1 alongside foliage-instanced static meshes. EDIT: At 01:50 I said "Content row of Frog" but I meant swamp. The frog is the soundscape colour, not the gameplay tag content row name. Documentation - docs.unrealengine.com/5.1/en-US/soundscape-quick-start/ Soundscape for the City Sample - th-cam.com/video...
[NEW] C++ & Wwise: Post & Stop Events in UE5! 🔊
มุมมอง 467ปีที่แล้ว
Audio programming using Wwise in Unreal Engine 5 (UE5)(C ) As mentioned at the end of the video, this is my first upload that leans more towards the tutorial format and uses my voice, so let me know how I did. Enjoy! Chapters include: - 00:00 Intro - 00:21 Setup - 00:47 Build.cs - 01:10 Actor Header - 02:00 Actor Script - 03:25 Editor Testing - 04:21 Code Testing - 04:33 Outro
UE5 & MetaSounds: Dynamic footsteps for water depth & ground velocity 🔊
มุมมอง 528ปีที่แล้ว
Part of my MetaSounds Monday Initiative - Using a mapped float parameter to crossfade between footsteps relative to the player's depth. This was paired with ground velocity to create a simple but effective outcome. Enjoy your summer! Chapters include: - 00:00 Demonstration. - 00:23 MetaSounds Overview.
UE5 & MetaSounds: BPM, Trigger Control & Boolean's for Gameplay-Driven Music (experimentation) 🔊
มุมมอง 464ปีที่แล้ว
Part of my MetaSounds Monday Initiative - Using BPM, Trigger Control & Booleans to facilitate gameplay-driven Procedural music experimentation. Chapters include: - 00:00 Metasounds Overview. - 00:40 Gameplay Demo. Credits: Dramatic Action Sound Kit: soundcloud.com/composersquad/sets/dramatic-action-sound-kit/s-AXbZH1SPKYP
UE5 & Wwise: Leveraging Channels with Attenuation Spread 🔊
มุมมอง 300ปีที่แล้ว
My Wwise Wednesday Initiative - Exploring the effects of various attenuation settings in a basic city example. Chapters include: - 00:00 Intro - 00:10 Non-Spatialized - 00:20 Position Orientation - 00:49 Attenuation Spread Wwise Suggested Resources: - Wwise-101 | 3D Spatialization: www.audiokinetic.com/zh/courses/wwise101/?source=wwise101&id=using_3d_game_defined#read - Working with 3D Objects:...
Ashunara Project Playthrough (UE5 Audio Programming) 🔊
มุมมอง 111ปีที่แล้ว
Ashunara Project Playthrough (UE5 Audio Programming) 🔊
Ashunara Project Showcase (UE5 Audio Programming) 🔊
มุมมอง 264ปีที่แล้ว
Be sure to check out some of my other videos, documenting the features of this project! SFX: 🔊 Main Menu - Arctic Station by Crypt-of-Insomnia: elements.envato.com/arctic-station-62YKA3E?H8rsD0wR6P4&.com& 🔊 Cavern - Into The Gallows Raw - Dark Violin Chant Cemetary Copyright Royalty Free Music and Footage: th-cam.com/video/S4DV2iDa8Ko/w-d-xo.html 🔊 Castle Memories - DARK FANTASY MUSIC | ROYALTY...
UE5.1, Soundscape & Metasounds | Project Feature Highlight 2 🔊
มุมมอง 371ปีที่แล้ว
Another short video highlighting some of the audio-related features in a showcase piece. Chapters include: - 00:00 Main Menu button sounds. - 00:13 Ducking with Sound Classes & Passive Mixes. - 00:22 Underwater Effects. - 00:34 Water entry/exit. - 00:40 Miscellaneous quest related. - 00:48 Gameplay-driven events. - 00:59 Soundscape Additions. - 01:18 Miscellaneous environment. Credits: Main Men...
UE5.1, Soundscape & Metasounds | Project Feature Highlight 🔊
มุมมอง 411ปีที่แล้ว
Been busy lately exploring some of the 5.1 features, such as Enhanced Input Actions, Retargetting Tools, and predominantly Soundscape. This video will document some of the systems in my WIP project. I hope you find this interesting, and if you want an in-depth tutorial or overview on anything specific please leave a comment below. Chapters include: - 00:00 Sounscape color-point system. - 00:31 ...
UE5 & MetaSounds: An Overwatch-inspired point capture system 🔊
มุมมอง 435ปีที่แล้ว
Audio programming using Metasounds in Unreal Engine 5 (UE5). Chapters include: - 00:00 Demonstration. - 00:18 Metasounds overview.
UE5 & Wwise Experimentation: Blending between Diegetic and non-Diegetic [Pt.2] 🔊
มุมมอง 285ปีที่แล้ว
Audio programming using Wwise in Unreal Engine 5 (UE5). Got better results recently after adjusting some values and playing around with different effects. The radio audio uses the same music as before, with a high pass and a bit of noise. As for the intro, I mashed together a couple of free sounds and applied some effects (find the credits below). Chapters include: - 00:00 Introduction - 00:12 ...
UE5 & Metasounds: Flamethrower Demonstration 🔊
มุมมอง 338ปีที่แล้ว
Audio programming using Metasounds in Unreal Engine 5 (UE5). First time diving deeper into the Metasounds plugin. If you'd like to see any systems in particular, or even this enflamed environment brought to life, feel free to leave a comment. Chapters include: - 00:00 Demonstration. - 00:25 Metasounds overview. - 00:48 Code overview. - 01:00 Thanks for watching.
UE5 & Wwise: Callback Masks & Bitmasks 🔊
มุมมอง 360ปีที่แล้ว
Audio programming using Wwise in Unreal Engine 5 (UE5). Chapters include: - 00:00 Introduction - 00:14 Overview - 01:04 Demonstration
UE5 & Wwise: Spline / Path based Audio Occlusion 🔊
มุมมอง 5Kปีที่แล้ว
UE5 & Wwise: Spline / Path based Audio Occlusion 🔊
UE5 & Wwise: Concurrency Optimizations 🔊
มุมมอง 547ปีที่แล้ว
UE5 & Wwise: Concurrency Optimizations 🔊
Audio Programming - Experimentation Showcase 🔊
มุมมอง 422ปีที่แล้ว
Audio Programming - Experimentation Showcase 🔊
Nicely explained.
You stand in a location and an NPC walks toward you. How do you get the footsteps to get louder and louder the closer it gets?
This is typically done through sound attenuation; you can define a curve that dictates how the sound falls off over distance.
Very informative, thanks Rhys!
no sonds spawn if I enter a value higher than 0 in "min color point number" and the sonds don't seem to spawn in the right place. I've been looking for two days and I still don't understand why it doesn't work. Can you help me?
If sounds are spawning at 0, but not when there's a min color point number, it sounds like this might be a problem with the color point detection. This could be a number of things, such as the spatial hash, or more likely, it's that the locations are not being added to the subsystem as world-space, but rather relative. If you are still struggling to get it working after trying lots of approaches, it might be best to start over and add just one world location manually to the subsystem's color point collection, such as (500,0,0) in a blank level, and see if the subsystem spawns a sound there with a min color point number of 1 (also make sure your min spawn distances are set to 0 while you test this).
@@gamedesra thank you for replying, In an empty scene, with a location of 500,0,0, if I set the point number to 1, no sound spawns. Do you have a discord? maybe you'd see something wrong with a screen capture?
@@arthiyaxn Hi again. I'm afraid I don't have time to help people on a case by case basis at the moment, however, I spent a few minutes this morning on a demo project that you can find here (UE 5.3.2): drive.google.com/file/d/1LnlQKUfmSZZn9v7_MDKhblT4oT3frMNj/view?usp=sharing This contains one palette and one color set up to spawn at 1 min color point number, which might help you diagnose what's wrong with your own project. Do remember that the less points you have, the less likely your sound is to spawn unless you adjust your spatial hash. The necessary code is contained within the third person character blueprint and the level blueprint. I hope this helps!
@@gamedesra Hi, thank you very much! It's going to take me a while to find out where the error came from, but I think I can do it.
Saving for future self if a need for such feature arises :) Please do more UE5 (&Wwise) audio stuff!
For some reason UAkGameplayStatics does not come with ExecuteActionOnPlayindID. Has this been changed recently? In AudioKinetics docs, it is under Ak::SoundEngine Any help on this would be appreciated. Also, is there a resource, you can link to about coding with Wwise in Unreal? Edit: Saw your video talking about the function being deprecated. Still, any good resource on coding with Wwise would be a godsend. Thanks, man. Keep up the good work.
Thanks for the very interesting video, but there is one thing that I didn't understand. In the Multi line trace by channel node, when selecting trace channel options, you have Wwise occlusion, and when I tried to reproduce this in my project, I didn't find it. Please tell me what needs to be done to make this option appear
Hello, this is a custom trace channel defined in the project settings, it does not exist in the engine by default. While you can use the visibility channel, there may be certain objects that you don't want to be blocking the trace, so it's sometimes better to make a custom channel as I have. I hope this helps!
I'm stuck at 7:04. How did you make that set node take a vector array structure but output a color collection? Have I completely misunderstood what is happening there?
Hi there, sorry for not clarifying this. Break the input of the soundscape color point collection structure variable and this will give you an array input (the contents of the collection). Hope this helps!
@@gamedesra Thank you for the fast reply! I didn't realise you could split pins on set/get nodes. This will be very handy
Excellent thank you, more c++ please. 👍
Hi guys, be sure to check out the alternative approach in my latest video: th-cam.com/video/HTiidLtsFrQ/w-d-xo.htmlsi=pCWRZ9g0D32awVxl Unlike the method in this video which is intended for procedural environments, this does not rely on tracing and writing to structs at runtime.
Thank you for the video! I thought that this is so awesome so i tried to implement this in my project. but at the last part, if i add vector arrays to temporary collection variable, the sound doesn't spawn at each foliage location. it just spawn in random locations. can you share the knowledge about this?
A couple of things come to mind. When getting the instance transform of the foliage instance static mesh component make sure to tick "world space". If you need it in local space for whatever reason, then you can always use transform location to convert back to world. Let me know if this solves the problem!
@@gamedesra Thank you for replying! I tried few ways, so i found that the problem is color point problem not a vector array. because I tried this trace method in another way which is not a soundscape system, so i checked all the foliage vectors stored in vector array variable.
@@gamedesra can i ask one thing at last? if i add array vectors to colorpoint collection with colorpoint and then run add colorpoint collection node, are audios going to spawn at vector locations?
@@joon1809 Should do. If you have any problems then make sure to check: - Your hash sizes. - That your colors have your color points defined in the advanced spawn behaviour. - Your colors are present in your palette, and the palette is applied to the project. - If you are using states, make sure that this has been set as well. - As mentioned at the end of the video, you might encounter issues with negative Z world height for colors with clamped height, just something to keep in mind.
@@gamedesra Thank you so much!!👍
Hi Rhys! This is incredible. Is the repo available anywhere? I’m curious to look into the functions more
Hi Mason, thanks for the comment. I have updated this video with a link to the project zip in the description for free. Let me know if you have any problems!
@@gamedesra Amazing! Thank you so much for sharing your knowledge.
this is apparently the only explanation of implementing color points on the entire internet. Looks like you spent a long time figuring this out. Thanks for the video. In classic Unreal form they've done nothing to explain any part of this, and Dan's videos hint mysteriously at his "spatial hash" or whatever, and that's it. I suppose I could delve into the city project and see what he did but I have a feeling it's going to be over my head. I stupidly thought I could just tag some meshes or something and it would just work. Ha! Your system looks good but adding traces to the project feels like something my developers are going to yell at me about later. Hopefully I have some time to try this method.
Thank you for the comment! You're 100% right to want to avoid traces, there's definitely a more optimized way to deal with the data. Wishing you the best with your project!
very nice, you can make a tutorial? tnks
I have a few upcoming videos planned, but I can certainly note it down for a future upload!
Definitely don't stop them coming@@gamedesra this is so much cool stuff newbies like myself can learn about in my early days as the Sound Designer (+ implementer) job :)
Awesome work! any chance if you would make full tutorial?
Are you using physical materials to detect surface changes?
Is there a tutorial or marketplace file for this?
Hi there Rhys! Really good content man, I discovered you in Airwiggles and just that makes the platform worth it! I wanted to ask you if you made up this experimental environment yourself! Looks like it, I would like to do the same and would like to know where to start! Cheers and thanks!
Hello, thanks for the comment. Yes, I made this environment myself mainly for presentation purposes; I have been using it less and less recently, as it takes longer to load each time I add to it. If you want to set up some sort of testing environment, I would suggest using different maps for things such as reverb, footsteps, splines, and so on. Just add as you go. A custom character might be good to practice different sounds as the player walks beside footsteps, such as equipment. Hope this helps!
Awesome video! Thank you :)
Great video, thank you for sharing this ! Looking forward for next topic
great video,but omg,how you visualize those sounds.....need some tips...
@@gamedesra thx!!!a lot of help!
every thing in video or just upload screen shoots from the blue print
can u tell us how u made this in video plz
how did you get the sliders to save their values when opening/closing the widget?
Hello. These are retrieved from a struct variable on a save SaveGame Object when the widget is constructed. Hope this helps.
The publishing rights for Mozart and Beethoven are royalty free, but the recording rights are not. The recording rights belong to whoever owns the master recordings of the performances you are using (often the record label) and will only enter public domain after their copyrights have expired.
Promo sm
For your final section on miscellaneous environment sounds, are you retargeting the position of the soundscape color playback at the crow's position? I was trying to figure out if that Crow call was playing through the Soundscape system or different means. Inspiring work!
Hello. If this was a group of crows I’d likely use the colour point system, because the player would not be able to identity if the spatialisation is slightly off. For static individuals like the crow in the video however, I just handled it manually. I hope this answers your question.
@@gamedesra It does, thanks. I figured you handled it manually since the sfx emitted at the crow location, but wanted to ask in case you had come up with a way to retarget audio from a random location in the color point spatial hash grid to a specific actor if it happens to be in the area. Thanks for answering, and impressive work!
@@homerosanchez8481 Perhaps that’s an idea for a future video. I’ll be starting a small C++ series soon so I may tweak a few things in soundscape.
Great!
Sounds amazing dude
🔥
We need this system in Apex Legends T_T hahaha
the way you edit your videos is so helpfull and unique, keep it goin man
Thank you, it means a lot!
I have seen in their documentation you can create Platforms and they have talked about Sub-Platforms and then you can have different settings like this video per platform by unlink'ing them etc BUT from the documentation its not clear how you expose / tell your UE game when it starts up what Platform it should be using ?
I have not looked into this aspect too much, but I believe platform-specific settings should apply when you package your game for the respective platform.
@@gamedesra The documentation talks about potentially creating like Android_Low or Windows_Low subplatforms but I couldn't find how you would load them, at least not for UE because there was some C# Unity code I found
Nice I didn't get a notification of this video earlier, its certainly interesting and would be cool to see if take into account a Physical Material type and maybe applying different effects depending on that + if the sound is above or below... also how does this work / interact with the Portal system in WWISE for doorways etc? Your debugging looks like what they show in the YT video "Tom Clancy’s Rainbow Six Siege - Sound Propagation", have you seen that and what they are doing there and incoporated any of those ideas ?
I have not had a chance to check out R6 content yet, maybe that is something for the future. In the conclusion I mentioned CSGO and physical materials, which is something I want to explore in another system. Perhaps a later video on this will also include the Wwise portal system with a spatial volume to work alongside it.
Have you though about good ways to represent vertical audio (e.g. someone running on the door above or below you) well with WWISE, maybe using low and high pass filters depending on the angle and dot product from the camera to to sound source.