LiveLinkXR

LiveLinkXR 플러그인을 사용하여 XR 디바이스에서 LiveLink를 사용합니다.

Choose your operating system:

Windows

macOS

Linux

라이브 링크(Live Link) 의 목적은 외부 소스에서 언리얼 엔진 (UE)으로 애니메이션 데이터를 스트리밍하고 처리하는 공통 인터페이스를 제공하는 것입니다. 언리얼 플러그인 을 통해 확장 가능하도록 설계되었기 때문에 서드파티가 신기능을 개발할 때 엔진에 변경 사항을 적용하거나 유지할 필요를 최소화 했습니다.

LiveLinkXR 은 XR 디바이스에서 이 기능을 사용할 수 있도록 확장합니다. LiveLinkXR 플러그인을 사용하면 바이브 트래커(Vive Tracker) 및 HMD와 같은 XR 소스를 라이브 링크 툴과 함께 사용할 수 있습니다.

LiveLinkXR은 현재 SteamVR만 지원합니다.

이 문서를 통해 LiveLinkXR 플러그인을 설정 및 환경설정하고 툴의 다양한 세팅을 조정하는 방법과 문제 해결 및 우회 방법을 알려드리겠습니다.

LiveLinkXR 활성화

  1. 편집(Edit) 탭을 클릭하여 펼친 후 환경설정(Configuration) 헤딩 아래에서 플러그인(Plugins) 를 클릭합니다.

    LLXR_WindowsPlugin.png

  2. 검색창에서 LiveLinkXR 플러그인을 찾은 후 활성화(Enabled) 를 클릭합니다.

    LLXR_LocateLLXRPlugin.png

    SteamVR 플러그인도 활성화해야 할 수 있습니다.

  3. 표시된 박스에서 예(Yes) 를 클릭합니다.

    LLXR_BetaOptIn.png

  4. 지금 재시작(Restart Now) 을 클릭하여 플러그인을 활성화한 상태로 UE를 재시작합니다.

    LLXR_PluginRestart_RAW.PNG

  5. 창(Window) 탭을 펼치고 라이브 링크(Live Link) 를 클릭하여 라이브 링크 툴을 시작합니다.

    LLXR_OpenLiveLink.png

  6. 툴이 열린 후 소스(Source) 창을 펼치면 LiveLinkXR 이 새로운 소스로 나오는 것을 볼 수 있습니다.

    LLXR_NewSourceInLiveLink.png

  7. LiveLinkXR 소스(LiveLinkXR Source) 옵션을 펼쳐 다양한 관련 세팅을 확인합니다.

    LLXR_LiveLinkXRSourceSettings.png

소스 세팅

LiveLinkXR 소스 세팅을 통해 데이터 소스와 로컬 업데이트 속도를 조정할 수 있습니다.

세팅 이름

목적

트래커 트랙(Track Trackers)

SteamVR 내의 모든 바이브 트래커를 트래킹합니다.

컨트롤러 트랙(Track Controllers)

모든 컨트롤러를 트래킹합니다.

HMD 트랙(Track HMDs)

모든 HMD를 트래킹합니다.

로컬 업데이트 속도(Hz)(Local Update Rate in Hz)

각 디바이스의 트래킹 데이터를 읽을 업데이트 속도(Hz)입니다.

LiveLinkXR 소스 추가하기

아래 프로세스에서는 트래커와 바이브 HMD(Vive HMD)를 사용했지만, 라이브 링크 XR(LiveLinkXR)은 SteamVR이 지원하는 모든 VR 디바이스에서 사용 가능합니다.

새로운 LiveLinkXR 소스를 추가하려면 SteamVR이 실행 중이어야 합니다. SteamVR 설정에 도움이 필요하면 SteamVR 문제 해결 페이지를 참조하세요.

LiveLinkXR 플러그인이 활성화되고 세팅을 필요에 맞춰 조정했다면 이제 XR 소스를 추가할 수 있습니다.

  1. 라이브 링크 툴을 시작하고 소스 창을 펼친 후 LiveLinkXR 소스 에서 추가(Add) 를 클릭합니다.

    LLXR_LiveLinkXRSourceSettings.png

  2. 모든 세팅을 올바르게 환경설정한 후 추가 를 클릭하면 라이브 링크 툴의 테이블에 항목들이 추가된 것을 볼 수 있습니다. 이러한 항목들은 데이터 소스(Data Source) 세팅에서 선택한 데이터 소스 에 상응해야 합니다.

    LLXR_LiveLinkXRNewSource.png

서브젝트 이름(Subject Name)에서 찾을 수 있는 ID는 디바이스 타입과 해당 디바이스의 내부 하드웨어 일련번호의 조합입니다. 내부 하드웨어 일련번호는 디바이스 자체에 인쇄된 일련번호와는 다릅니다. 디바이스에 따라 내부 일련번호가 없을 수도 있습니다.

VR 소스와 블루프린트 및 메시 연결하기

LiveLinkXR 플러그인을 활성화하면 프로젝트가 LiveLinkXR 블루프린트 및 메시에 액세스할 수 있습니다. 이렇게 사전 생성된 소중한 항목들로 수월하게 시작할 수 있습니다. 이 섹션에서는 이러한 항목들을 찾아서 사용하는 방법을 안내합니다.

  1. 콘텐츠 브라우저(Content Browser) 로 이동하여 옵션 보기(View Options) 메뉴를 펼치고 엔진 콘텐츠 표시(Show Engine Content)플러그인 콘텐츠 표시(Show Plugin Content) 를 선택합니다.

    LLXR_SelectandViewOptions.png

  2. 콘텐츠 브라우저 탐색 창에 곧바로 새로운 항목이 표시됩니다.

    LLXR_NewContent.png

  3. 콘텐츠 브라우저 에서 LiveLinkXR Content 폴더를 찾고 그 아래 Blueprints 폴더를 엽니다.

    LLXR_LiveLinkXRBlueprints.png

  4. BP_LiveLinkXR_DataHandler 를 씬으로 드래그합니다.

    디버그 시각화 토글(Toggle Debug Vis) 옵션으로 수신하는 트래킹 데이터를 확인할 수 있습니다. 디버그 시각화 토글 디버깅 툴을 사용하면 됩니다.

    1. 라이브 링크 에서 소스를 설정하고 BP_LiveLinkXR_DataHandler 를 씬으로 드래그한 후 월드 아웃라이너(World Outliner) 에서 핸들러를 선택하고 디테일(Details) 패널로 이동합니다.

    2. 기본(Default) 카테고리를 펼치고 디버그 시각화 토글 버튼을 클릭합니다.

    LLXR_DataHandlerToggleDebugVis.png

    1. 설정한 각 라이브 링크 소스 마다 BP_LiveLinkXR_DebugVis 디버그 시각화가 레벨에 표시될 것입니다.

    2. 이러한 항목은 이제 실제 세상의 움직임에 맞춰 움직입니다.

  5. 월드 아웃라이너 에서 BP_LiveLinkXR_DataHandler 를 선택하고 디테일 패널로 이동합니다.

    LLXR_DataHandlerDetails.png

  6. 새 엔트리를 추가하려면 디테일 에서 디폴트(Default) 섹션을 펼친 후 첨부된 액터의 서브젝트 이름(Subject Name to Attached Actor) 옆에 있는 추가(Add (+)) 버튼을 클릭합니다.

    LLXR_DataHandlerAddAttachedActor.png

  7. 새로운 엘리먼트 옆의 텍스트 박스에 라이브 링크 창에 있는 서브젝트 이름 을 입력합니다.

    LLXR_AddSubjectNameToDetails.png

  8. 트래킹하려는 모든 소스에 이 프로세스를 필요한 만큼 반복합니다.

  9. 엘리먼트 옆의 드롭다운 메뉴 를 사용하여 트래킹 데이터 를 씬의 오브젝트(Object) 또는 액터(Actor) 에 매핑합니다.

    LLXR_AttachTrackingToTracker.png

조정

디버그 시각화 토글 옆의 조정(Calibrate) 버튼을 사용하여 월드의 임의 액터를 기준으로 새로운 트래킹 원점을 세팅할 수 있습니다. 클릭하면 라이브링크 서브젝트(LiveLink Subject) 서브젝트 이름 조정(Calibration Subject Name) 의 트랜스폼이 타깃 액터 조정(Calibration Target Actor) 의 트랜스폼을 기준으로 새로운 월드 원점 트랜스폼을 계산하는 데 사용됩니다.

  1. 조정 기능을 활용하려면 먼저 월드 아웃라이너 에서 BP_LiveLinkXR_DataHandler 를 선택합니다. 디테일 패널에서 타깃 액터 조정 옆의 드롭다운에 있는 레벨 속 액터 중 하나를 선택합니다.

    LLXR_CaliratePickActor.png

  2. 타깃 액터를 선택한 후 표시되는 박스에 서브젝트 이름 조정 을 입력합니다. 그러면 트래킹되는 LiveLink 서브젝트 이름 중 하나와 일치할 것입니다.

    LLXR_CalirateEnterSubject.png

  3. 세팅을 조정한 후 디버그 시각화 토글 옆의 조정 버튼을 클릭합니다.

  4. 디바이스의 상대적 트래킹 원점은 이제 새로운 조정을 기준으로 삼습니다.

LLXR_DataHandlerPostCalibration_RAW.PNG

LLXR_DataHandlerPreCalibration_RAW.PNG

처음 레벨에 드래그했을 때 BP_LiveLinkXR_DataHandler 액터의 위치 정보가 왼쪽에 나와 있습니다. 오른쪽에는 레벨의 다른 액터를 기준으로 조정한 후의 위치 정보가 나와 있습니다.

HMD 없이 바이브 트래커 사용하기

바이브 트래커는 기본적으로 HMD가 없이 사용할 수 없습니다. 이 섹션에서는 UE 안에서 HMD 없이도 트래커를 사용할 수 있는 우회 방법을 설명합니다.

이 프로세스는 Valve, HTC, 에픽이 지원하지 않는 우회 방법입니다. 예기치 않게 작동이 멈추거나 SteamVR에 예상치 못한 문제가 발생할 수 있습니다. SteamVR 문제 해결에 정통한 경우에만 이 우회 방법을 사용할 것을 권장합니다.

  1. 먼저 Steam과 SteamVR을 완전히 종료합니다.

    메인 프로그램을 닫은 후 남아 있는 Steam 프로세스가 없는지 작업 매니저(Task Manager)를 확인합니다.

  2. 컴퓨터에서 다음 파일을 찾습니다: <Steam 설치 디렉터리> /steamapps/common/SteamVR/drivers/null/resources/settings/default.vrsettings .

    LLXR_WorkaroundSteamVRSettings_RAW.PNG

  3. 파일을 복사하고 파일 확장자 끝에 _BACKUP 을 추가합니다.

    LLXR_WorkaroundSteamVRSettingsBackup.png

  4. 이 프로세스는 파일을 백업하는 몇 가지 방법을 안내합니다. 원본을 복사하고 파일 확장자를 변경하는 방법이 아래 나와 있습니다.

  5. 텍스트 에디터에서 원본 default.vrsettings 파일을 엽니다.

  6. driver_null 오브젝트에서 활성화(enable) 프로퍼티 값을 false 에서 true 로 변경합니다.

    LLXR_WorkaroundSteamVRSettingsNullEnable_RAW.PNG

    nDisplay를 사용하는 경우 windowWidth , windowHeight , renderWidth , renderHeight0 으로 세팅합니다. 그러면 화면 중앙에 최소화할 수 없는 VR 컴포저(VR Composer) 창이 나타나지 않습니다.

  7. 저장하고 닫습니다.

  8. 다음 파일을 찾습니다: <Steam 설치 디렉터리>/steamapps/common/SteamVR/resources/settings/default.vrsettings .

    LLXR_WorkaroundSteamVRSettingsSecondFile.png

    파일 이름이 유사하지만 서로 다른 폴더에 있습니다.

  9. default.vrsettings 파일의 백업을 만듭니다.

    LLXR_WorkaroundSteamVRSettingsSecondBackup.png

  10. steamvr 헤딩에서 requireHmd 세팅을 false 로 바꿉니다.

  11. steamvr 헤딩에서 forcedDriver 세팅을 null 로 바꿉니다.

  12. steamvr 헤딩에서 activateMultipleDrivers 세팅을 true 로 바꿉니다.

  13. 올바르게 세팅을 업데이트한 파일은 다음과 같이 보입니다.

    "steamvr": {
    "requireHmd": false,
    "forcedDriver": "null",
    "forcedHmd": "",
    "displayDebug": false,
    "debugProcessPipe": "",
    "enableDistortion": true,
    "displayDebugX": 0,
    "displayDebugY": 0,
    "allowDisplayLockedMode": false,
    "sendSystemButtonToAllApps": false,
    "loglevel": 3,
    "ipd": 0.063,
    "ipdOffset": 0.0,
    "background": "",
    "backgroundUseDomeProjection": false,
    "backgroundCameraHeight": 1.6,
    "backgroundDomeRadius": 0.0,
    "environment": "",
    "hdcp14legacyCompatibility": false,
    "gridColor": "",
    "playAreaColor": "",
    "showStage": false,
    "activateMultipleDrivers": true,
  14. default.vrsettings 파일을 저장하고 닫습니다.

  15. SteamSteamVR 을 시작합니다.

  16. SteamVR 세팅을 조정했기 때문에 룸 조정(Room Calibration) 설정을 다시 실행해야 할 수 있습니다.

  17. 룸 조정을 끝낸 후 SteamVR 을 재시작하면 HMD 없이도 디바이스를 트래킹할 수 있습니다.

    LLXR_WorkaroundSteamVRFinal_RAW.PNG

  18. HMD를 다시 사용할 준비가 되면 SteamVR 을 닫고 백업에서 편집된 파일 을 복원한 후 SteamVR 을 재시작합니다.

문제 해결하기

SteamVR 문제

HMD, 컨트롤러 또는 트래커가 SteamVR에 나타나지 않으면 UE에도 나타나지 않습니다. VR 디바이스 설정에 문제가 있으면 Steam VR 문제 해결 가이드를 검토하는 것이 좋습니다.

언리얼 엔진의 이전 버전을 위해 작성된 페이지입니다. 현재 언리얼 엔진 5 버전을 위해 업데이트되지 않았습니다.