続きです。
<解決済みの問題点> A.ゲームオーバーにならない → <解決>
B.リセットできない → <解決>
C.弾のスピードが遅く緊迫感がない → <解決>
I.照準(クロスヘアー)がない → <解決>
D.弾が地形や壁を貫通してしまう → <解決>
J.プレイヤーの武器連射スピードが速すぎる → <解決>
<未解決の問題点>E.音が全くない
F.プレイヤーの横スライドができない
… 物陰の後ろに隠れて、すばやく撃つといった動作ができない
G.敵の砲台がダサイ
… 弾を撃ってくるから砲台だと分かるが、パッと見では何なのか分からない
H.プレイヤーの武器がダサイ
DとJは前回で解決しました。今日は、Eをやってみたいと思います。
<E問題の解決> 音を出したいのは:
a.バズーカ砲の発射音
b.敵大砲の発射音
c.BGM
d.敵砲台の破壊時爆発音
e.弾がその他のオブジェクトの当たったときの音
ですが、dとeはエラーが出てうまく行きませんでした。色々やってみましたがダメでした。
そこで、最低限必要なaとb、あれば雰囲気を盛り上げるcをつけることで、とりあえず満足することにしました。dとeは今後の課題です。
<音を用意する> 「フリー 効果音」とかで検索すると沢山あるので、そこからダウンしてきました。BGMは、本当はオリジナルでやりたいのですが、今回は練習なのでフリーの曲にしました。(mp3,wav,oggファイルなど)曲は3D Soundのチェックを外して2D Soundにしておきます。
それらをProjectウィンドウにドロップします。
<効果音をオブジェクトにくっつける> 音を出したいオブジェクト:
・プレイヤー(バズーカ砲発射音)
・敵大砲本体(大砲発射音)
をそれぞれに選択。それぞれ、Menu>Component>Audio>Audio Sourceをクリック。
その時、AudioSource(Inspectorウィンドウ内)のオプションで、Play On Awakeのチェックを外しておきます。下の折れ線グラフみたいなのをいじると音の到達距離を変えられます。
<スクリプトを変更する> バズーカ砲の発射タイミングや敵大砲の発射タイミングで発射音が出るようにスクリプトを変更(追加)します。
バズーカ砲は、プレイヤーコントロールスクリプト(SolController.js)内の上のほうに、
var msHassha : AudioClip;
を追加し、function Update()内のプレイヤー攻撃ルーチンの中に一行追加します。(緑字)
//Player 攻撃
if(Input.GetButtonDown("Jump")) {
if(hikigane>2){
var bullet = Instantiate(bulletPrefab, transform.Find("spawnPoint").transform.position, Quaternion.identity);
bullet.tag = "mikatadan";
bullet.rigidbody.AddForce( transform.forward * 3000);//henkou1106****
audio.PlayOneShot(msHassha); hikigane=0;
}
hikigane +=1;
}
保存したら、バズーカ砲発射音ファイルをInspector内のMS Hasshaにドロップして完成。
敵大砲は、敵大砲コントロールスクリプト(TaihoController.js)内の上の方に、
var taihoHassha : AudioClip;
を追加し、さらにfunction Shoot(byou)内の大砲発射ルーチンの中に一行追加します(緑字)。
function Shoot(byou) {
if (byou > jikanHozon){ var bullet = Instantiate(bulletPrefab, transform.Find("spawnPoint").transform.position, Quaternion.identity); bullet.gameObject.tag = "tekidan"; //敵弾tag bullet.rigidbody.AddForce( transform.forward * 2500); audio.PlayOneShot(taihoHassha); jikanHozon = byou; }}
保存したら、大砲発射音ファイルをInspector内のTaiho Hasshaにドロップして完成。
<BGMが鳴るようにする> 空のオブジェクト(Menu>GameObject>Empty Objectをクリック)を作り、それを選択した状態でMenu>Component>Audio>Audio Sourceをクリック。BGMファイルをInspector内Audio Clipにドロップ。Play On AwakeとLoopのチェックを入れる。
今度はHierarchyウィンドウ内で、上で作った空のオブジェクト(BGMとリネーム)を選択。Sceneウィンドウでプレイヤーの顔の前当たりに移動し、HierarchyウィンドウでBGMをプレイヤー(Soldier)の中にドロップして完成。

音量のバランスは何度もプレイしてみて少しずつ変更して行くしかありません。
<最後に...> E問題が解決して、大体ゲームの形になりました。これにて、「簡単なFPSゲームに挑戦」は終了します。
F、G、H問題は、また機会があったら挑戦したいと思います。
------------------ <ご注意>私自身が全くの超初心者ですので、文中まちがいがあるかも知れません。その際はご容赦をお願いします。<(_ _)>