オーディオ再生は、エクスペリエンス内のオーディオを再生する Sound オブジェクトを通じて発生します。Roblox は、各 オーディオアセット にユニークな ID を割り当て、Sound オブジェクトにプレイ特定のサウンドエフェクトまたは
複数の Sound オブジェクトの再生を変更するには、サウンドグループ に割り当てて、グループ全体のボリュームを制御し、ダイナミックエフェクト を適用して、2>効果2> を変更できます。
サウンドオブジェクトを作成する
エクスペリエンス内のユーザーの位置に関連するオーディオのエミットとボリュームの変更に対応する Sound オブジェクトを 3つ作成できます。各場所は、オーディオのエミットとボリュームの変更に対応するユーザーの位置を決定します。
場所 | オーディオのエミット | ボリュームの変更 |
---|---|---|
ブロック、球、またはシリンダーの子 BasePart 。 | オーディオは、パーツの表面全体から放出されます。 | ユーザーのサウンドリスナーと部品の位置の間の距離に応じて、音量が変わります。 |
Class.Attendance の子、MeshPart、TrussPart、1>Class.WedgePart1> または 4>Class.CornerWedgePart4> 。 | オーディオは、単一のアタッチメントポイントまたはパーツセンターから放出されます。 | ユーザーのサウンドリスナーとアタッチメント/パーツの位置に応じてボリュームが変わります。 |
Class.SoundService または Workspace 内。 | エクスペリエンス全体でオーディオをエミットします。 | ユーザーのサウンドリスナーの位置または回転にかかわらず、音量とパンの位置は同じです。 |
ポジションオーディオ
ポジション音は、ユーザーがエクスペリエンス内の特定の場所の近くでのみ聴くことができるオーディオです。ポジション音の 2種類があります:ボリューメトリックとポイントソースです。
ボリューメトリック
音量オプションは、ユーザーの位置に応じてオーディオのソースに動的に変更されるため、最も現実的なオプションです。たとえば、ユーザーが
サイズが大き
音響は、ユーザーの位置に応じてダイナミックに変更するユーザーの位置に周囲の音響を広げるために便利です。たとえば、Sound のオープンなエリアや、雨のような環境音響エリアでは、音響の周囲にユーザーの位置を
ボリュームオーディオの Sound オブジェクトを作成するには:
In the Explorer window, select サウンドサービス .
In the プロパティ window, navigate to the ボリューメトリックオーディオ property, then set it to 有効 .
In the エクスプローラー ウィンドウ, hover over a BasePart , then click the ⊕ button. A コンテキストメニューが表示されます。
メニューから サウンド を挿入します。
In the プロパティ window, navigate to the サウンドID property and input a valid オーディオアセット ID .
(オプション) エクスペリエンス開始時にオーディオを再生するようにしたい場合は、 プレイ プロパティを有効にします。
ポイントソース
音量的なオーディオとは対照的に、ポイントソースの音は単一のポイントソースからのみ発生します。この種のオーディオは、爆発、衝撃、電子機器、ダイアログなどに便利です。
ポイントソースオーディオの Sound オブジェクトを作成するには:
In the エクスプローラー window, hover over an 付件, truss, wedge, or corner wedge, then click the ⊕ button. A コンテキストメニューが表示されます。
メニューから サウンド を挿入します。
In the プロパティ window, navigate to the サウンドID property and input a valid オーディオアセット ID .
(オプション) エクスペリエンス開始時にオーディオを再生するようにしたい場合は、 プレイ プロパティを有効にします。
バックグラウンドオーディオ
ユーザーがエクスペリエンス内で移動するかどうかにかかわらず、バックグラウンドオーディオは同じ音量で再生されます。この種のオーディオは、ユーザーがエクスペリエンス内で音楽を再生するために、特に音楽のトラックを作成するときに便利です。
ワークスペースのオーガナイジョン目的で、Sound オブジェクトをすべてを背景オーディオに保持することが最善です。このサービスは、エクスペリエンス内のオーディオを追加および編集するためのワークスペースの単一のコンテナで新しい
背景オーディオの Sound オブジェクトを作成するには:
In the エクスプローラー ウィンドウ, hover over サウンドサービス , then click the ⊕ ボタン. コンテキストメニューが表示されます。
メニューから サウンド を挿入します。
In the プロパティ window, navigate to the サウンドID property and input a valid オーディオアセット ID .
(オプション) エクスペリエンス開始時にオーディオを再生するようにしたい場合は、 プレイ プロパティを有効にします。
(オプション)) この Sound オブジェクトが場プレースでプレイする唯一のトラックである場合、 ループ プロパティを有効にします。
サウンドオブジェクトをカスタマイズ
Sound オブジェクトプロパティは、ユーザーがオーディオをどのようにエクスペリエンスするかに影響を与えるために共同で機能します。たとえば:
- どれほど単一のオーディオを個々におよび相互に聞くか ( ボリューム )。
- オーディオのどの部分を聞くことができるか ( タイムポジション )。
- どのように速く、どのピッチで聞こえるか (再生速度).
- オーディオが完了時に自動再生される場合 ( ループされる )。
ボリューム
Class.Sound.Volume|Volume プロパティは、音声の音量を0 (沈黙) から10 (爆発) まで設定できます。1>Class.Sound.Volume1> オブジェクトの複数を変更するには、4> 7>グループ化7> の下に9> <
ロールオフ最小距離とロールオフ最大距離
RollOffMinDistance および Class.Sound.RollOffMaxDistance|
ポイントソースオーディオの場合、RollOffMinDistance と RollOffMaxDistance は、ボリューメトリックオーディオと同様に機能しますが、これらのプロパティは、オブジェクトの周りには影響しません。これらのプロパティのロールオフ距離は、ポイントソースオー
ロールオフモード
Class.Sound.RollOffMode|RollOffMode プロパティは、オーディオがユーザーのリスナーと Sound オブジェクトの親との距離が増加するとどのようにオーディオがフェイドするかを決定できます。このプロパティを 4つの値の Enum.RollOffMode 枚のうちの 1つに設定できます
ロールオフモード | 説明 |
---|---|
Inverse (デフォルト) | 最初は、RollOffMinDistance から急にボリュームが減少しますが、ボリュームフェイドはユーザーが RollOffMaxDistance に到達するまで más グラデーションになります。 once they reach the RollOffMaxDistance , the audio はサイレントになります。 |
Linear | ボリュームは、RollOffMinDistance と RollOffMaxDistance の間で線形的に減少します。ユーザーがRollOffMaxDistanceに到達すると、オーディオは静止します。 |
InverseTapered | ボリュームは、RollOffMinDistance とRollOffMaxDistance の逆モデルに従います。ユーザーがClass.Sound.RollOffMaxDistance に近づいているときは、2>Class.Sound.RollOffMaxDistance2> のリニアな正方形モデルにアクセスします。オーディオは最大距離ポイントで沈黙します。 |
LinearSquare | ボリュームは、RollOffMinDistance とRollOffMaxDistance の間で減少し、直線的な正方形の関係でClass.Sound.RollOffMaxDistanceに到達します。オーディオは最大距離ポイントで沈黙に到達します。 |
再生速度
Class.Sound.PlaybackSpeed|PlaybackSpeed プロパティを使用すると、オーディオのプレイ速度を決定できます。たとえば、PlaybackSpeed を 2 に設定すると、オーディオが 2 倍速く再生され、ピッチ
PlaybackSpeed = 0.5 | PlaybackSpeed = 1.0 | PlaybackSpeed = 2.0 |
ポジション
Class.Sound.TimePosition|TimePosition プロパティは、秒単位で、オーディオサンプルのどの位置をユーザーが現在聞いているかを表示します。このプロパティは、オーディオサンプルの特定の位置にのみプレイするか、イベントをトリガーするために使用されます。たとえば、次のコード
local RunService = game:GetService("RunService")
-- 新しいパーツを作成
local part = Instance.new("Part")
part.Anchored = true
part.Color = Color3.new(0.75, 0.2, 0.5)
part.Size = Vector3.new(2, 1, 2)
part.Material = Enum.Material.Neon
part.Position = Vector3.new(0, 4, 0)
part.Parent = workspace
-- 部品にアタッチメントを作成
local attachment = Instance.new("Attachment")
attachment.Position = Vector3.new(0, 0.5, 0)
attachment.Parent = part
-- アタッチメントにパーティクルエミッターを作成
local emitter = Instance.new("ParticleEmitter")
emitter.Rate = 5
emitter.Lifetime = NumberRange.new(1.5, 1.5)
emitter.Texture = "rbxassetid://1266170131"
emitter.Speed = NumberRange.new(1, 1)
emitter.Size = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(1, 6)}
emitter.Transparency = NumberSequence.new{NumberSequenceKeypoint.new(0, 1), NumberSequenceKeypoint.new(0.25, 0), NumberSequenceKeypoint.new(1, 1)}
emitter.Orientation = Enum.ParticleOrientation.VelocityPerpendicular
emitter.Parent = attachment
-- アタッチメントにサウンドを作成
local sound = Instance.new("Sound")
sound.SoundId = "rbxassetid://1835405646"
sound.Parent = attachment
-- サウンドを再生
sound:Play()
-- エミッターが有効であるかどうかをチェック開始
RunService.Heartbeat:Connect(function()
-- オーディオの時間範囲内のエミッターを有効にします; そうでない場合は無効にします
if sound.TimePosition >= 5 and sound.TimePosition < 20 then
emitter.Enabled = true
else
emitter.Enabled = false
end
end)
ループ
Class.Sound.Looped|Looped プロパティを設定すると、オーディオが終了した後にオーディオを繰り返し再生できます。true オブジェクトのオーディオが再び再生されると、バックグラウンドオーディオに適用されます。これは、エクスペリエンスが突然の沈黙
スクリプトサウンドオブジェクト
オーディオコンテキストをプレイする
Class.Sound.Playing|Play オブジェクトの Playing プロパティを通じて、オートプレイオーディオを含むオーディオコンテキストをプレイすることができます。たとえば、LocalScript に서、1>Class.Sound:Play()|Play</
local sound = Instance.new("Sound")sound.SoundId = "rbxassetid://9120386436"sound.Looped = truesound.Parent = workspacesound:Play()
あるいは、場所が複数のトラックを持つ場合、LocalScript から特定のトラックを再生できます:
local SoundService = game:GetService("SoundService")local musicTrack = SoundService:FindFirstChild("LucidDream")if musicTrack not musicTrack.IsPlaying thenmusicTrack:Play()end
インターフェイスオーディオを再生中
Class.GuiObject|GuiObjects のような Class.Sound オブジェクトをループアップすることで、ボタンなどのインターフェイスオーディオをプレイすることができます。これにより、ユーザーにオーディオフィードバックを提供できます。たとえば、ユーザーがマウスカーソルを
ユーザーが Sound オブジェクトのオーディオを再生するとき、TextButton または ImageButton をアクティブにしたときのオーディオを再生します。
- In the エクスプローラー ウィンドウ, hover over the TextButton または ImageButton , then click the ⊕ ボタン. コンテキストメニューが表示されます。
- スクリプトに次のコードを入力し、SOUND_NAME コンテナ内の Class.SoundService オブジェクトの名前を置き換えます。
local SoundService = game:GetService("SoundService")
local button = script.Parent
local sound = SoundService:FindFirstChild("SOUND_NAME")
if not sound.isLoaded then
sound.Loaded:Wait()
end
local function onButtonActivated()
if sound and not sound.IsPlaying then
sound:Play()
end
end
button.Activated:Connect(onButtonActivated)