LogoLogo
API Status
  • 👋Welcome
  • 🌐What is Morpheus Platform?
    • Interoperability
  • â„šī¸Help
    • 📗Glossary
    • 🆘Support
    • Firewall problems
    • EULA
  • CREATION
    • 🎮Unreal Development
      • ⚡Get Started
        • âš’ī¸Download the Editor
        • âĢUpload Content
        • 🌎Creating your own map
        • 📝Morpheus Base Project
        • ❓Differences from Unreal
          • 🧍Character Configuration
        • 📡Morpheus Networking
          • Introduction to Morpheus Networking
          • Network Levels
          • Replicated Properties
          • RPCs
          • Morpheus Render Targets
          • Morpheus Array
          • Networking FAQ
          • Replicating Sublevels
      • 📚Features & Guides
        • 📒Example Plugin
          • Nameplates
          • In-game roles
        • 🏊Actor Pooling
        • 🔊Audio
        • 🎭Avatars
          • Creating an Avatar
          • Attachments
            • MML Attachments
          • Custom Animation Variables
          • Importing an NFT collection
          • Capsules and Mesh Transforms
        • 🤖Bots
        • đŸŽ™ī¸Chat
          • Unreal Text Chat
        • đŸŽ›ī¸Control Panels
          • Control Panel Configuration
          • DJ booth mission control
          • Observer Controls
        • 🔉Crowd Audio
        • đŸ¤ŧCrowd Rendering
          • Legacy Animated Crowd
            • Animated Crowd Console Commands
            • Attaching static meshes to crowd members
          • Crowd Materials
          • Performance Parameters
          • Live Config Settings
          • Crowd Animation
            • Crowd Anim Blueprint
              • User Guide - Crowd Anim Blueprint
              • Reference Guide - ABP Nodes
                • Animation Playback
                • States and State Machines
                • Variables
                • Transitions
                • Special
                • Blends
                • Additional Notes
        • 🍱Helpers & Extras
          • "Instanced Objects" in Blueprints
          • Objects with "world context"
          • Making DataAsset classes
          • Duplicate Objects
          • The Bootflow Subsystem
          • The "Wait For Condition" System
          • Advanced Graphics settings
          • Listening to inputs on UObjects
          • Morpheus UserID
          • World Services
          • M2Extras: Skins System
        • đŸ–Ĩī¸Loading Screen
        • ⚡Live Config
          • Editing for a World
          • Editing Locally
          • Default Settings
          • Accessing via Blueprint
          • Adding New Settings
          • Overriding Defaults
          • Using Arrays
        • 🧊MML
        • đŸ•ēMotion Capture
        • 📡Networking
        • đŸ“ĸNotifications
        • Raycastable Crowd
        • 🌐Singletons
        • 📱Streaming & Multiplatform
          • GFN on mobile
        • đŸ–Ĩī¸UI
          • "UI Mode"
        • đŸ—ƒī¸User Collections
          • Creating a New Object Definition
          • Accessing from Unreal
            • Creating Objects Definitions
            • Transfer Objects
            • User Collection Views
            • Receiving Updates
        • đŸ“ēVideo Players
          • Embedded Video Player
          • Millicast video streaming
            • How to Setup an In-Game Video Stream
            • Picture-in-Picture mode
          • Streaming Video Player
            • How to Setup a URL Video Player
            • Picture-in-Picture mode
        • 🐞Visual Debugging
          • Inspector
        • đŸĒŸWeb UI
        • 💠Web Requests
          • Http Requests
            • Legacy HTTP Nodes
          • JSON Handling
          • WebSockets
          • Identity Validation
          • Allowed External URLs
          • Walkthrough Example
            • Example Counter Service
        • âœˆī¸World Travel
          • World Travel in the editor
        • Avatar Physics Assets
        • Action Gameplay Helper Components
      • 🔑Workflows
        • â†—ī¸Upgrade the Editor
          • đŸ–Ĩī¸Version History
        • âš™ī¸Editing Project Settings
        • 📈Profiling
        • đŸ§ēMarketplace Importing
        • đŸ› ī¸Extra Workflows
          • Setup Play-in-Editor
          • Setup Local Asset Validation
          • Adding Gameplay Tags
          • Validating Game Assets
          • Custom Connection Modes
          • Connect Editor to a World
          • Common Issues
      • 📚Useful Reading
        • ⭐Best Practices
    • 🌎Worlds
      • 📩Invite Players
        • Setting Role Groups
      • Persistent Worlds
      • Always on Worlds
    • 📅Running events
      • ✅Large scale events - Checklist
      • 👾Anti-Cheat (EAC)
      • 🎮Player Entry
        • 📱React Native
        • Steam
        • đŸ’ģHardware Reqs
      • đŸŽĨBroadcast
        • 📹OBS Integration
      • Failover
      • 🏁Capacity And Queue Management
  • ADMINS
    • đŸ‘ĒAccess Control
      • Adding metaverse contributors
      • Creating a new project
    • 💲Pricing
      • Development Support
      • Included Usage & Overages
      • Cloud Streaming
      • Access Modes
      • War Room Support
      • Platform SLA
    • âš™ī¸Settings
      • đŸ—ƒī¸Projects
  • APIs and Tooling
    • đŸ–Ĩī¸API Reference
      • Accounts
      • Events
      • Key/Value Store
      • Organizations
      • Realtime
      • User Profile
      • World Builder
      • Worlds
    • Pixel Streaming
    • 🚀Launcher
  • Integrations
    • 📊Analytics
      • Sending events from web
      • 🎮Sending Events from Unreal
    • đŸ’ŦChat
      • 🎮Integrating Pubnub with your Unreal Project
      • Adding Moderation to Chat
Powered by GitBook
On this page
  • Key Features
  • How to Use the Unified Ambience System
  • Parameters on the AmbientZone Actor

Was this helpful?

  1. CREATION
  2. Unreal Development
  3. Features & Guides
  4. Audio
  5. Audio Systems

Unified Ambience

Last updated 1 year ago

Was this helpful?

The Unified Ambience system is used to handle ambient/background sounds in an environment via a single, Data Table-based system. The image below shows the system in use in the Audio Test Gym, which can be accessed by opening M2AudioTestGym_P, and activating the Ambience System sublevel.

Key Features

  • Definition of Ambient Sound Zones with a spline, allowing for irregular area shapes, and varied elevation.

  • Creation of presets for Ambience Zones, which can be easily created, and added to a defined area.

  • Efficient activation and deactivatuion of emitters to reduce the impact on performance.

How to Use the Unified Ambience System

  1. Add an instance of BPM_M2_Audio_AmbienceController to your map. Only one instance is required - if one already exists, skip this step.

  2. Place an instance of BP_M2_Audio_AmbientZone near the area you want to populate with sounds.

  3. Select the AmbientZone actor, then select any spline point to edit the spline. You can then move/add/remove spline points as required.

  4. Add AmbientZones for all relevant areas, then assign an appropriate Ambience from the UnifiedAmbience Data Table, DT_M2_Audio_AmbientSoundscape.

  5. To author new ambient audio for this system, make a new data table with the S_M2_Audio_AmbientSoundscape Structure. Each Soundscape consists of the following four elements:

  • External Loop: A continuous sound playing from the perimeter of the AmbientZone, at the location closest to the listener.

  • External OneShots: Randomly-generated sounds that appear on the perimeter of the AmbientZone when the listener is outside.

  • Internal Loop: A continuous sound playing in 2D while the listener is inside the AmbientZone.

  • Internal OneShots: Randomly-generated sounds that appear around the listener while they are inside the AmbientZone. Additionally, the OneShots can be customised with the following parameters:

  • Sound: The audio asset to be triggered.

  • Volume: A volume multiplier.

  • Pitch: A pitch multiplier.

  • RepeatDelayMin: The minimum amount of time between instances of this sound being spawned.

  • RepeatDelayMax: The maximum amount of time between instances of this sound being spawned.

  • VolumeRandomisation: The amount of randomisation applied to the sound volume. This is added to or subtracted from the above multiplier.

  • PitchRandomisation: The amount of randomisation applied to the sound pitch. This is added to or subtracted from the above multiplier.

Parameters on the AmbientZone Actor

The Ambient Zone actor has a number of parameters that can be adjusted, as follows:

  • Ambience: The name of the ambience preset from the ambience data table.

  • Activation Distance: The distance at which the AmbienceZone is enabled.

  • Height Threshold: The vertical distance from the splie that is used to form the "volume". Any point within the spline, and within this distance (both above or below the spline) is considered to be "inside".

  • VolumeModifier: A multiplier for the AmbienceZone's volume.

  • Maximum External Sound Separation: The maximum distance from the closest point to the listener at which a randomised OneShot is spawned.

  • Inside Sound Spawn Box Size: The size of the box in which a randomised sound can be spawned while the listener is inside.

  • Zones To Disable Upon Entry: References to other AmbienceZones which should be muted when the listener enters the selected AmbienceZone.

The Unified Ambience System relies heavily on the use of splines. It is therefore advised to be familiar with Unreal's .

🎮
📚
🔊
spline editing tools