【UnityC#講座】ユニティちゃんにボイスをつける【AudioSource】


Unity2019.2.2f1
Windows10

ユニティちゃんボイス/トップ

【UnityC#講座】3D人型モデルを三人称視点で動かす操作を改良

【UnityC#講座】ユニティちゃんにパンチさせる

【UnityC#講座】ユニティちゃんに殴り合いをさせる【NavMeshAgent】

またこれらの記事の続きです。

今回はユニティちゃんアセットに入っているボイスを使ってみます。
攻撃とダメージを受ける時に声が出るようにしました。

完成したのがこの動画です。

■SEオブジェクトとSEスクリプトを作る

まず空のオブジェクトを出しSEと名付けます。
SEはSound Effectの略でボイスを扱うにはふさわしくないかもしれませんが、ボイスとSEのUnity上での扱いは変わらないので良しとしましょう。

次にSEスクリプトを作ります。
C#ファイルの名前をこちらもSEにしてください。

AudioSourceコンポーネントを追加・取得し、PlayOneShot()で鳴らします。
攻撃時にはAttackSound()メソッドを、ダメージ時にはDamageSound()メソッドを他のスクリプトから呼び出します。
Player、Opponentスクリプトに直接書いても良いのですが、手間を減らすためにこうしました。

続いて、SEスクリプトをSEオブジェクトにアタッチしたらInspectorから設定をします。
Soundに2と入れてインター押すと空欄が2つでき、そこに使う音声を入れます。

ユニティちゃんボイス/SEスクリプト/Inspectorから設定

Element 0にuniv0001を、Element 1にuniv0012を入れてください。
ボイスの在り処はこちらです。

Project > Assets > unity-chan! > unity-chan!Model > Audio > Voice

■Player、Opponentスクリプトに追加する

次はPlayer、OpponentスクリプトにSEを呼び出す記述を追加します。
変数を宣言し、Start()でオブジェクトとスクリプトを取得、そして後は攻撃、ダメージ時に一度だけ呼び出される部分からSEスクリプトのメソッドを呼び出してやるだけで完成です。
Action.AttackとAction.Damageの時に呼ぶ条件にすると音声が連続して出てしまうので注意してください。

Player.cs

スポンサーリンク

Opponent.cs

これでボイスが出るようになったはずですがちゃんと出たでしょうか?
今回はこれで終わりです。

■関連記事

【UnityC#講座】ユニティちゃんをスカイリム風に操作する

フリーゲーム「一人称で生成迷路脱出」を公開しました

ユニティちゃんライセンス

この作品はユニティちゃんライセンス条項の元に提供されています

スポンサーリンク

目次に戻る