QtQuickStreaming 사용

QtQuickStreaming 동영상 캡션: 새로 만든 스크립트 모듈을 사용하여 QT 컨텐츠를 VRED 장면으로 직접 스트리밍할 수 있습니다. 스크립트 > QtQuickStreaming으로 이동합니다. 여기에서 QT 컨텐츠가 포함된 .exe 파일을 사용하여 스트림을 시작할 수 있습니다. 이제 대시보드 예에서와 같이 스트림에 연결할 수 있는 웹 엔진을 생성해야 합니다. QtQuickStreaming 창 내에서 여러 스트림을 추가하고, 미디어 편집기를 사용하여 장면의 다른 부분에 할당할 수 있습니다. 여기에서는 QT 대시보드 컨텐츠와 QT 달력이 동시에 실행되는 것을 볼 수 있습니다. 여러 스트림의 구성을 QtQuickStreaming 창에서 파일 > 저장을 선택하여 저장하고 스크립트 메뉴 아래에 저장한 다음 QtQuickStreaming 창에서 파일 > 로드를 사용하여 다시 로드할 수 있습니다.

또 다른 방법은 예를 들어 QT Design Studio에서 웹 스트림을 직접 시작하는 것입니다. 따라서 소프트웨어에 특정 포트로 스트리밍하도록 알리는 명령을 사용하여 QT Design Studio 내에서 새 실행 구성을 생성해야 합니다. 이 경우 포트 8990을 사용하고 있습니다. 이 스트림은 백그라운드에서 실행되고 있으며, 여기 보이는 것처럼 미디어 편집기의 웹 엔진에서 바로 적절한 URL 및 포트 번호를 사용하여 VRED 내에서 사용할 수 있습니다. 새 스크립트를 사용하면 VRED에서 모든 QT 컨텐츠를 실행하고 구성을 저장 및 로드할 수 있어 설계 프로세스에 소요되는 시간을 크게 절약할 수 있습니다.


개요

Qt는 Qt Quick 응용프로그램의 GUI를 웹 브라우저로 스트리밍하기 위한 Qt Quick WebGL 스트리밍이라는 기능을 도입했습니다. 미디어 편집기 웹 엔진 또는 장면 플레이트 편집기웹 전면 플레이트에 웹 페이지를 표시합니다. 응용프로그램의 포트에 연결하고 Qt Quick GUI를 텍스처로 스트리밍합니다. 이 기능은 이미 VRED에서 HTML5 GUI를 사용하여 수행할 수 있는 기능과 매우 유사합니다.

새 스크립트 플러그인(스크립트 > QtQuickStreaming)은 WebGL 스트리밍이 활성화된 QT Quick 응용프로그램을 시작하고 중지할 수 있는 편리한 UI를 만듭니다.

참고:

Qt Quick 응용프로그램은 로컬 시스템에서 VRED의 하위 프로세스로 백그라운드에서 실행됩니다.

Qt Quick WebGL 스트리밍에 대한 자세한 내용은 다음 웹 사이트를 방문하십시오. https://blog.qt.io/blog/2018/11/23/qt-quick-webgl-release-512/

QtQuickStreaming을 사용하여 VRED에서 형상 또는 전면 플레이트에 해당 컨텐츠를 재생하는 Qt Quick 응용프로그램을 스트리밍할 수 있습니다.

QtQuickStreaming

참고:

Qt Quick을 사용하지 않는 일반 Qt 응용프로그램은 지원되지 않습니다.

QtQuickStreaming 대화상자 정보

빠른 작업 막대

아이콘 막대의 도구를 사용하여 다음을 수행할 수 있습니다.

  • 실행 파일 추가 추가 - Qt 응용프로그램 실행 파일을 목록에 추가합니다. 스트리밍된 Qt 컨텐츠 재생 의 2단계를 참조하십시오.

  • 모든 프로세스 시작 모든 프로세스 시작 - QtQuickStreaming 대화상자에서 모든 프로세스 스트리밍을 시작합니다.

  • 모든 프로세스 중지 모든 프로세스 중지 - QtQuickStreaming 대화상자에서 모든 프로세스 스트리밍을 중지합니다.

    VRED가 종료되면 모든 프로세스가 자동으로 중지됩니다. VRED가 충돌 보고서 없이 충돌하는 경우에만 시작한 프로세스가 계속 실행됩니다. 작업 관리자에서 이러한 프로세스를 찾습니다.

  • 모든 프로세스 삭제 모든 프로세스 삭제 - QtQuickStreaming 대화상자에서 모든 프로세스 스트리밍을 삭제합니다.

응용프로그램 목록

QtQuickStreaming 대화상자의 이 섹션에는 WebGL 스트리밍에 사용되는 포트와 함께 Qt Quick 응용프로그램 이름이 나열됩니다. 포트 번호는 프로세스가 실행되고 있지 않은 경우(즉, 프로세스 시작 전)에만 변경할 수 있습니다.

모든 실행 파일 옆에 다음 버튼이 있습니다.

  • 프로세스 시작 시작 - 프로세스를 시작합니다.

  • 프로세스 중지 중지 - 프로세스를 중지합니다.

  • 프로세스 삭제 삭제 - Qt 프로세스를 중지하고 삭제합니다.

  • URL - 스트리밍 웹 서버의 웹 URL을 클립보드에 복사합니다. 웹 엔진에 이 URL을 사용합니다. 스트리밍된 Qt 컨텐츠 재생 의 4단계를 참조하십시오.

    예를 들어 미디어 편집기에서 웹 엔진을 만들거나 장면 플레이트 편집기에서 유형이 웹인 전면 플레이트를 만듭니다. 복사한 URL(포트 9000의 경우 http://localhost:9000 )을 웹 엔진에 붙여넣고 Enter 키를 누릅니다. 성공한 경우 VRED에서 웹 엔진을 사용한 형상 또는 전면 플레이트에 대한 Qt Quick 응용프로그램 렌더링을 확인할 수 있습니다.

파일

파일 메뉴에는 다음과 같은 두 가지 옵션이 있습니다.

자동 시작

이 확인란은 파일 메뉴 바로 아래에 있습니다. 기본적으로 꺼져 있습니다.

  • 자동 시작이 꺼진 경우 실행 파일이 시작되지 않습니다.

  • 자동 시작이 켜진 경우 QT Quick 프로세스가 자동으로 시작됩니다.

    참고:

    구성 파일을 저장할 때 실행 중인 프로세스만 자동으로 실행됩니다.

  • 실행 파일이 아직 시작되지 않은 경우 시작하려면 재생 버튼을 누릅니다.

명령행을 사용하여 프로세스 시작

다음을 사용하여 명령줄 도구로 프로세스를 수동으로 시작합니다.

$ ./your-qt-application -platform webgl:port=8998

또는 프로젝트를 준비할 때 VPB에 스크립트를 포함합니다.

참고:

VRED를 실행하는 시스템에서 응용프로그램에 액세스할 수 있어야 합니다.

Python 스크립팅을 사용하여 프로세스 시작

웹 엔진을 포함하여 VPB를 로드할 때 프로세스를 시작하는 스크립팅 솔루션의 경우 Qt Quick 응용프로그램 컨텐츠를 표시하려면 다음을 수행합니다.

다음은 포트 9000에서 WebGL 스트리밍을 사용하여 QT Quick 응용프로그램 calendar.exe를 시작하는 예제 스크립트입니다.

중요:

Qt는 이미 사용 중인 포트에 대한 스트리밍을 지원하지 않습니다. 대화상자의 응용프로그램 목록에 새 Qt Quick 응용프로그램을 추가할 때 VRED는 사용하지 않는 포트(번호가 9000으로 시작)를 자동으로 검색합니다.

from PySide2.QtCore import QProcess

process = QProcess()
cmd = "\"C:/qtquick_examples/bin/calendar.exe\" -platform webgl:port=9000"
process.start(cmd)

스트리밍된 Qt 컨텐츠 재생

VRED에서 스트리밍 Qt 컨텐츠를 로드 및 재생하려면 하나 이상의 형상(예: 평면)이 필요합니다. 미디어 편집기 및 재질 편집기의 도움말을 참조하십시오.

  1. 평면을 만듭니다.

    1. 장면 그래프에서 루트 노드를 마우스 오른쪽 버튼으로 클릭한 다음 만들기 > 형상 만들기 > 평면을 선택합니다.

    2. 평면 만들기 대화상자에서 크기 및 해상도를 설정한 다음 만들기를 클릭하여 투영할 Qt 응용프로그램의 평면을 만듭니다.

    3. 변환 변환을 클릭하고 평면을 배치합니다.

  2. Qt 응용프로그램을 로드하여 백그라운드에서 스트리밍을 시작합니다.

    1. 스크립트 > QtQuickStreaming을 선택하여 QtQuickStreaming 대화상자를 엽니다.

    2. +를 클릭하고 Qt 실행 파일을 찾아 선택한 다음 열기를 클릭합니다. 그러면 실행 파일이 백그라운드에서 열립니다.

    3. QtQuickStreaming 대화상자에서 Qt 응용프로그램이 스트리밍하는 포트와 함께 표시됩니다.

  3. 웹 엔진을 만듭니다.

    1. 장면 > 미디어 편집기를 선택하고 +(웹 엔진)를 클릭합니다.

    2. 해상도의 폭 및 높이를 설정합니다.

  4. 스트리밍 URL을 설정합니다.

    1. QtQuickStreaming 대화상자에 있는 URL 버튼을 클릭하여 포트를 클립보드에 복사합니다.

    2. 미디어 편집기에서 URL 필드를 마우스 오른쪽 버튼으로 클릭한 다음 붙여넣기를 선택하여 포트 URL을 웹 엔진에 추가합니다.

  5. 평면의 매핑 및 색상을 설정합니다.

    1. 재질 재질 아이콘을 클릭하여 재질 편집기를 열고 평면의 재질을 미디어 편집기 및 재질 필드로 드래그합니다.

    2. 재질 편집기의 분산 텍스처 섹션에서 매핑 유형을 UV로 변경합니다.

QtQuickStreaming 구성 저장

장면을 저장할 때 저장된 VPB에는 장면에 표시하기 위해 실행해야 할 Qt Quick 응용프로그램 목록이 포함되지 않습니다. 이 VPB는 별도로 QtQuickStreaming 플러그인의 구성 파일(.cfg)로 저장해야 합니다.

  1. VRED의 주 메뉴 막대에서 파일 > 다른 이름으로 저장을 선택한 다음 저장을 클릭하여 장면(VPB)을 저장합니다.

  2. VPB 옆에 Qt Quick 응용프로그램 구성을 저장합니다. QtQuickStreaming 대화상자에서 파일 > 저장을 선택합니다.

  3. 구성 파일의 경우 VPB와 동일한 이름을 사용합니다(예: C:/myfolder/myscene.vpbC:/myfolder/myscene.cfg).

  4. 저장을 클릭하여 구성 파일을 저장합니다.

Qt Quick 응용프로그램을 사용하는 저장된 장면 다시 열기

VPB를 로드할 때 VRED QtQuick 스트리밍 플러그인은 VPB 옆에 있는 VPB와 동일한 파일 이름의 구성 파일을 찾아 자동으로 로드합니다. 구성 파일을 찾을 수 없으면 수동으로 구성 파일을 로드해야 합니다.

  1. 스크립트 > QtQuickStreaming을 선택하여 대화상자를 연 다음 파일 > 로드를 선택합니다.

  2. 필요한 구성 파일을 두 번 클릭하여 해당 파일을 로드합니다.

  3. QtQuickStreaming 대화상자에서 재생 버튼을 누릅니다.

  4. 메뉴 막대에서 장면 > 미디어 편집기를 선택합니다.

  5. 미디어 편집기에서 웹 엔진을 클릭한 다음 URL 옆에 있는 다시 로드 다시 로드 웹 페이지 버튼을 클릭합니다. 모든 웹 엔진에 대해 이 작업을 수행합니다.