한국어
Qt
 

Rive는 대화형 벡터 애니메이션을 만들 수 있는 이미지 파일 형식이다. Rive와 비교하여 로티(Lottie) 에는 몇 가지 단점이 있다.

  • Lottie 파일은 실행 시 저장소와 메모리 모두에서 상당히 큰 경향이 있다. 이는 특히 임베디드 장치에서 문제가 될 수 있다.
  • Lotie는 소프트웨어 개발자의 개입 없이 대화형 애니메이션을 만드는 것은 불가능하다.

RiveQtQuickPlugin

RiveQtQuickPlugin 은 QtQuick 프로젝트 내에서 Rive 애니메이션을 쉽게 로드하고 표시할 수 있는 플러그인 라이브러리다. BasysKom에서 rive-cpp 라이브러리를 기반으로 QtQuick 통합하기 위해 이 오픈소스 프로젝트를 시작했다. BasysKom은 현재 계속 QtQuickPlugin을 작업 중이지만 이미 QtQuick/QML 애플리케이션에 다음 기능을 제공한다.

Rive 및 Qt 의 빠른 통합
간단한 QML 유형을 사용하여 QtQuick/QML 애플리케이션에서 Rive 애니메이션을 가져오고 조작할 수 있다.

Dynamic Interaction
Rive 애니메이션의 도움으로 사용자 상호작용에 반응하여 생동감 넘치는 사용자 인터페이스를 만든다. Rive 애니메이션은 마우스 호버나 터치 이벤트에 직접 반응할 수 있으므로 개발자가 아무것도 구현할 필요가 없다.

주요 Qt 버전 및 플랫폼 지원
소프트웨어 및 하드웨어 렌더링이 포함된 Qt5.15.2+
소프트웨어 및 하드웨어 렌더링이 포함된 Qt6.5+

QtQuick/QML 애플리케이션에서 다음과 같이 간편하게 Rive 애니메이션을 표시할 수 있다.

import QtCore
import QtQuick
import QtQuick.Layouts
import QtQuick.Controls
 
import RiveQtQuickPlugin

...
        RiveQtQuickItem {
            id: riveItem
            anchors.fill: parent
            fillMode: RiveQtQuickItem.PreserveAspectFit
 
            // not used by software backend
            renderQuality: RiveQtQuickItem.Medium
            postprocessingMode: RiveQtQuickItem.SMAA
 
            fileSource: ":/assets/travel-icons-pack.riv"
        }
...

플러그인은 LGPLv3+로 출시되었으며 현재 작업 중인 일이 몇 가지 있다.

  • 하드웨어 렌더링을 위한 앤티앨리어싱
  • 외부 Rive-Library로 GCC 지원
  • QML 인터페이스 개선
  • 플러그인 문서(QML에 대한 인터페이스가 양호한 상태인 경우)
번호 제목 글쓴이 날짜 조회 수
공지 Qt프로그래밍(QtQuick) Beginner를 위한 글 읽는 순서 운영자 2019.01.05 86879
48 QtCreator Design으로 GUI만들기 (QML로 만드는 Hello World -2) [1] file makersweb 2019.05.26 15176
47 Qml과 C++로 구현하는 GUI어플리케이션 file makersweb 2018.12.25 14206
46 QML과 QtQuick 모듈 개념과 기본 타입들 makersweb 2019.04.26 13541
45 Qml 기본 컴포넌트 강좌 (1) file makersweb 2019.01.03 12264
44 QML 강좌 - 동적 Listing (ListView) file makersweb 2019.06.01 10255
43 Qml 기본 컴포넌트 강좌 (2) [2] file makersweb 2019.01.05 8752
42 QML내에서의 시그널, 슬롯 시스템 makersweb 2019.09.29 7122
41 z-order 를 컨트롤 하기위한 방법 makersweb 2015.05.13 6656
40 Qt Quick Controls 2사용 및 스타일 설정 file makersweb 2019.06.07 6351
39 Qml 사용자 ScrollBar 구현 file makersweb 2015.07.24 6275
38 Qml 및 C++개발시 유용한 팁 [3] makersweb 2018.04.06 6117
37 C++로 작성한 클래스를 QML에서 생성 file makersweb 2021.02.10 5413
36 Qml 기본 컴포넌트 강좌 (4) - 모델 리스팅(Listing) file 운영자 2019.02.23 5409
35 C++로 구현된 모델을 QML의 ListView에서 참조 file makersweb 2019.09.07 5021
34 Qml 기본 컴포넌트 강좌 (3) - 배치(positioning) 컴포넌트 file 운영자 2019.02.10 4976
33 QML에서 동적으로 텍스트 다국어 처리 file makersweb 2018.11.04 4298
32 QML에서 앵커(anchors)로 위치 지정 file makersweb 2021.10.05 4051
31 열거형(enum)을 QML에서 사용하는 방법과 문자열(QString)로 얻기 makersweb 2019.08.20 4017
30 Qml에서 키보드 입력 이벤트 핸들링 file makersweb 2018.08.09 3700
29 QML 코딩 규칙 makersweb 2021.09.05 3395