【VRChatワールド用】RARAの足音ギミック
- Digital200 JPY



FootstepsManager および FootstepSurface で構成される足音システムの仕様と導入手順です。 動作の簡単なデモは下記のXでチェック出来ます https://x.com/RR_vrchat/status/2012475348467040684 【 概要 】 VRChatワールド内でプレイヤーが移動した際、その動きに合わせて足音を再生するシステムです。 主な特徴: ・ 全プレイヤー対応: ローカルプレイヤーだけでなく、他プレイヤーの足音も再生されます。 ・ 歩行/走行の判定: 移動速度を見て歩きと走りを自動判別し、音と間隔を切り替えます。 ・ 材質(Surface)判定: 足元のオブジェクトを検知し、地面の材質(土、金属など)に合わせた音を鳴らします。 ・ 負荷対策: 距離による処理間引きや、AudioSourceのオブジェクトプーリングを行っています。 -------------------------------------------------------------------------------- 【 導入手順 】 用途に合わせて2つのセットアップ方法があります。 ■ パターンA:手軽に導入したい場合(足音は一種類でOK) ワールド内のどこを歩いても同じ足音が鳴れば良い場合は、マネージャーを置くだけで完了します。 1. FootstepsManager を配置 FootstepsManager のプレファブ(またはコンポーネントがついたオブジェクト)をシーンに配置します。 2. 音を設定 FootstepsManager の Walk Sounds と Run Sounds に、鳴らしたい足音クリップ(土やコンクリートの音など)を登録します。 これだけで、プレイヤーが歩くと足音が鳴るようになります。 ■ パターンB:場所によって音を変えたい場合 「普段はコンクリートの音だけど、ここだけはカーペットの音にしたい」といった場合は、パターンAの設定を行った上で、特定のオブジェクトに設定を追加します。 1. マネージャーの準備 パターンAと同様に FootstepsManager をシーンに配置し、基本となる足音を設定しておきます。 ここで設定した音が「特に指定がない場所」で鳴る音になります。 2. 床ごとの設定 (Surface) 音を変えたい床のオブジェクト(コライダーがついているもの)を選び、FootstepSurface コンポーネントを追加します。 3. 個別の音を設定 追加した FootstepSurface の Walk Sounds と Run Sounds に、その床専用の音(木の音、鉄の音など)を登録します。 これで、Surfaceを設定した床の上だけ別の音が鳴るようになります。 -------------------------------------------------------------------------------- 【 構成要素 】 ■ 1. FootstepsManager.cs システムのメインスクリプトです。ワールドに一つだけ存在します。 全プレイヤーの位置を監視し、移動量を計算して足音再生を管理します。 ■ 2. FootstepSurface.cs 床の材質定義用スクリプトです。 場所ごとに音を変えたい場合にだけ使用します。 -------------------------------------------------------------------------------- 【 パラメータ詳細 】 ■ FootstepsManager < Audio Clips > ・ Walk Sounds: 基本の歩行音。 ・ Run Sounds: 基本の走行音。 < Settings > ・ Walk Step Distance: 歩行時に次の足音が鳴るまでの距離(メートル)。初期値 0.5。 ・ Run Step Distance: 走行時に次の足音が鳴るまでの距離(メートル)。初期値 0.35。 ・ Run Threshold: 走行とみなす移動速度(m/s)。これより速いと走行音になります。初期値 4.0。 ・ Max Audible Distance: 足音を処理する最大距離。これより遠いプレイヤーの足音は計算しません。初期値 20.0。 < Audio Handling > ・ Audio Source Pool: 再生に使用するAudioSource群。人数分用意する必要はありません。同時に鳴る足音の数だけあれば良いため、10個程度あれば十分です(空いているものを自動で使い回します)。 ・ Run Volume Multiplier: 走行時の音量倍率。 ・ Pitch Randomization: 音の高さのランダム幅。機械的な繰り返し感を軽減します。 < Detection > ・ Ground Layers: 足元判定を行うレイヤー。 重要: Playerレイヤー(アバター)は必ず除外してください。 -------------------------------------------------------------------------------- 【 技術的な仕組み 】 ■ プレイヤー追跡 Update ループで全プレイヤーの位置を監視しています。 前フレームからの移動距離を積算し、設定された歩幅(Step Distance)を超えたら足音を鳴らします。 ■ 材質判定 足音を鳴らすタイミングで、足元に向かってRay(見えない線)を飛ばします。 当たった床に FootstepSurface がついていればその音を、ついていなければマネージャーの基本音を使用します。 ■ オブジェクトプーリング 音を鳴らすための AudioSource を使い回す仕組みです。 新しい音を鳴らすたびに生成・削除を行うと重くなるため、あらかじめ用意したものを順番に使っています。
利用規約
本アセットの利用開始をもって、本規約に同意したものとみなします。 ■ 許可事項 (Allowed) VRChat等での利用 本アセットの改変、修正、調整 商用利用(ゲーム制作、映像制作、収益化された配信等) ■ 禁止事項 (Prohibited) 本アセットデータそのものの再配布・再販売(改変の有無を問わず禁止) 購入者以外がデータをダウンロードできる状態にすること (基本的には禁止ですが、ご連絡いただいた場合には許可する場合もあります) ■ 免責事項 (Disclaimer) 本アセットを利用したことによって生じるいかなる損害・トラブルに対しても、製作者は一切の責任を負いません。 本データは予告なくアップデート、販売停止、価格変更が行われる場合があります。
更新履歴
V1 2026/01/17



