魔兽地图编辑器吧 关注:64,332贴子:3,827,679

【挂教程刷脸熟系列】之魔兽里外的声音编辑及制作外导音乐包

只看楼主收藏回复

只是补充精品没有的内容,管它以后还有没有人看


IP属地:北京1楼2016-12-12 16:59回复
    魔兽支持mp3、wav、midi这三种音乐文件格式
    其中mp3最为常用,其性价比要较其余两种高得多,外导的音乐都可以使用该格式
    wav要求为单声道,但由于wav体积太大可用格式工厂将wav文件转化为mp3文件,再在导入时直接将mp3文件后缀改为"wav",同样可以正常播放
    midi需要导入音色库支持,虽然可以大幅度节约地图体积,但由于制作比较麻烦,魔兽里的midi机制也不完善,不推荐使用
    声音文件的参数可用软件自行调整,一首时长2分钟、24Kbps、11025Hz、16位的mp3大小约为370KB(该参数下,既可以节约地图空间也不明显损坏音质),音质与文件大小之间的平衡点由作者自己掂量好就可以
    声音制作软件:adsoundrecorder(录音)、cooleditprolvse(制作及修改声音文件)、ModelEditor(快捷地浏览魔兽MPQ)、格式工厂(转换音频格式、压缩声音文件)
    cooleditprolvse和格式工厂都可以调整声音文件的参数


    IP属地:北京2楼2016-12-12 17:00
    回复
      欸?双重施法?


      IP属地:广东3楼2016-12-12 17:01
      回复
        要想利用好魔兽里的声音资源,就先得熟悉声音文件的位置
        魔兽里的声音资源是比较充足的,如果能合理利用好,甚至不用外导音乐就能实现你要的音效

        查看魔兽自带声音文件路径的方法
        1:看声音编辑器的文件夹,例如图中“PH1.mp3”的文件路径就是Sound\Music\mp3Music\PH1.mp3
        2:在声音编辑器里选择一个声音文件后右键点击“替换内部声音”,再在输入管理器里查看刚替换的文件路径
        3:用ModelEditor里的MPQ浏览器打开war3.mpq或war3x.mpq的sound文件夹,查找声音文件并复制路径

        触发播放音效:
        普通音效用“播放音效”动作播放,3D音效用“播放3D音效”动作播放,但3D音效在绑定了单位后可用“播放音效”动作播放
        注:3D音效动作只能播放单声道且后缀为wav的文件
        播放音效:
        普通:
        3D:
        3D音效绑定单位后可用第一条动作播放:


        IP属地:北京4楼2016-12-12 17:01
        回复
          3D音效参数解释:
          最小衰减范围:屏幕中心与播放位置的距离达到这个数值时,音量就开始衰减,该值越接近0衰减得越快,音量越小
          最大衰减范围:屏幕中心与播放位置的距离在这个数值以内时,音量会逐渐衰减,但超过这个值时,音量就不会再降低
          截断距离:屏幕中心与播放位置的距离超过该值时,下次播放的声音的音量为0,当镜头移动至距播放位置该值的距离内时音量将重置
          公式:衰减后的最低音量=最小衰减范围/最大衰减范围

          如图这样设置时,距离达到1000时音量开始逐渐降低,达到2000时为最小值(50%),超过3000时声音消失

          如图这样设置时,音量不会随距离降低,但距离一旦超过5000时声音就会完全消失


          IP属地:北京5楼2016-12-12 17:02
          回复
            替换内部音效及自定义单位语音
            首先将mp3声音文件转化为单声道,并将文件后缀直接改为“wav”(是直接手写,不是转换,当然也可直接用wav文件,不过mp3的体积明显要小得多,推荐使用mp3),再在声音编辑器里找到任意一个单位的语音文件,图中以“footman”文件夹里的“FootmanPissed1”文件为例(即人族步兵被点击时的语音),右键点击选择
            “替换内部文件”,选择你修改后的音乐文件(后缀为wav),最后在物体编辑器的“单位声音设置”里改为“footman”,这样当你选择到这个单位的时候就能听见自定义语音了。



            IP属地:北京7楼2016-12-12 17:02
            收起回复
              录音示范
              可以用adsoundrecorder软件录音,再用cooleditprolvse作进一步修改
              录音设备改为“麦克风”时就可以录制自己说话的声音了

              用cooleditprolvse编辑声音
              “音量包络”功能调整声音平滑度,使播放开始和结束时有一个渐变的过程,令其更加协调、自然

              “调整音频格式”是一个便捷的压缩音乐功能,特别是在做自定义单位语音的时候,最重要的一步就是将音频转化为“单声道”


              IP属地:北京8楼2016-12-12 17:03
              回复
                常见问题:
                外导的音效无法播放,一般是因为这个声音文件的音频属性不符合魔兽要求,需用软件(如格式工厂)自行调整
                对于更换背景音乐时魔兽卡顿的现象,需预载该音乐,即在地图初始化时播放并立刻停止一遍就行了
                有的mp3文件无法正常播放,可用格式工厂将其转化为wav,再将这个wav转化为mp3,然后使用转换后的mp3文件
                若修改过的mp3文件在播放时有尖锐的噪音,可用cooleditprolvse软件的音量包络功能调整该mp3文件前端部分的平滑度
                开始游戏后听不到声音,很可能是你的游戏设置被改了,自己改回来就行


                IP属地:北京9楼2016-12-12 17:03
                回复
                  房间播放音乐:
                  复制这段函数到触发器里的自定义脚本区里,再修改一下音乐文件的路径,就能实现建立主机时自动播放音乐了
                  ===============================分割线===============================
                  function smd takes string s returns nothing
                  call SetMapDescription(s)
                  call PlayMusic("Sound\\Music\\mp3Music\\PH1.mp3") //音乐文件路
                  endfunction
                  #define SetMapDescription(s) smd(s)
                  ===============================分割线===============================


                  IP属地:北京10楼2016-12-12 17:03
                  收起回复
                    自制外导资源包(需要JASS基础):
                    有的地图由于地图体积要求,需要搭配一个外导资源包,下面就以外导音乐包为例介绍资源包的原理
                    外导资源包的原理就是使魔兽读取本地内存,即是读取你电脑上的文件,并将其应用到地图中
                    要让魔兽读取本地文件,必须先加载一个注册表让其获得读取权限
                    制作该注册表方法:新建空白的txt文件,将下面(分割线之间)的内容复制进去,将文件后缀改为reg即可
                    ===============================分割线===============================
                    Windows Registry Editor Version 5.00
                    [HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III]
                    "Allow Local Files"=dword:00000001
                    ===============================分割线===============================
                    如何使这个注册表能够自动加载呢?方法有很多,例如用preload功能生成自动运行的bat,或者用安装包软件制作一个安装包,让玩家一键安装注册表及外导资源
                    安装包制作方法:打开安装包制作软件,将音乐文件和注册表都添加进去,提示里写上“必须安装在魔兽根目录”,最后生成安装程序就可以了

                    以这个播放音乐的函数为例:
                    call PlayMusic("abc.mp3")
                    它播放的是“music”文件夹里的名为“abc”的mp3文件,由于魔兽默认读取魔兽根目录下的文件,所以该音乐文件的实际路径为Warcraft III\abc.mp3,所以在你制作安装包的时候,默认安装路径应选择魔兽根目录
                    判断外导音乐包是否成功安装的函数示例:
                    library MusicSystem
                    function HaveExtraMusic takes string music returns boolean
                    if GetSoundFileDuration(music) > 10 then //获取背景音乐长度,小于10秒就判定为没有这个音乐文件
                    return true
                    endif
                    return false
                    endfunction
                    function PlayExtraMusic takes string old,string new returns nothing
                    if HaveExtraMusic(new) == true then
                    call PlayMusic(new) //有外导资源包就播放新音乐
                    else
                    call PlayMusic(old)
                    endif
                    endfunction
                    endlibrary


                    IP属地:北京11楼2016-12-12 17:05
                    回复
                      内容补充:
                      ===============================完毕===============================


                      IP属地:北京12楼2016-12-12 17:05
                      回复
                        坑,外导资源包教程被百度抽了,等恢复


                        IP属地:北京13楼2016-12-12 17:07
                        收起回复
                          …喵呜觉厉喵呜皮蛋大神居然发帖了


                          IP属地:广东来自Android客户端14楼2016-12-12 17:11
                          回复
                            说到声音文件,它是除模型、贴图外唯一导入后即时可见的东西,f12导入后立马就可以在f5里找到进行编辑…
                            以前,包括现在,绝大多数用苹果手机的人,铃声都是一模一样的,真是烂大街,我是真不觉得好听,难听死了。
                            后来我自己用过一段时间的iphone4,百度一下马上就明白了,哦,原来格式是m4r,然后自己找了喜欢的歌,编辑处理一下,导出成m4r格式,手机连接电脑,随便用个什么手机助手,导入进去,手机上就有这些铃声选了。
                            其实简单得要死。
                            怎么扯到这么远了,都怪喵呜乱叫的臭猫。
                            mp3格式确实是最好用的了,在尽可能不损伤音质的前提下,尽量做到减小音频和码率,可以将文件大小压缩到很小。皮蛋君说的2分钟300-400kb都还算比较保守的了~
                            “喵呜”的音频,大概在99999999999999999999999999999999999999999999hz左右吧。


                            来自iPhone客户端16楼2016-12-12 17:30
                            回复
                              感谢皮蛋大神的分享,虽然关于3D已经会了,但是基于触发的还是挺有用的,赞一个。


                              IP属地:广东17楼2016-12-12 17:59
                              回复