I think that this is a bug but maybe someone made it intentionally. Anyway here is my case.
I am making a bird with sound in skeletal mesh. I add a notify in the 5th second. Then I go to Matinee and add the animation to start at second 10. Everything is working fine. Now when I change the Initial Position to 6 second, my sounds become “Auto Active”. So when You jump AFTER the time You set in notify, Unreal treats the sound as Auto Active and just after You hit the attenuation boundries set in Cue , it will start. Lets say You put out the attenuation so the sound is everywhere. Then You set the initial after the 5th second and You play Matinee from beginning You will have the sound starting also because our initial position is After the sound even that our animation should start in second 10. This becoms a problem if I wany to have few birds with differents Initial Positions but I dont want to active my sounds through that.
I’m having a little trouble understanding what you’re describing. Could you please provide some screenshots with a clear breakdown or attach an example project showing the issue.
If you’d rather send me a project privately, you can upload it to cloud storage (Drive, Dropbox, etc) and PM me a link on the forums.
EDIT: Please respond here telling me that you’ve PMed me (for tracking purposes)
Sorry, this can sound little complicated to read but I will describe a step by step process how to recreate it:
- Create a SoundCue and the the Radius to 500 (or any number)
- For sake of the “tutotrial” set the Attenuation to 0 so we deal only with the radius
- Import a SkeletalMesh with any animation to Your project and add this to Your scene (lets say to Location 0,0,0)
- Open the SkeletalMesh and put the Notify-> Sound in the very beginning (it can be any place in the Notify but to
simplify put it at start)
- Open Matinee and add You SkeletalMesh to it (You dont need Directory)
- Go to 10th second on matinee timeline and add the animation from Your SkeletalMesh to start from there
- Select Your Matinee and click “Play on Level Load”
- Play the animation
Now everything should looks fine, You can fly into the sound radius etc. and the sound WILL NOT play as
expected because it is in Matinee to start at frame 10th WITH Your SkeletalMesh.
Ok, now the “bug” beggins
- Stop the animation and select Your SkeletalMesh
- Now take Your “Initial Position” and set it to 1,2,3 or jut scrub it to the end so Your animation will start
from the end.
- Play the animation
Your SoundCue should play at second 10 like You set this in the Matinee BUT it will play as soon as You will
get into the radius of it. You can go back and forth and the sound WILL PLAY. This shouldn`t happen.
It is because we “jumped” with the Initial Position over the sound timeline in the Notify.
So lets say that our Initial Position is from 0-10 (and those are second).
If You will set the Notify-> Play sound in the SkeletalMesh to start from the middle of Your animation (5th second)
and Your initial position will be “>5” then it will be no problems with the sound
if You change Initial Position to start from 6th second Your animation and Your sound will be “<6” then Unreal
change the AutoActive to be ON and the sound will start independent from Your Matinee.
Your Animation track in Matinee should always be overriding everything and the sound should start when Your
animation starts to play but this is not true if You change the Initial Position to be after the sound in
Your SkeletalMesh Notify.
Hope this make more sense Just repeate those steps I described and You will see that the sound start to
play not looking at the Matinee. It is playing independet just when You fly into the radius of it.
My guess is that Unreal thinks that the sound was played already because we skipped it through Initial Position
and he turns the SoundCue to AutoActive.
Although it took me a while to find the time to test this, I was able to reproduce it and entered UE-22496 in our system.
Thanks for reporting it!