1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[Unity]コードを書かずにランダムな足音を鳴らす

1
Last updated at Posted at 2026-08-12

はじめに

弟子 「先生、AIにランダムな足音を鳴らすコードを書かせるのはオワコンって本当ですか?」

先生 「残念ですがその通りなんです。今はAudioRandomContainerに丸投げするのが正解です。」

というわけで、コードを書かずにランダムな足音を鳴らす方法です。

古くからUnityを使っている方であれば、最近のUnityはAudioSourceの音素材を入れる場所がAudioClipからIAudioGeneratorに変更されていることに気が付かれたかもしれません。

image.png

ここにAudioClipを入れてスクリプトからausioSource.Play()とすれば指定した音を鳴らすことができるのは以前と同じですが、
今回はAudioRandomContainerを使用した方法についての解説となります。

Audio Random Container を作成する

Projectウインドウで右クリック > Create > Audio > Audio Random Container
AudioRandomContainerというアセットを作成します。

image.png

生成されたAudioRandomContainerをダブルクリックして
Audio Random Container をOpenします。

image.png

image.png

ランダムに鳴らしたい音をセットする

AudioClipsの部分に、ランダムで鳴らしたい音をセットします。
ひとつの音をピッチや音量を変えて鳴らしたい場合は1つだけセットすればOKです。

AudioClipをまとめてドラッグ&ドロップすれば一度にセットすることができます。

また、各音の音量がバラバラの場合は、各音の後ろにある0dBの部分を調整することで音量を合わせる(ノーマライズする)ことができます。

image.png

パラメータを調整する

  • Trigger - Automatic (スクリプトから呼ばなくても音が鳴る)
  • PlaybackMode - Sequential (リストの上から順番に鳴る)
  • AutomaticTriggerMode - Offset (音が鳴り終わってから次へ)
  • Loop - Infinite (無限になり続ける)

にセットしてから右上の再生ボタンを押すと、
セットした音が上から順になり続けます。

image.png

その他のパラメータの説明は以下の通りです

  • Trigger - Manual (スクリプトからPlay()すると音が鳴る)
  • PlaybackMode - Shuffle (リストをシャッフルしてから鳴らす)
  • PlaybackMode - Random (毎回ランダムで音を鳴らす)
  • PlaybackMode - Random - AvoidRepeatingLast(直前n回と同じ音を鳴らさない)
  • AutomaticTriggerMode - Pulse (次々と音を鳴らす)
  • Loop - Clips (指定した数だけ音を鳴らす)
  • Loop - Cycles (AudioClip数*回数だけ音を鳴らす)

また、各項目の右端にサイコロのボタンがありますが、
これを押すと
音量やピッチを毎回ランダムに変更することができます。

image.png

調整したAudioRandomContainerAudioGeneratorにドラッグ&ドロップして使用します。
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?