가리키기 표시등 - MRTK2

HoverLight는 개체의 표면 근처를 가리키는 포인트 조명을 모방하는 Fluent Design 시스템 패러다임입니다. 원거리 조작에 자주 사용되는 애플리케이션은 HoverLight 구성 요소를 통해 가리키기 라이트의 속성을 제어할 수 있습니다.

Mixed Reality 도구 키트/표준 셰이더의 HoverLight 영향을 받는 재질을 사용해야 하며 Hover Light 속성을 사용하도록 설정해야 합니다.

참고

MRTK/표준 셰이더는 기본적으로 최대 2 HoverLights 개를 지원하지만 장면에 더 많은 조명이 추가되면 4개와 10개를 지원하도록 크기가 조정됩니다.

예제

MRTK 내의 대부분의 장면은 를 HoverLight사용합니다. 가장 일반적인 사용 사례는 MRTK/SDK/Features/UX/Prefabs/Cursors/DefaultCursor.prefab에서 찾을 수 있습니다.

HoverLightExamples 장면도 동작의 HoverLight 사용을 보여 줍니다. MRTK/Examples/Demos/StandardShader/Scenes/에서 찾을 수 있습니다.

고급 사용 방법

한 번에 10개 HoverLights 만이 재질 을 비출 수 있습니다. 프로젝트에 재료에 영향을 주는 데 10개 HoverLights 이상이 필요한 경우 아래 샘플 코드는 이를 달성하는 방법을 보여 줍니다.

참고

재질에 조명이 많이 HoverLights 있으면 픽셀 셰이더 명령이 증가하고 성능에 영향을 줍니다. 이러한 변경 내용을 프로젝트 내에서 프로파일링하세요.

사용 가능한 HoverLights 수를 10개에서 12개로 늘리는 방법입니다.

// 1) Within MRTK/Core/StandardAssets/Shaders/MixedRealityStandard.shader change:

#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 10

// to:

#if defined(_HOVER_LIGHT_HIGH)
#define HOVER_LIGHT_COUNT 12

// 2) Within MRTK/Core/Utilities/StandardShader/HoverLight.cs change:

private const int hoverLightCountHigh = 10;

// to:

private const int hoverLightCountHigh = 12;

참고

Unity에서 아래와 유사한 경고를 로그하는 경우 변경 내용이 적용되기 전에 Unity를 다시 시작해야 합니다.

Property (_HoverLightData) exceeds previous array size (24 vs 20). Cap to previous >size.

참고 항목