Đối tượng âm thanh

*Nội dung này được dịch bằng AI (Beta) và có thể có lỗi. Để xem trang này bằng tiếng Anh, hãy nhấp vào đây.

Các đối tượng âm thanh modular của Roblox cho phép bạn có điều khiển năng động về âm thanh và trò chuyện giọng nói trong trải nghiệm của bạn.Hầu hết mọi đối tượng âm thanh tương ứng với một thiết bị âm thanh thế giới thực, và tất cả chúng đều hoạt động cùng nhau để ghi lại và phát lại âm thanh giống như phiên bản vật lý của chúng.

Ví dụ, mọi đối tượng âm thanh về mặt khái niệm rơi vào các danh mục sau:

  • Các đối tượng sản xuất dòng âm thanh , chẳng hạn như máy phát âm thanh.
  • Các đối tượng tiêu thụ dòng âm thanh, chẳng hạn như máy phát âm thanh.
  • Các đối tượng sửa đổi dòng âm thanh , chẳng hạn như hiệu ứng âm thanh.
  • Các đối tượng mà mang dòng âm thanh từ một đối tượng âm thanh này sang đối tượng khác, như dây.

Khi bạn đọc qua hướng dẫn này và tìm hiểu về cách tất cả các đối tượng âm thanh này hoạt động cùng nhau để phát ra âm thanh, bạn sẽ học cách thu nhận và cho phát nhạc, hiệu ứng âm thanh và giọng nói của con người chính xác từ trải nghiệm đến người chơi và ngược lại.

Chơi âm thanh

Để chơi âm thanh trong trải nghiệm của bạn, rất quan trọng để hiểu vai trò của mỗi đối tượng âm thanh có sẵn:

  • Một AudioPlayer tải và chơi tập tin âm thanh bằng một set audio assetID.
  • Một AudioEmitter là một nhà phát biểu ảo phát ra âm thanh vào môi trường 3D.
  • Một AudioListener là một micrô ảo nhận lấy âm thanh từ môi trường 3D.
  • Một AudioDeviceOutput là một thiết bị phần cứng vật lý trong thế giới thực, như một loa hoặc tai nghe.
  • Một AudioDeviceInput là một micrô vật lý trong thế giới thực.
  • A Wire mang luồng âm thanh từ một đối tượng âm thanh sang đối tượng khác Cách bạn kết hợp các đối tượng âm thanh này với nhau phụ thuộc vào việc bạn có muốn phát trực tiếp âm thanh cho loa hoặc tai nghe của người chơi hoặc từ các đối tượng trong không gian 3D hay không.Các phần sau đây chi tiết cả hai kịch bản.

Âm âm thanh2D

2D âm thanh không phải là âm thanh không chiều, chơi từ không có địa điểm cụ thể, vẫn ở cùng mức âm lượng bất kể vị trí hoặc hướng của người chơi trong không gian 3D.Loại âm thanh này yêu cầu ba đối tượng âm thanh:

  • Một máy chơi âm thanh để sản xuất một dòng âm phát trực tuyến.
  • Một thiết bị phần cứng vật lý để chơi dòng audio trong thế giới thực.
  • Một cáp để chuyển dòng âm thanh từ máy phát âm thanh sang thiết bị xuất.

Để minh họa cách cấu hình các đối tượng âm thanh này trong Studio cho âm thanh 2D, sơ đồ sau đây so sánh mỗi đối tượng với đối tượng thế giới thực của họ.Tóm tóm tắt:

  • Các AudioPlayer tải và phát tài sản âm thanh của bạn với các cài đặt được định cấu.
  • The AudioDeviceOutput cho phép người chơi nghe âm thanh thông qua loa hoặc tai nghe của họ.
  • Cổng Wire kết nối với máy phát âm thanh với thuộc tính SourceInstance của nó, và với thiết bị phần cứng vật lý với thuộc tính TargetInstance.Sau đó nó hoạt động như một cầu để vận chuyển dòng âm thanh từ máy phát âm thanh đến thiết bị xuất của người chơi.

Để chơi âm thanh không theo hướng:

  1. Trong cửa sổ Explorer , hãy di chuyển đến SoundService , sau đó
    1. Thêm một đối tượng AudioPlayer để tạo nguồn âm thanh.
    2. Thêm một đối tượng AudioDeviceOutput để tạo một loa phát trong suốt trải nghiệm.
    3. Chèn một đối tượng Dây để kết nối dòng chảy từ máy phát âm thanh đến loa.
  2. Chọn Trình phát âm thanh , sau đó trong cửa sổ Tính năng ,
    1. Set AssetID đến một ID âm thanh hợp lệ. Nếu bạn không có âm thanh tùy chỉnh riêng, bạn có thể tìm các tài nguyên âm thanh miễn phí để sử dụng trong Cửa hàng Nhà sáng tạo.
    2. Bật Lặp lại nếu bạn muốn âm thanh của bạn liên tục lặp lại.
    3. Chỉnh âm lượng thành đơn vị của độ lớn bạn muốn phát âm thanhcủa mình.
  3. Chọn Sợi , sau đó trong cửa sổ Tính năng ,
    1. Thiết lập SourceInstance cho AudioPlayer để xác định rằng bạn muốn chơi âm thanh trong người chơichơi âm thanh cụ thể này.
    2. Thiết lập TargetInstance đến AudioDeviceOutput để xác định rằng bạn muốn phát âm thanh từ loa cụ thể này.

Từ đây, bạn có thể kích hoạt âm thanh không hướng dẫn của mình với các kịch bản để chơi như người chơi tham gia trải nghiệm hoặc là kết quả của một sự kiện trò chơi hoặc tương tác UI.Đối với các tham chiếu mã cho các trường hợp sử dụng này, xem hướng dẫn Thêm âm thanh 2D.

Âm thanh 3D

3D âm thanh là âm thanh hướng từ một vị trí cụ thể trong không gian 3D, tăng hoặc giảm âm lượng tùy thuộc vào vị trí và hướng của người chơi đối với âm thanh.Loại âm thanh này yêu cầu sáu đối tượng âm thanh:

  • Một máy chơi âm thanh để sản xuất một dòng âm phát trực tuyến.
  • Một máy phát âm thanh để phát dòng âm thanh trong môi trường.
  • Một người lắng nghe để nhận dòng âm thanh từ môi trường.
  • Một thiết bị phần cứng vật lý để chơi dòng audio trong thế giới thực.
  • Hai dây: một để mang dòng âm thanh từ máy phát âm thanh đến người phát, và một khác để mang nó từ người lắng nghe đến thiết bị xuất.

Để minh họa cách cấu hình các đối tượng âm thanh này trong Studio cho âm thanh 3D, sơ đồ sau đây so sánh mỗi đối tượng với đối tượng thế giới thực của họ.Tóm tóm tắt:

  • Các AudioPlayer tải và phát tài sản âm thanh của bạn với các cài đặt được định cấu.
  • Vị trí cha của AudioEmitter trong không gian 3D xác định nơi mà âm thanh đó phát ra trong môi trường.
  • The AudioListener hoặc nhận lấy âm thanh từ emitter từ máy ảnh địa phương hoặc trong nhân vật người chơi Humanoid.RootPart, tùy thuộc vào nơi bạn đặt vị trí người lắng nghe mặc định.
  • The AudioDeviceOutput cho phép người chơi nghe âm thanh thông qua loa hoặc tai nghe của họ.
  • Kết nối đầu tiên kết nối với máy phát âm với thuộc tính của nó, và với người phát với thuộc tính của nó.Sau đó nó hoạt động như một cầu để vận chuyển dòng âm thanh từ máy phát âm thanh đến người phát.
  • Cái thứ hai Wire kết nối với người lắng nghe với tính chất SourceInstance của nó, và với thiết bị vật lý với tính chất TargetInstance của nó.Sau đó nó hoạt động như một cầu để chuyển dòng âm thanh từ người lắng nghe đến thiết bị xuất của người chơi.

Để chơi âm thanh vị trí:

  1. Chọn nơi bạn muốn tạo một Người lắng nghe âm thanh khi người chơi xuất hiện trong trải nghiệm.

    1. Trong cửa sổ Explorer , hãy chọn SoundService .
    2. Trong cửa sổ Tính năng , đặt ListenerLocation thành một trong những điều theo dõi:
      • Mặc định - Tạo và cha mẹ người lắng nghe đến Workspace.CurrentCamera trong các trải nghiệm cho phép trò chuyện bằng giọng nói.
      • Không có - Không tạo một người lắng nghe. Tùy chọn này hữu ích nếu bạn muốn tạo một người lắng nghe thông qua một kịch bản.
      • Nhân vật - Tạo và cha mẹ một người lắng nghe cho nhân vật của người chơi địa phương.
      • Máy ảnh - Tạo và cha mẹ người lắng nghe đến Workspace.CurrentCamera .
  2. Trong cửa sổ Khám phá , hãy di chuyển đến đối tượng 3D mà bạn muốn phát âm thanh, sau đó:

    1. Thêm một đối tượng AudioPlayer để tạo nguồn âm thanh.
    2. Thêm một đối tượng AudioEmitter để phát một dòng vị trí từ đối tượng 3D.
    3. Chèn một đối tượng Dây để kết nối dòng chảy từ máy phát âm thanh đến máy phát âm thanh.
  3. Chọn Trình phát âm thanh , sau đó trong cửa sổ Tính năng ,

    1. Set AssetID đến một ID âm thanh hợp lệ. Nếu bạn không có âm thanh tùy chỉnh riêng, bạn có thể tìm các tài nguyên âm thanh miễn phí để sử dụng trong Cửa hàng Nhà sáng tạo.
    2. Bật Lặp lại nếu bạn muốn âm thanh của bạn liên tục lặp lại.
    3. Chỉnh âm lượng thành đơn vị của độ lớn bạn muốn phát âm thanhcủa mình.
  4. Chọn AudioEmitter , sau đó trong cửa sổ Tính năng , đặt Giảm khoảng cách đến một đường cong âm lượng trên khoảng cách để xác định mức độ mà người nghe có thể nghe thấy emitter theo khoảng cách giữa chúng.

    Ví dụ, đường cong sau đây giảm mức âm thanh xuống một nửa khi người lắng nghe cách xa phát xạ 50 đinh tán, sau đó nó giảm mức âm thanh xuống 0 khi người lắng nghe cách xa 70 đinh tán.

  5. Chọn Sợi , sau đó trong cửa sổ Tính năng ,

    1. Thiết lập SourceInstance cho AudioPlayer để xác định rằng bạn muốn chơi âm thanh trong người chơichơi âm thanh cụ thể này.
    2. Chỉnh TargetInstance đến AudioEmitter để xác định rằng bạn muốn phát nhạc từ máy phát nhạc cụ thể này.

Từ đây, bạn có thể kích hoạt âm thanh hướng dẫn với các kịch bản để chơi như người chơi tham gia vào trải nghiệm hoặc là kết quả của một sự kiện trò chơi hoặc tương tác UI.Đối với các tham chiếu mã cho các trường hợp sử dụng này, xem hướng dẫn Thêm âm thanh 3D.

Tùy chỉnh âm thanh

Hiệu ứng âm thanh cho phép bạn thay đổi hoặc cải thiện dòng âm thanh trước khi chúng đến tai người chơi.Bạn có thể áp dụng những hiệu ứng này để làm cho âm thanh của bạn trở nên sống động hơn trong các trải nghiệm, chẳng hạn như sử dụng một đối tượng AudioEqualizer để làm cho âm thanh mưa bị mờ nhạt, AudioCompressor đối tượng để kiểm soát âm lượng tối đa của âm thanh, hoặc AudioReverb để thêm thêm những phản ánh thực tế hơn về âm thanh trong không gian nội thất.

Đối với hướng dẫn cách cài đặt hiệu ứng âm thanh, cũng như so sánh bên cạnh việc tùy chỉnh âm thanh trước và sau khi bạn tùy chỉnh âm thanh, xem Hiệu ứng âm thanh.

Kích hoạt âm thanh

Bạn có thể kích hoạt bối cảnh âm thanh ngay lập tức từ một kịch bản bằng cách gọi Play() trên một đối tượng AudioPlayer được kết nối đúng cách.Ví dụ, nếu bạn cha một kịch bản cho một người chơi âm thanh, bạn có thể kích hoạt tài sản âm thanh thông qua một cái gì đó như thế này:


local audio = script.Parent
local something = ...
something.SomeEvent:Connect(function()
audio:Play()
end)

Đối với các mẫu mã phức tạp hơn để kích hoạt âm thanh, chẳng hạn như cho phản hồi trò chơi, tương tác UI và tiếng ồn lặp lại, xem hướng dẫn Thêm âm thanh 2DThêm âm thanh 3D.