●Unreal Tounament Voiceの作り方

★はじめに
ここでは"TestVoice"(仮名)という名のVoicePackageを作成する過程を順を追って説明していきます。
PackageNameは長過ぎると"***.u"fileのSaveに失敗するので、
半角英数字15文字以内で設定して下さい
女性Voiceの場合はMaleをFeMaleに置き換えて対応します。


1.素材の準備
まず最初に素材として、
Windows標準のサウンドレコーダー(%SystemRoot%\System32\sndrec32.exe)で録音した
PCM 8bit モノラル 11.025kHzまたはPCM 8bit モノラル 22050kHzのwavファイルを複数用意します。
wav.fileには、デフォルトプロパティにUseボタンで取り込めなくなるので
"!"特殊記号の使用は控える事"-"や"_"はOK)。
また、
スペースを含むフォルダ、ファイル名も読み込みエラーとなるので避けて下さい。

2.TestVoice.uaxの保存
UnrealEDを開き、Soundを押して出てきた画面のImportを選択。 wavを全て選択し、PackageにTestVoiceと設定、Ok to ALLで読み込む。
下部にあるSaveを選択すると\SoundフォルダにTestVoice.uaxが保存されます。

3.スクリプトの編集
Actorを押し、ツリーからActor→info→VoicePack→ChallengeVoicePackを辿って開きます。
VoiceMaleでNewボタンを押して、New actor class name,Package name共にTestVoiceと設定して新規Actor Classを作成。

Voice MaleOneをダブルクリックでスクリプト編集ウインドウを開き、#execから最後までを範囲指定してコピー(Ctrl+C)。
今度はツリーのTestVoiceをダブルクリックでスクリプト編集ウインドウを開き、
先程コピーした分のTXTをペースト(Ctrl+V)した後、6行目の該当する箇所を書き換えて下さい。

#exec OBJ LOAD FILE=..\Sounds\Male1Voice.uax PACKAGE=Male1Voice

#exec OBJ LOAD FILE=..\Sounds\TestVoice.uax PACKAGE=TestVoice
TestVoiceFinalSave

4.TestVoice.uの仮保存
編集後、Compileを押してスクリプトコンパイル変換した後、ツリーの中でTestVoiceが選択状態になっているのを確認してSaveを選択し、 Package to Saveの欄からTestVoiceを指定してSave。
すると、\SystemフォルダにTestVoice.uというファイルが保存されます。
そして
Actorを押してTestVoiceFinalSaveTestVoice.uが仮保存されます。
(チェックマーク入れる場所が出てない人はView→Show Packegeにチェックマークを入れる)

5.プロパティのボイス設定
ツリーからTestVoiceを右クリックし、Default TestVoice.TestVoice Propertiesを選択し、ツリー状の設定ウインドウを開きます。
その中のChallengeVoicePackセクションがボイス割り当て設定エリアとなります。
プロパティではこれらの5種類それぞれに対して3つの設定エリア(Abbrev, Sound, String)に別れているので、
それぞれ0〜15or31までのスロットナンバーが対応するよう配置します。

−ボイスの分類−
分類 意味 最大割り当て可能数(合計112個)
Ack 了解 16
FF Teamへの怒り 16
Order 命令 16(10以降はVキーから表示不可)
Other その他 32
Taunt 挑発 32

以下、特殊なボイス場所

No Order DM TDM AS CTF DOM
00 Defend Defend the base. Defend the base. Defend the base.
01 - Hold this position. Hold this position Hold this position
02 Attack Assault the base. 10.Take their frag. 11.Serch and destroy
03 - Cover me. Cover me. Cover me.
04 Freelance Engage according Engage according Engage according

CTFとDOMの時は02のボイスメニューの場所が10、11に置き換わる

−ボイスのプロパティの設定エリア−

Abbrev Vキーを押しながらメッセージ選択する時のメニューのメッセージを設定
記入がないとString側の文章がメニューに表示される。長い場合の時だけ設定するといい
Sound クリックするとuseボタンで選択中のボイス一覧から貼り付ける事が出来る
String 画面上部に各プレイヤーのメッセージが顔と共に表示されるメッセージを設定
NameSound redleader,blueleader,greenleader,goldleaderのVoiceを01〜04のスロットに設定
AckTime NameTime AckSound,NameSoundセクションに指定してあるVoice(Waveファイル)の時間長を設定
numAck numFFire numTaunt Ack,FFire,TauntセクションのVoiceの総数をそれぞれ設定


6.TestVoice.uの最終保存
設定を全て終了したらプロパティウインドウを閉じます。
そして
Actorを押してTestVoiceFinalSaveTestVoice.uの完成です。
(チェックマーク入れる場所が出てない人はView→Show Packegeにチェックマークを入れる)

"TestVoice.int"の作成
TestVoice.intを新規作成し(中身は空のテキスト形式)、メモ帳等で開いて次の3行を記述します。(Objectから最後までは改行無しで一行にまとめる事)

[Public]
Object=(Name=TestVoice.TestVoice,Class=Class,MetaClass=BotPack.Voicemale,Description="TestVoice")
Object=(Name=TestVoice.TestVoice,Class=Class,MetaClass=BotPack.VoiceFeMale,Description="TestVoice")


これを\Systemフォルダに放り込めばOK。

これで作業は全て完了。めでたく自作Voiceを喋りまくってくれる事でしょう。
DefaultVoicePropertiesへのSound割り当てで試行錯誤すると思われますが、
一度仕組みを把握してしまえば、次からは短時間で簡単にVoicePackの作成が可能になるはず。