Rive는 대화형 벡터 애니메이션을 만들 수 있는 이미지 파일 형식이다. Rive와 비교하여 로티(Lottie) 에는 몇 가지 단점이 있다.
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+로 출시되었으며 현재 작업 중인 일이 몇 가지 있다.