HoloLens(1세대) 공간 220: 공간 소리

중요

Mixed Reality Academy 자습서는 HoloLens(1세대), Unity 2017 및 Mixed Reality 몰입형 헤드셋을 염두에 두고 설계되었습니다. 따라서 이러한 디바이스 개발에 대한 지침을 계속 찾고 있는 개발자를 위해 이러한 자습서를 그대로 두는 것이 중요합니다. 이러한 자습서는 HoloLens 2 사용되는 최신 도구 집합 또는 상호 작용으로 업데이트되지 않으며 최신 버전의 Unity와 호환되지 않을 수 있습니다. 대신 지원되는 디바이스에서 계속 작동하도록 유지 관리됩니다. HoloLens 2에 대한 새로운 자습서 시리즈가 게시되었습니다.

공간 사운드 는 홀로그램에 생명을 불어넣고 세상에 존재합니다. 홀로그램은 빛과 소리로 구성되어 있으며 홀로그램의 시력을 잃을 경우 공간 소리가 그들을 찾는 데 도움이 될 수 있습니다. 공간 소리는 라디오에서 들을 수 있는 일반적인 소리와는 다릅니다. 3D 공간에 배치된 소리입니다. 공간 사운드를 사용하면 홀로그램이 당신 뒤에 있거나 옆에 있거나 머리 위에 있는 것처럼 들릴 수 있습니다! 이 과정에서는 다음을 수행합니다.

  • Microsoft Spatial Sound를 사용하도록 개발 환경을 구성합니다.
  • 공간 사운드를 사용하여 상호 작용을 향상시킵니다.
  • 공간 매핑과 함께 공간 사운드를 사용합니다.
  • 사운드 디자인 및 혼합 모범 사례를 이해합니다.
  • 사운드를 사용하여 특수 효과를 향상시키고 사용자를 Mixed Reality 세계로 가져옵니다.

디바이스 지원

과정 HoloLens 몰입형 헤드셋
MR 공간 220: 공간 음향 ✔️ ✔️

시작하기 전에

필수 구성 요소

프로젝트 파일

  • 프로젝트에 필요한 파일을 다운로드합니다. Unity 2017.2 이상이 필요합니다.
    • 여전히 Unity 5.6 지원이 필요한 경우 이 릴리스를 사용하세요. 이 릴리스는 더 이상 최신 상태가 아닐 수 있습니다.
    • 여전히 Unity 5.5 지원이 필요한 경우 이 릴리스를 사용하세요. 이 릴리스는 더 이상 최신 상태가 아닐 수 있습니다.
    • 여전히 Unity 5.4 지원이 필요한 경우 이 릴리스를 사용하세요. 이 릴리스는 더 이상 최신 상태가 아닐 수 있습니다.
  • 바탕 화면 또는 기타 쉽게 연결할 수 있는 위치에 파일을 보관 해제합니다.

참고

다운로드하기 전에 소스 코드를 살펴보려면 GitHub에서 사용할 수 있습니다.

Errata 및 Notes

  • 코드의 중단점을 적중하려면 Visual Studio에서 도구 옵션->>디버깅에서 "내 코드만 사용"을 사용하지 않도록 설정(선택 취소)해야 합니다.

챕터 1 - Unity 설정

목표

  • Microsoft Spatial Sound를 사용하도록 Unity의 사운드 구성을 변경합니다.
  • Unity의 개체에 3D 사운드를 추가합니다.

지침

  • Unity를 시작합니다.
  • 열기를 선택합니다.
  • 데스크톱으로 이동하여 이전에 보관하지 않은 폴더를 찾습니다.
  • Starting\Decibel 폴더를 클릭한 다음 폴더 선택 단추를 누릅니다.
  • 프로젝트가 Unity에서 로드되기를 기다립니다.
  • 프로젝트 패널에서 Scenes\Decibel.unity를 엽니다.
  • 계층 구조 패널에서 HologramCollection을 확장하고 P0LY를 선택합니다.
  • 검사기에서 AudioSource를 확장하고 공간화 검사 상자가 없음을 확인합니다.

기본적으로 Unity는 공간 변환기 플러그 인을 로드하지 않습니다. 다음 단계에서는 프로젝트에서 공간 사운드를 사용하도록 설정합니다.

  • Unity의 위쪽 메뉴에서 프로젝트 설정 > 오디오 편집 > 으로 이동합니다.
  • Spatializer 플러그 인 드롭다운을 찾아 MS HRTF Spatializer를 선택합니다.
  • 계층 구조 패널에서 HologramCollection > P0LY를 선택합니다.
  • 검사기 패널에서 오디오 원본 구성 요소를 찾습니다.
  • 공간화 확인란을 선택합니다.
  • Spatial Blend 슬라이더를 3D로 끌거나 편집 상자에 1을 입력합니다.

이제 Unity에서 프로젝트를 빌드하고 Visual Studio에서 솔루션을 구성합니다.

  1. Unity에서 파일 > 빌드 설정을 선택합니다.
  2. 열린 장면 추가를 클릭하여 장면을 추가합니다.
  3. 플랫폼 목록에서 유니버설 Windows 플랫폼 선택하고 플랫폼 전환을 클릭합니다.
  4. HoloLens용으로 특별히 개발하는 경우 대상 디바이스HoloLens로 설정합니다. 그렇지 않으면 모든 디바이스에 그대로 둡니다.
  5. 빌드 유형D3D로 설정되고 SDK최신 설치됨(SDK 16299 이상이어야 합니다)으로 설정되어 있는지 확인합니다.
  6. 빌드를 클릭한 다음
  7. "App"이라는 새 폴더 를 만듭니다.
  8. 폴더를 한 번 클릭합니다.
  9. 폴더 선택을 누릅니다.

Unity가 완료되면 파일 탐색기 창이 나타납니다.

  1. App 폴더를 엽니다.
  2. Decibel Visual Studio 솔루션을 엽니다.

HoloLens에 배포하는 경우:

  1. Visual Studio에서 위쪽 도구 모음을 사용하여 대상을 디버그에서 릴리스 로, ARM에서 x86으로 변경합니다.
  2. 로컬 컴퓨터 단추 옆에 있는 드롭다운 화살표를 클릭하고 원격 머신을 선택합니다.
  3. HoloLens 디바이스 IP 주소를 입력하고 인증 모드를 유니버설(암호화되지 않은 프로토콜)로 설정합니다. 선택을 클릭합니다. 디바이스 IP 주소를 모르는 경우 설정 > 네트워크 & 인터넷 > 고급 옵션을 참조하세요.
  4. 위쪽 메뉴 모음에서 디버그 -> 디버깅하지 않고 시작을 클릭하거나 Ctrl + F5를 누릅니다. 디바이스에 처음 배포하는 경우 Visual Studio와 페어링해야 합니다.

몰입형 헤드셋에 배포하는 경우:

  1. Visual Studio의 위쪽 도구 모음을 사용하여 대상을 디버그에서 릴리스 로, ARM에서 x64로 변경합니다.
  2. 배포 대상이 로컬 컴퓨터로 설정되어 있는지 확인합니다.
  3. 위쪽 메뉴 모음에서 디버그 -> 디버깅하지 않고 시작을 클릭하거나 Ctrl + F5를 누릅니다.

챕터 2 - 공간 소리 및 상호 작용

목표

  • 소리를 사용하여 홀로그램 리얼리즘을 향상시킵니다.
  • 소리를 사용하여 사용자의 응시를 지시합니다.
  • 소리를 사용하여 제스처 피드백을 제공합니다.

1부 - 리얼리즘 향상

주요 개념

  • 홀로그램 소리를 공간화합니다.
  • 사운드 소스는 홀로그램의 적절한 위치에 배치해야 합니다.

소리에 적합한 위치는 홀로그램에 따라 달라집니다. 예를 들어 홀로그램이 인간인 경우 소리 소스는 발이 아닌 입 근처에 있어야 합니다.

지침

다음 지침은 홀로그램에 공간화된 사운드를 연결합니다.

  • 계층 구조 패널에서 HologramCollection을 확장하고 P0LY를 선택합니다.
  • 검사기 패널의 AudioSource에서AudioClip 옆에 있는 원을 클릭하고 팝업에서 PolyHover를 선택합니다.
  • 출력 옆에 있는 원을 클릭하고 팝업에서 SoundEffects를 선택합니다.

Project Decibel은 Unity AudioMixer 구성 요소를 사용하여 소리 그룹에 대해 소리 수준을 조정할 수 있도록 합니다. 이러한 방식으로 소리를 그룹화하면 각 소리의 상대적 볼륨을 유지하면서 전체 볼륨을 조정할 수 있습니다.

  • AudioSource에서 3D 사운드 설정을 확장합니다.
  • Doppler 수준을0으로 설정합니다.

Doppler 수준을 0으로 설정하면 동작(홀로그램 또는 사용자 중 하나)으로 인한 피치 변경이 비활성화됩니다. 도플러의 고전적인 예는 빠르게 움직이는 자동차입니다. 자동차가 고정 수신기에 접근하면 엔진의 피치가 상승합니다. 수신기를 통과하면 거리와 함께 피치가 낮아지게 됩니다.

2부 - 사용자의 시선 지시

주요 개념

  • 소리를 사용하여 중요한 홀로그램에 주의를 환기합니다.
  • 귀는 눈이 보이는 곳을 직접 하는 데 도움이 됩니다.
  • 뇌는 몇 가지 배운 기대를 가지고있다.

배운 기대의 한 가지 예는 새가 일반적으로 인간의 머리 위에 있다는 것입니다. 사용자가 새 소리를 듣는 경우 초기 반응은 조회하는 것입니다. 사용자 아래에 새를 배치하면 소리의 올바른 방향을 향하게 될 수 있지만 조회해야 한다는 기대에 따라 홀로그램을 찾을 수 없습니다.

지침

다음 지침에 따라 P0LY가 숨겨지므로 소리를 사용하여 홀로그램을 찾을 수 있습니다.

  • 계층 구조 패널에서 관리자를 선택합니다.
  • 검사기 패널에서 음성 입력 처리기를 찾습니다.
  • 음성 입력 처리기에서 Go Hide를 확장합니다.
  • 함수 없음PolyActions.GoHide로 변경합니다.

키워드: 숨기기로 이동

3부 - 제스처 피드백

주요 개념

  • 소리를 사용하여 사용자에게 긍정적인 제스처 확인 제공
  • 사용자를 압도하지 마십시오 - 지나치게 큰 소리가 방해가
  • 미묘한 소리가 가장 잘 작동 - 경험을 압도하지 마십시오

지침

  • 계층 구조 패널에서 HologramCollection을 확장합니다.
  • EnergyHub를 확장하고 기본을 선택합니다.
  • 검사기 패널에서 구성 요소 추가를 클릭하고 제스처 소리 처리기를 추가합니다.
  • 제스처 사운드 처리기에서 탐색 시작 클립 및 탐색 업데이트된 클립 옆의 원을 클릭하고 둘 다에 대한 팝업에서 RotateClick을 선택합니다.
  • Visual Studio에서 로드하려면 "GestureSoundHandler"를 두 번 클릭합니다.

제스처 소리 처리기는 다음 작업을 수행합니다.

  • AudioSource를 만들고 구성합니다.
  • AudioSource를 적절한 GameObject의 위치에 배치합니다.
  • 제스처와 연결된 AudioClip 을 재생합니다.

빌드 및 배포

  1. Unity에서 파일 > 빌드 설정을 선택합니다.
  2. 빌드를 클릭한 다음
  3. App 폴더를 한 번 클릭합니다.
  4. 폴더 선택을 누릅니다.

도구 모음에 "릴리스", "x86" 또는 "x64", "원격 디바이스"가 표시되는지 확인합니다. 그렇지 않은 경우 Visual Studio의 코딩 instance. App 폴더에서 솔루션을 다시 열어야 할 수도 있습니다.

  • 메시지가 표시되면 프로젝트 파일을 다시 로드합니다.
  • 이전과 마찬가지로 Visual Studio에서 배포합니다.

애플리케이션이 배포된 후:

  • P0LY를 이동할 때 소리가 어떻게 변하는지 관찰합니다.
  • P0LY를 뒤에 있는 위치로 이동하려면 "숨기기로 이동" 을 말하세요. 소리에 의해 그것을 찾을 수 있습니다.
  • 에너지 허브의 기저를 응시합니다. 홀로그램을 회전하려면 왼쪽이나 오른쪽으로 탭하고 끌어서 클릭하면 소리가 제스처를 확인하는 방법을 알 수 있습니다.

참고: 사용자와 함께 태그를 지정하는 텍스트 패널이 있습니다. 여기에는 이 과정 전체에서 사용할 수 있는 사용 가능한 음성 명령이 포함됩니다.

챕터 3 - 공간 소리 및 공간 매핑

목표

  • 소리를 사용하여 홀로그램과 실제 세계 간의 상호 작용을 확인합니다.
  • 실제 세계를 사용하여 소리를 차단합니다.

1부 - 물리적 세계 상호 작용

주요 개념

  • 물리적 개체는 일반적으로 표면 또는 다른 개체를 발견할 때 소리를 줍니다.
  • 소리는 환경 내에서 적절한 컨텍스트여야 합니다.

예를 들어 테이블에 컵을 놓는 것은 금속 조각에 바위를 떨어뜨리는 것보다 조용한 소리를 내야 합니다.

지침

  • 계층 구조 패널에서 HologramCollection을 확장합니다.
  • EnergyHub를 확장하고 기본을 선택합니다.
  • 검사기 패널에서 구성 요소 추가를 클릭하고 소리와 동작을 사용하여 배치할 탭을 추가합니다.
  • 탭하여 소리와 동작을 사용하여 배치합니다.
    • 탭할 때 부모 배치를 선택합니다.
    • 배치 소리를배치로 설정합니다.
    • 픽업 사운드픽업으로 설정합니다.
    • 픽업 작업 및 배치 작업에서 오른쪽 아래에 있는 + 누릅니다. 장면의 EnergyHub를 None(개체) 필드로 끌어옵니다.
      • 픽업 작업에서 함수 없음 ->EnergyHubBase ->ResetAnimation을 클릭합니다.
      • 배치 작업에서 함수 없음 ->EnergyHubBase ->OnSelect를 클릭합니다.

탭하여 소리와 동작으로 배치

2부 - 소리 폐색

주요 개념

  • 빛과 같은 소리는 가려질 수 있습니다.

대표적인 예는 콘서트 홀입니다. 수신기가 복도 밖에 서 있고 문이 닫혀 있을 때 음악이 들리게 됩니다. 또한 일반적으로 볼륨이 감소합니다. 문이 열리면 소리의 전체 스펙트럼이 실제 볼륨에서 들립니다. 고주파 소리는 일반적으로 낮은 주파수보다 더 많이 흡수됩니다.

지침

  • 계층 구조 패널에서 HologramCollection을 확장하고 P0LY를 선택합니다.
  • 검사기 패널에서 구성 요소 추가를 클릭하고 오디오 방출기를 추가합니다.

Audio Emitter 클래스는 다음과 같은 기능을 제공합니다.

  • AudioSource 볼륨의 변경 내용을 복원합니다.
  • AudioEmitter가 연결된 GameObject 방향으로 사용자의 위치에서 Physics.RaycastNonAlloc을 수행합니다.

RaycastNonAlloc 메서드는 반환된 결과 수뿐만 아니라 할당을 제한하는 성능 최적화로 사용됩니다.

  • 발생한 각 IAudioInfluencer 에 대해 ApplyEffect 메서드를 호출합니다.
  • 더 이상 발생하지 않는 이전 의 각 IAudioInfluencer 에 대해 RemoveEffect 메서드를 호출합니다.

AudioEmitter는 프레임 단위가 아닌 사람 시간 배율로 업데이트됩니다. 이것은 인간이 일반적으로 효과가 매 분기 또는 초의 절반보다 더 자주 업데이트 될 필요가 충분히 빠르게 이동하지 않기 때문에 수행됩니다. 한 위치에서 다른 위치로 빠르게 텔레포트하는 홀로그램은 환상을 깨뜨릴 수 있습니다.

  • 계층 구조 패널에서 HologramCollection을 확장합니다.
  • EnergyHub를 확장하고 BlobOutside를 선택합니다.
  • 검사기 패널에서 구성 요소 추가를 클릭하고 오디오 폐색을 추가합니다.
  • 오디오 폐색에서 컷오프 빈도1500으로 설정합니다.

이 설정은 AudioSource 주파수를 1500Hz 이하로 제한합니다.

  • 볼륨 통과0.9로 설정합니다.

이 설정은 AudioSource 볼륨을 현재 수준의 90%로 줄입니다.

오디오 폐색은 다음을 위해 IAudioInfluencer를 구현합니다.

  • AudioSource 관리형 구입 AudioEmitter에 연결되는 AudioLowPassFilter를 사용하여 폐색 효과를 적용합니다.
  • AudioSource에 볼륨 감쇠를 적용합니다.
  • 중립 컷오프 빈도를 설정하고 필터를 사용하지 않도록 설정하여 효과를 사용하지 않도록 설정합니다.

중립으로 사용되는 주파수는 22kHz(22000Hz)입니다. 이 주파수는 인간의 귀에서 들을 수 있는 명목 최대 주파수를 초과하기 때문에 선택되었으며, 이는 소리에 눈에 띄는 영향을 미치지 않습니다.

  • 계층 구조 패널에서 SpatialMapping을 선택합니다.
  • 검사기 패널에서 구성 요소 추가를 클릭하고 오디오 폐색을 추가합니다.
  • 오디오 폐색에서 컷오프 빈도750으로 설정합니다.

사용자와 AudioEmitter 사이의 경로에 여러 폐색이 있는 경우 필터에 가장 낮은 빈도가 적용됩니다.

  • 볼륨 통과0.75로 설정합니다.

사용자와 AudioEmitter 사이의 경로에 여러 폐색이 있는 경우 볼륨 통과가 가산적으로 적용됩니다.

  • 계층 구조 패널에서 관리자를 선택합니다.
  • 검사기 패널에서 음성 입력 처리기를 확장합니다.
  • 음성 입력 처리기에서 Go Charge를 확장합니다.
  • 함수 없음PolyActions.GoCharge로 변경합니다.

키워드: Go Charge

  • 여기로 오세요를 확장합니다.
  • 함수 없음PolyActions.ComeBack으로 변경합니다.

키워드: 여기로 오세요

빌드 및 배포

  • 이전과 마찬가지로 Unity에서 프로젝트를 빌드하고 Visual Studio에 배포합니다.

애플리케이션이 배포된 후:

  • P0LY가 에너지 허브에 들어가도록 "Go Charge" 라고 말합니다.

소리의 변화를 확인합니다. 그것은 머플과 조금 조용한 소리해야한다. 자신과 에너지 허브 사이에 벽이나 다른 물체로 자신을 배치 할 수있는 경우, 당신은 실제 세계에 의해 폐색으로 인해 소리의 추가 머플링을 알 수 있어야합니다.

  • P0LY가 에너지 허브를 떠나 여러분 앞에 맡기도록 "여기 오세요" 라고 말합니다.

P0LY가 에너지 허브를 종료하면 사운드 폐색이 제거됩니다. 당신은 여전히 폐색을 듣고 있다면, P0LY는 실제 세계에 의해 폐색 될 수 있습니다. P0LY에 대한 명확한 시야를 확보하려면 이동해 보세요.

3부 - 방 모델

주요 개념

  • 공간의 크기는 소리 지역화에 기여하는 하위 큐를 제공합니다.
  • 회의실 모델은 AudioSource별로 설정됩니다.
  • Unity용 MixedRealityToolkit는 회의실 모델을 설정하기 위한 코드를 제공합니다.
  • Mixed Reality 환경의 경우 실제 공간에 가장 적합한 회의실 모델을 선택합니다.

Virtual Reality 시나리오를 만드는 경우 가상 환경에 가장 적합한 회의실 모델을 선택합니다.

챕터 4 - 사운드 디자인

목표

  • 효과적인 사운드 디자인에 대한 고려 사항을 이해합니다.
  • 혼합 기술 및 지침을 알아봅니다.

1부 - 사운드 및 환경 디자인

이 섹션에서는 주요 사운드 및 환경 디자인 고려 사항 및 지침에 대해 설명합니다.

모든 소리 정규화

이렇게 하면 소리당 볼륨 수준을 조정하는 특수 사례 코드가 필요하지 않으며, 이는 시간이 오래 걸릴 수 있으며 소리 파일을 쉽게 업데이트하는 기능을 제한합니다.

테더링되지 않은 환경을 위한 디자인

HoloLens는 완전히 포함된 테더링되지 않은 홀로그램 컴퓨터입니다. 사용자가 이동하는 동안 환경을 사용할 수 있고 사용할 수 있습니다. 주변을 탐색하여 오디오 믹스를 테스트해야 합니다.

홀로그램의 논리적 위치에서 소리 내보내기

현실 세계에서 개는 꼬리에서 짖지 않으며 인간의 목소리는 발에서 나오지 않습니다. 홀로그램의 예기치 않은 부분에서 소리가 내보내지 않도록 합니다.

작은 홀로그램의 경우 기하 도형의 중심에서 소리를 내보내는 것이 합리적입니다.

친숙한 소리는 가장 지역화 가능합니다.

사람의 목소리와 음악은 지역화하기가 매우 쉽습니다. 누군가가 당신의 이름을 호출하는 경우, 당신은 매우 정확하게 음성이 온 방향과 멀리에서 확인할 수 있습니다. 짧고 생소한 소리는 지역화하기가 어렵습니다.

사용자 기대치를 인식해야 합니다.

삶의 경험은 소리의 위치를 식별하는 우리의 능력에 역할을한다. 이것이 인간의 목소리가 특히 지역화하기 쉬운 이유 중 하나입니다. 소리를 배치할 때 사용자의 학습된 기대치를 알고 있어야 합니다.

예를 들어 누군가가 새 노래를 들을 때 새가 시야 위에 있는 경향이 있기 때문에(비행 또는 나무에서) 일반적으로 위를 찾습니다. 사용자가 소리의 올바른 방향으로 회전하는 것은 드문 일이 아니지만 잘못된 세로 방향을 보고 홀로그램을 찾을 수 없을 때 혼란스럽거나 좌절하게 됩니다.

숨겨진 내보내기 방지

실제 세계에서 소리가 들리면 일반적으로 소리를 내보내는 개체를 식별할 수 있습니다. 이것은 또한 당신의 경험에서 사실이어야합니다. 사용자가 소리를 듣고, 소리가 시작되는 위치를 알고, 개체를 볼 수 없는 것은 매우 당황스러울 수 있습니다.

이 지침에는 몇 가지 예외가 있습니다. 예를 들어 필드의 크리켓과 같은 주변 소리를 볼 수 없습니다. 삶의 경험은 우리에게 그것을 볼 필요없이 이러한 소리의 소스에 익숙해.

2부 - 사운드 믹싱

HoloLens에서 70% 볼륨에 대한 조합 대상 지정

Mixed Reality 경험을 통해 홀로그램을 실제 세계에서 볼 수 있습니다. 또한 실제 소리를 들을 수 있도록 해야 합니다. 70% 볼륨 대상을 사용하면 사용자가 환경의 소리와 함께 주변 세계를 들을 수 있습니다.

100% 볼륨의 HoloLens는 외부 사운드를 빠져나갈 수 있습니다.

볼륨 수준이 100%인 것은 Virtual Reality 환경과 비슷합니다. 시각적으로 사용자는 다른 세계로 전송됩니다. 같은 가청 진정한 개최한다.

Unity AudioMixer를 사용하여 소리 범주 조정

믹스를 디자인할 때 사운드 범주를 만들고 볼륨을 한 단위로 늘리거나 줄이는 기능을 갖도록 하는 것이 도움이 되는 경우가 많습니다. 전체 믹스를 빠르고 쉽게 변경할 수 있도록 하면서 각 소리의 상대 수준을 유지합니다. 일반적인 범주는 다음과 같습니다. 사운드 효과, 분위기, 음성 오버 및 배경 음악.

사용자의 시선에 따라 소리 혼합

사용자가 찾고 있는 위치(또는 그렇지 않음)에 따라 환경에서 사운드 믹스를 변경하는 것이 유용할 수 있습니다. 이 기술의 한 가지 일반적인 용도는 홀로그램 프레임 외부에 있는 홀로그램의 볼륨 수준을 줄여 사용자가 앞의 정보에 더 쉽게 집중할 수 있도록 하는 것입니다. 또 다른 용도는 중요한 이벤트에 사용자의 관심을 끌기 위해 소리의 볼륨을 늘리는 것입니다.

믹스 빌드

믹스를 빌드할 때 환경의 배경 오디오로 시작하고 중요도에 따라 레이어를 추가하는 것이 좋습니다. 이로 인해 각 계층이 이전 계층보다 크게 표시되는 경우가 많습니다.

아래쪽에 가장 중요하지 않고 일반적으로 가장 조용한 사운드를 사용하여 반전된 깔때기로 믹스를 상상하는 경우 다음 다이어그램과 유사하게 믹스를 구성하는 것이 좋습니다.

사운드 믹스 구조

음성 오버는 흥미로운 시나리오입니다. 만드는 환경에 따라 스테레오(지역화되지 않음) 사운드를 사용하거나 음성 오버를 공간화할 수 있습니다. Microsoft에서 게시한 두 가지 환경은 각 시나리오의 우수한 예제를 보여 줍니다.

HoloTour 는 스테레오 음성을 사용합니다. 내레이터가 볼 위치를 설명할 때 소리는 일관되며 사용자의 위치에 따라 달라지지 않습니다. 이렇게 하면 내레이터가 환경의 공간화된 소리를 벗어나지 않고 장면을 설명할 수 있습니다.

조각은 형사의 형태로 공간화 된 음성을 활용합니다. 형사의 목소리는 실제 인간이 방에있는 것처럼 중요한 단서에 사용자의 관심을 가져 오는 데 사용됩니다. 이것은 신비를 해결하는 경험에 몰입의 더 큰 감각을 가능하게한다.

3부 -성능

CPU 사용량

공간 사운드를 사용하는 경우 10~12개 방출기는 CPU의 약 12%를 사용합니다.

긴 오디오 파일 스트리밍

오디오 데이터는 특히 일반적인 샘플 속도(44.1 및 48kHz)에서 클 수 있습니다. 일반적인 규칙은 애플리케이션 메모리 사용량을 줄이기 위해 5-10초보다 긴 오디오 파일을 스트리밍해야 한다는 것입니다.

Unity에서 파일의 가져오기 설정에서 스트리밍할 오디오 파일을 표시할 수 있습니다.

오디오 가져오기 설정

5장 - 특수 효과

목표

  • "매직 Windows"에 깊이를 추가합니다.
  • 사용자를 가상 세계로 가져옵니다.

매직 Windows

주요 개념

  • 숨겨진 세계로 보기를 만드는 것은 시각적으로 매력적입니다.
  • 홀로그램이나 사용자가 숨겨진 세계 근처에 있을 때 오디오 효과를 추가하여 리얼리즘을 향상시킵니다.

지침

  • 계층 구조 패널에서 HologramCollection을 확장하고 언더월드를 선택합니다.
  • 언더월드를 확장하고 VoiceSource를 선택합니다.
  • 검사기 패널에서 구성 요소 추가를 클릭하고 사용자 음성 효과 추가를 클릭합니다.

AudioSource 구성 요소가 VoiceSource에 추가됩니다.

  • AudioSource에서 출력UserVoice(Mixer)로 설정합니다.
  • 공간화 확인란을 선택합니다.
  • 공간 혼합 슬라이더를 3D로 끌거나 편집 상자에 1을 입력합니다.
  • 3D 사운드 설정을 확장합니다.
  • Doppler 수준을0으로 설정합니다.
  • 사용자 음성 효과에서 부모 개체를 장면의 언더월드로 설정합니다.
  • 최대 거리를1로 설정합니다.

최대 거리를 설정하면 효과를 사용하도록 설정하기 전에 사용자가 부모 개체에 얼마나 가까이 있어야 하는지 사용자 음성 효과에 알릴 수 있습니다.

  • 사용자 음성 효과에서 코러스 매개 변수를 확장합니다.
  • 깊이0.1로 설정합니다.
  • 탭 1 볼륨을 설정하고 볼륨 2를 탭하고 3 볼륨0.8로 탭합니다.
  • 원래 사운드 볼륨0.5로 설정합니다.

이전 설정은 사용자의 음성에 풍부한 기능을 추가하는 데 사용되는 Unity AudioChorusFilter 의 매개 변수를 구성합니다.

  • 사용자 음성 효과에서 에코 매개 변수를 확장합니다.
  • 지연300으로 설정
  • 감쇠 비율을0.2로 설정합니다.
  • 원래 사운드 볼륨0으로 설정합니다.

이전 설정은 사용자의 음성이 에코되도록 하는 데 사용되는 Unity AudioEchoFilter 의 매개 변수를 구성합니다.

사용자 음성 효과 스크립트는 다음을 담당합니다.

  • 사용자와 스크립트가 연결된 GameObject 사이의 거리를 측정합니다.
  • 사용자가 GameObject를 향하고 있는지 여부를 결정합니다.

사용자가 효과를 사용하도록 설정하려면 거리에 관계없이 GameObject를 마주해야 합니다.

  • AudioChorusFilterAudioEchoFilterAudioSource에 적용하고 구성합니다.
  • 필터를 사용하지 않도록 설정하여 효과를 사용하지 않도록 설정

사용자 음성 효과는 MixedRealityToolkit for Unity의 마이크 스트림 선택기 구성 요소를 사용하여 고품질 음성 스트림을 선택하고 Unity의 오디오 시스템으로 라우팅합니다.

  • 계층 구조 패널에서 관리자를 선택합니다.
  • 검사기 패널에서 음성 입력 처리기를 확장합니다.
  • 음성 입력 처리기에서 언더월드 표시를 확장합니다.
  • 함수 없음UnderworldBase.OnEnable로 변경합니다.

키워드: 언더월드 표시

  • 언더월드 숨기기를 확장합니다.
  • 함수 없음UnderworldBase.OnDisable로 변경합니다.

키워드: 언더월드 숨기기

빌드 및 배포

  • 이전과 마찬가지로 Unity에서 프로젝트를 빌드하고 Visual Studio에 배포합니다.

애플리케이션이 배포된 후:

  • 표면(벽, 바닥, 테이블)을 마주하고 "지하 세계 표시"라고 말합니다.

지하가 표시되고 다른 모든 홀로그램이 숨겨집니다. 지하가 보이지 않으면 실제 표면을 향하고 있는지 확인합니다.

  • 지하 홀로그램에서 1미터 이내에 접근하여 대화를 시작합니다.

이제 음성에 오디오 효과가 적용되었습니다!

  • 지하 세계를 외면하고 효과가 더 이상 적용되지 않는 방법을 알 수 있습니다.
  • 지하 세계를 숨기려면 "지하 숨기기" 라고 말합니다.

지하는 숨겨지고 이전에 숨겨진 홀로그램이 다시 나타납니다.

축하합니다! 이제 MR Spatial 220: Spatial Sound를 완료했습니다.

세상을 듣고 소리와 함께 삶에 당신의 경험을 가지고!