I know everyone’s tired of new features but I’ve been chasing this one for a while and finally have it all running thanks to Fredrik. I actually first introduced Clash Impact for effects late last year where the Size and Duration of the Clash and Lockup Effects was based on how hard the clash actually was. Fredrik was able to further improve Clash detection so that we could make this effect much more consistent and accurate.
And to make it even more realistic, I wanted to do something with the sounds to have them better match. I actually tested out changing the volume based on how hard the clash was but for a lot of fonts there’s a wide variety of clash sounds, with short, quick hits or medium stretched out hits or really big booming clashes and the volume didn’t give the realism I was after. So now I’ve been able to set it up so that instead of changing the volume the actual sound that is chosen is based on how hard you hit in order, with clsh01.wav being chosen on the lightest hits and clsh16.wav (or whatever your highest value is) being chosen on the hardest hits. This way users and font makers can now set up the various clash effects sequentially in order of intensity and have the saber use them based on how hard the clash is. So rather than just a random clash for different hit levels the saber will respond to the actual clash strength.
Combining the Clash Impact styles with the new sound selection we’ve got really accurate clash and lockup and stab effects possible making everything feel that much more realistic.
Realized I spoke over the sounds too much so here’s another take:
All i can say is WOW, this will really make our sabers more life like!
Thank you to You and Fredrick for making all of this possible!
you really are pushing the limits of what we can do!
There’s been a few questions on this, this feature is just choosing the sound files based on how hard the hit is, the actual sounds are up to the user or font maker. The prop file is using the clash strength to select a file with the lightest hit value = 1 (clsh01.wav) and hardest hit value = 16 (clsh16.wav or whatever the highest number file is) and all values in between being based on the hit strength detected. It’s totally up to the user and font on what that translates to, if you want your lighter clashes to be higher pitched, or quicker or shorter sounds then you’d set them up as the lower number files in the range. If you want your hardest clashes to be loud, booming drawn out sounds, or have a longer trail off or deeper tone you’d set them up as the last file numbers. This just replaces random selection for one you can control by ordering the sounds. It will also apply to lockup and stab sounds if there are multiple in a font with the same methodology. But it will be optional and it is something user controlled, we’re not changing the sounds we’re just giving more control so the sounds used can be tied to how hard the hit is and can better reflect the hit strength and the effects shown. More to come with the release documentation
This is such a great thing you’re doing. Does the sound wave have to be a certain length?
No, the individual sounds are totally up to the user or font makers, this is just a different way of selecting the sound file. Normally the sounds are randomly selected, with this enabled the file number corresponds to how hard the saber is clashed giving you control over which sound is selected for varying degrees of clash strength. But what the sounds actually are is totally up to how you order them in the font. I associated lighter hits with glancing or deflecting so I made the short, quick clashes lower numbers and harder hits with large blocks and full impacts so I made the bigger, booming clashes the high numbers. But you’d be able to order them however you wanted based on the font.
I couldn’t tell from the video, but is/will there be the ability to group some clashes together into intensity “bands”, such that a hit under a certain intensity threshold would play a random clash in that group, and then when the intensity exceeds that threshold, it would move to the next group, etc?
In essence, I’m wondering about how much variation there would be in the clash sounds. If I were to continually hit at the hardest intensity (not a likely scenario, but for argument’s sake), it would be good to have at least a few variations versus the exact same clash sound repeating.
The way it works is say you have 16 clash sounds it’s selecting the file based on the % of max clash (which will be adjustable with a define, although the most the board can detect is between 15 ~ 17 depending on angle of the blade) I use 16 in my tests. It technically adjusts for Clash threshold but for simplicity if you have 16 files and max set to 16 it would align like so:
Clash Strength range = file
1.0 ~ 1.99 = 1
2.0 ~ 2.99 = 2
3.0 ~ 3.99 = 3
…
16.0 ~ 16.99 = 16
The board has a limit it can detect so anything you think is harder than 16 would still be 16 no matter what. If you are able to repeat the exact same strength each time it would play the same file, but you technically control that so don’t do it if you don’t want the same sound
Can’t really randomize because each font is completely different, there’s no way to account for “ranges” when every font has a different number of files and every file is different. So it’d be an either or, if you want random then use current method, if you want it to be based on how hard you clash, set your font up appropriately and enable the feature (it’s off by default) then randomize the strengths of your clashes yourself.
Also, if you have fewer clash sounds the ranges obviously change so it may have much as much value if your font only has a few clash sounds. Most of my fonts have between 12 and 20 clash sounds, but it’s an option so it’s up to the user if they want to set up the font and implement or not.
You would effectively achieve this by just grouping your clashes in “bands” of low med high intensity. Your "thresholds " would be 1-5, 6-10, 11-15 for example. You are going to still be triggering 1-15 discrete sensitivity levels, but they’d be in the ranges you’re looking for?
Hello, I do not know if it is ok to reply to such old thread, but I have faced one issue with real clash.
I have set the max clash to 16 and clash treshold to 4. In general.it works, proper fonts and clash effects are used, but I am using my saber for some choreography fights, improvisations and training with others (no real duels) and everytime we clash sabers, the level is max 16 even with lighter hits. Is there a way to scale it up so more sounds and effects are used with light, medium and hard hits? Changing clash treshold ignores the lowest clashes at all. Increasing max clash settings does not seem to have any effect.
The maximum detection level of the board is 16, so raising above 16 doesn’t do anything. The function is going to take the files you have for clash and then choose based on the clash level between your threshold and 16. Note, effects and sounds are handled slightly differently, the effects are based on 0 ~ 32768 with any impact creating a value above 0 and the maximum impact the board can detect as 32768, it’s not impacted by the defines, so if your THRESHOLD is higher the effect will start out stronger (although the library styles are designed for an impact around 3.0 being the lightest).
The sounds use the CLASH_THRESHOLD_G and FETT263_MAX_CLASH values to select which sound to play. So if you have a range of 4 ~ 16 (range of detection being 12), and 12 clash sounds then the sounds would be selected as below (roughly):
4 = clsh00.wav
5 = clsh01.wav
6 = clsh02.wav
...
16 = clsh16.wav
If you’re unsure if the lighter sounds play you could try replacing your lower clshNN.wav sounds with spoken numbers, it will make it easier to actually hear which file is playing.
Thank you for your answer. I did exactly that, after watching your explanation of real clash on YT. It work fine when tapping with hand and all sounds can be played (same for accent sounds which work great witch acceleration setting, by the way), but when blade on blade clash during training, only 16 and 15 top sounds are played. Seems we are clashing on the maximum level recognized by board.
Yeah, the force the opponent is adding to the impact is probably the reason, you may look to practice lighter hits together although that may not look as realistic in person as you’re going for. You could try adding more sounds, maybe double up clash sounds and or make some lighter sounds higher values if you can determine what you’re range is for your hits.
For the styles you can try using Scale<> on the ClashImpactF<> value to widen the range. You’d have to test to see how it works. But maybe something like:
Replace:
ClashImpactF<>
With
Scale<ClashImpactF<>,Int<-32768>,Int<32768>>
The -32768 moves the range so the bottom value would be used for much wider range. You can play with the -32768 number.
Thanks for the hint, I will try it out. Really appreciate your support and all your work!
You’re welcome.