Announcement

Collapse
No announcement yet.

Custom Pawn Sounds

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Custom Pawn Sounds

    UPDATE >>> Jump to post 16 for the solution.


    I've looked all over and can't find this question or a relevant answer. So I've been trying for MONTHS to get my own footstep sounds working.

    Here's what I've done so far:

    1. Import my footstep sounds & make sound cues. Copy full name to clipboard from one of my footstep sound cues.

    2. Create a new class extending from UTPawnSoundGroup and replace all (for testing purposes) of Epic's footstep sounds with mine by pasting the path to them from which I copied in Step 1, above.

    3. Edit UTEditor.ini, found in the UTGame>Config folder, by adding "ModPackages=CustomPawnSounds" at the very bottom, directly underneath "ModOutputDir=..\..\UTGame\Unpublished\CookedPC\Sc ript"

    (CustomPawnSounds is the name of the folder in UTGame>Src> which holds my custom SoundGroup class, which I created in Steps 1 & 2 above.)

    4. Full Compile using UnrealFrontEnd, found in Binaries folder.

    5. Copy and paste the new U file from the UTGame>Unpublished>CookedPC>Script folder to the UTGame>Script folder.

    6. Launch UDK and open ExampleMap (included with UDK).

    7. Run around and hear nothing but Epic's footstep sounds.

    ***I also did all the same stuff for a second custom class extending from UTPawnSoundGroup_Liandri


    I feel like I've tried everything, with no luck. I don't know if this has anything to do with it, but I noticed that all of Epic's footstep sounds are under the Sound Class "Character" - - - however, I can't change my footstep sound cues to "Character", only "Character Friend" or "Character Enemy." I'm wondering if my sounds aren't being recognized because they are not set to the right Sound Class, "Character." I would like to try it but I can't figure out how to select Character, it doesn't show up on the Sound Class drop down list in the Content Browser.

    Thanks for taking the time to read!

    #2
    you probably need to to create your own pawn or a mutator that modify's the defualt pawn to use your sound group

    Comment


      #3
      Thanks for the quick reply Bananna_manuk Thanks to you, I think I'm getting much closer, but there seems to be one last "disconnect" in the process. I feel like there is one final link in the chain that needs to be realized.

      Now, in my UTGame>Src folder I have my CustomPawnSounds folder, which is where I'm keeping all my extended UC files dealing with PawnSounds. Inside the Classes folder, I have custom, extended versions of:

      UTPawnSoundGroup
      UTPawnSoundGroup_Liandri (just to be safe)
      UTPawn
      UTFamilyInfo

      So far, these are the only UC files that I have found dealing with player sounds (footsteps, hit sounds etc.) I have renamed each above file, ie. UTPawnSoundGroupMyGame, UTPawnMyGame, UTPawnSoundGroup_LiandriMyGame, and UTFamilyInfoMyGame.

      **************************************************

      So inside my new, extended UTPawn UC file, I have the following:

      Code:
      class UTFamilyInfoMygame extends UTFamilyInfo
      	dependsOn(UTPawnMyGame)
      	abstract;
      
      defaultproperties
      {
      	SoundGroupClass=class'UTPawnSoundGroupMyGame'
      }
      **************************************************

      And inside my UTFamilyInfoMyGame UC file, I have:

      Code:
      class UTFamilyInfoMyGame extends UTFamilyInfo
      	dependsOn(UTPawnMyGame)
      	abstract;
      
      defaultproperties
      {
      	SoundGroupClass=class'UTPawnSoundGroupMyGame'
      }

      **************************************************

      In my UTPawnSoundGroupMyGame UC file, I have:

      Code:
      class UTPawnSoundGroupMyGame extends UTPawnSoundGroup
      	abstract
      	dependson(UTPhysicalMaterialProperty);
      .. ^ followed by all the defaultproperties stuff (just replacing Epic's sounds with mine). I left that stuff out because, for the problem I'm having this is irrelevant and would take up too much space in this already really long post.

      **************************************************

      My UTPawnSoundGroup_LiandriMyGame UC file is pretty much identical to the UTPawnSoundGroupMyGame. I just extended it to be safe.


      So, if you're still with me here, my problem now occurs during compile.

      I get this warning:

      Warning, ClassProperty UTGame.UTPawn:SoundGroupClass: unresolved reference to 'class'UTGame.UTPawnSoundGroupMyGame''

      Where is the disconnect? Am I pointing everything to the right folders and files? I really appreciate any help that may come my way. I have to believe that there is a very simple fix here, but I'm absolutely not a programmer, so I'm sure I have just left some line or file out. THANKS!

      Comment


        #4
        You sure UTPawnSoundGroupMyGame is in the UTGame folder?

        if you are using for example MyMod folder, and your UTPawnSoundGroupMyGame script file is inside MyMod
        you will have to use
        class'MyMod.UTPawnSoundGroupMyGame'

        ยจ
        Also I notice in the warning message
        'class'UTGame.UTPawnSoundGroupMyGame''
        it should be
        class'UTPawnSoundGroupMyGame'


        EDIT:

        in your first post you have modeditpackage CustomPawnSounds so I guess the pawnsoundgroup script is in the CustomPawnSounds folder
        which makes it
        SoundGroupClass=class'CustomPawnSounds.UTPawnSound GroupMyGame'

        there is not supposed to be a space in the end of aboveline, dunno why its there

        Comment


          #5
          Thanks to you Zerav, I'm not getting that error message during compile. It compiled just fine which is cool, but I'm still hearing Epic's footsteps. I'll keep working on it and I'll be sure to post if I find some way to fix this.

          It is incredible how complicated changing the FREAKING footstep sounds is....but then again...I'm not a programmer.

          Comment


            #6
            Hmm, also noticed you said you extend your soundgroup class from the old class soundgroupclass? why?

            just copy everything you need from the utsoundgroups to your customsoundgroup and class yoursoundclass extends Object, nothing in the soundgroups is native code from what i can see.

            UTPawnSoundGroup

            since you dont mention if you have multiple classes you should just create the pawnsoundgroup from scratch look at top^

            change and remove the sounds you dont need.

            Comment


              #7
              I've looked into this and changing the defaults isn't enough. UTPawn spawn the sound class dynamicaly depending on the pawn's UTFamiltyInfo class passed to SetCharacterClassFromInfo(UTFamilyInfo). you can overwrite the soundgroup
              there or in the actual info class.

              SetCharacterClassFromInfo(UTFamilyInfo) is defined in UTPawn.

              Comment


                #8
                Ok, so with all your help my programmer friend was able to get it all working. After he walked me through it and got everything setup on my end, I have a pretty good understanding of how it all works and what needs to be done to have a custom pawn with custom properties (such as sound). I would post a tutorial, but my programmer friend is going to do a much better job with that. I'll make sure to post a follow-up link to his tutorial in this thread when it's finished. Thanks for all the help guys!

                Comment


                  #9
                  How about that follow-up?

                  Comment


                    #10
                    Could seriously use that follow up

                    Comment


                      #11
                      So if we have

                      FootstepSounds[0]=(MaterialType=Stone,Sound=SoundCue'A_Character_Fo otsteps.FootSteps.A_Character_Footstep_StoneCue')

                      How do we set a material to be "MaterialType"?

                      I see in the Physical Materials we have "impact sound" but that's for projectiles is it not?

                      EDIT: NM I think I got it. You have to add a Physical Material Property

                      Comment


                        #12
                        I'm having a major problem with this. It appears setting physical materials to call different footstep sounds only works on objects with perpoly collision set on them. This is really bad for objects using multiple materials on them.

                        If I use the collision objects I exported with the asset (UCX, UBX, USP) then it sets one physical material to the entire object and ignores the material I'm on. If I have it per poly, it registers the material I'm standing on.

                        So is it possible to have multiple physical materials present on objects with their own optimized collision meshes? How do we assign a physical material to specific Prim in the collision?

                        If per poly is the only way physical materials will work, it's inherently set up to make sure our games run like **** and should be fixed. If I'm dumb, which is often the case, I apologize and appreciate pointers on how to set it up.

                        Comment


                          #13
                          No solution

                          So it's been a over a year...

                          I apologize to those of you waiting for that tutorial. I was never able put up a link because, as far as I know, it was never made by the person who figured it all out. We stopped working together and I moved on to a new engine.

                          Anyway! I'm back with UDK now and now I've arrived at the same problem. I can't believe this hasn't been explored more since I dealt with this. I can really only find this old post and one other, and neither are helpful.

                          So, here we go...

                          The following line can be found in UTPawn:
                          Code:
                          SoundGroupClass = Info.default.SoundGroupClass;
                          Does default need to be changed somehow? I was under the impression that it's not necessary to alter any of the UT project's code.

                          Thanks

                          Comment


                            #14
                            I'm typing up a tutorial on footstep sounds right now. Will post it soon. =]

                            Comment


                              #15
                              Originally posted by JessieG View Post
                              I'm typing up a tutorial on footstep sounds right now. Will post it soon. =]
                              Looking forward to this!

                              Comment

                              Working...
                              X