【Unity】タイムラインでランダムに音声クリップを変更して再生する
タイムラインのオーディオトラックを使えば、ドラッグアンドドロップしたオーディオクリップを時間に沿って順に再生できますが、シグナルトラックを使って、決められたタイミングでランダムに選んだ音声を再生できるようにしてみました。… 続きを読む »
タイムラインのオーディオトラックを使えば、ドラッグアンドドロップしたオーディオクリップを時間に沿って順に再生できますが、シグナルトラックを使って、決められたタイミングでランダムに選んだ音声を再生できるようにしてみました。… 続きを読む »
前の記事ではグレネードが爆発すると敵は毎回同じダメージを受けていましたが、転がったグレネードからの距離に応じてダメージ判定をして、敵の受けるダメージを変えてみます。 まずグレネードのスクリプトで敵との距離を調べてダメージ… 続きを読む »
グレネードを投げると数秒後に爆発して、敵やアイテムを吹き飛ばすようにします。 まず敵のスクリプトにパブリックなメソッドを作ります。 public void Explode(Vector3 center) { // 体力を… 続きを読む »
UnityのVFXグラフでマズルフラッシュを作ってみました。 パーティクルが一つずつ出るようにする 銃弾を発射するときにPlay()を呼んでエフェクトを再生します。この時に一つずつパーティクルが出るようにしたいので、Si… 続きを読む »
リロードのアニメーションを作ってアニメーターコントローラーに設定してみました。 まずBlenderで作ったアニメーションをインポートして、アニメーターコントローラーの新しいステートにアタッチしました。アニメーションはブレ… 続きを読む »
毎回狙ったところへまっすぐ飛ぶのも変だと思ったので、銃弾が飛ぶ方向をばらつかせてみました。 // ステートマシンのスクリプト [SerializeField] float dispersion = 0.02f; // ば… 続きを読む »
弾数を制限して、弾を発射するたびに一つ減らしていき、0になったら撃てなくします。前の記事のスクリプトに少し加えるだけでできます。 using System.Collections; using System.Collec… 続きを読む »
マウスを押している間は弾を連射するようにして、その間隔を調節してみます。 弾を連射するには前の記事のスクリプトのInput.GetMouseButtonDownをInput.GetMouseButtonに変えるだけです。… 続きを読む »
前の記事で攻撃可能ステートから攻撃中のステートへ遷移している間はまだ攻撃可能ステートに留まっていると思ったのですが、遷移中はその後の攻撃中のステートも有効になるようです。 攻撃ステートが有効でマウス左クリックすると攻撃す… 続きを読む »
攻撃して敵が倒れた時に、その攻撃の力でラグドールが吹き飛ぶようにします。 敵を複製してラグドールを作ったので、敵とラグドールは全く同じボーンを持っています。敵の攻撃を受けたボーンの名前はわかるので、敵とラグドールの各ボー… 続きを読む »