이 페이지에서

Qt3DAnimation::QAnimationController Class

class Qt3DAnimation::QAnimationController

애니메이션용 컨트롤러 클래스. 더 보기...

헤더: #include <qanimationcontroller.h>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3danimation)
target_link_libraries(mytarget PRIVATE Qt6::3danimation)
qmake: QT += 3danimation
QML에서: AnimationController
상속: QObject
상태: 기술 미리 보기

이 클래스는 기술 미리보기 단계에 있으며 변경될 수 있습니다.

속성

공개 함수

QAnimationController(QObject *parent = nullptr)
int activeAnimationGroup() const
void addAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)
QList<Qt3DAnimation::QAnimationGroup *> animationGroupList()
Qt3DCore::QEntity *entity() const
int getAnimationIndex(const QString &name) const
Qt3DAnimation::QAnimationGroup *getGroup(int index) const
float position() const
float positionOffset() const
float positionScale() const
bool recursive() const
void removeAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)
void setAnimationGroups(const QList<Qt3DAnimation::QAnimationGroup *> &animationGroups)

공개 슬롯

void setActiveAnimationGroup(int index)
void setEntity(Qt3DCore::QEntity *entity)
void setPosition(float position)
void setPositionOffset(float offset)
void setPositionScale(float scale)
void setRecursive(bool recursive)

신호

void activeAnimationGroupChanged(int index)
void entityChanged(Qt3DCore::QEntity *entity)
void positionChanged(float position)
void positionOffsetChanged(float offset)
void positionScaleChanged(float scale)
void recursiveChanged(bool recursive)

상세 설명

Qt3DAnimation::QAnimationController 이 클래스는 애니메이션의 선택 및 재생을 제어합니다. 이 클래스를 사용하면 Qt3DCore::QEntity 트리에서 모든 애니메이션을 찾고, 이름이 동일한 애니메이션으로 QAnimationGroups 를 생성할 수 있습니다. 사용자는 활성 애니메이션을 설정하여 애니메이션 컨트롤러가 현재 제어하는 애니메이션 그룹을 선택할 수 있습니다. 그런 다음, 제공된 위치 값에 positionScale 및 positionOffset 값을 적용하여 스케일링 및 오프셋을 조정한 후, 해당 그룹으로 애니메이션 위치를 전달합니다.

참고: 애니메이션 컨트롤러에는 내부 타이머가없으므로 , 사용자가 적시에 position 속성을 업데이트해야 합니다.

속성 설명서

activeAnimationGroup : int

현재 활성화된 애니메이션 그룹을 보관합니다.

액세스 함수:

int activeAnimationGroup() const
void setActiveAnimationGroup(int index)

알림 신호:

void activeAnimationGroupChanged(int index)

entity : Qt3DCore::QEntity*

엔티티 애니메이션이 수집되고 그룹화되는 대상입니다. 컨트롤러에 이미 애니메이션이 저장되어 있는 경우, 해당 애니메이션은 모두 삭제됩니다.

액세스 함수:

Qt3DCore::QEntity *entity() const
void setEntity(Qt3DCore::QEntity *entity)

알림 신호:

void entityChanged(Qt3DCore::QEntity *entity)

position : float

애니메이션의 현재 위치를 저장합니다. 위치가 설정되면 positionScale/positionOffset 를 통해 크기와 오프셋이 조정되어 활성 애니메이션 그룹으로 전달됩니다.

액세스 함수:

float position() const
void setPosition(float position)

알림 신호:

void positionChanged(float position)

positionOffset : float

애니메이션의 위치 오프셋을 저장합니다.

액세스 함수:

float positionOffset() const
void setPositionOffset(float offset)

알림 신호:

void positionOffsetChanged(float offset)

positionScale : float

애니메이션의 위치 스케일을 유지합니다.

액세스 함수:

float positionScale() const
void setPositionScale(float scale)

알림 신호:

void positionScaleChanged(float scale)

recursive : bool

엔티티에서 애니메이션을 수집할 때 엔티티 트리를 재귀적으로 검색할지 여부를 지정합니다. true로 설정하면 해당 엔티티의 자식 엔티티에서도 애니메이션을 검색합니다. false로 설정하면 컨트롤러에 전달된 엔티티만 검색합니다.

액세스 함수:

bool recursive() const
void setRecursive(bool recursive)

Notifier 시그널:

void recursiveChanged(bool recursive)

멤버 함수 문서

QAnimationController::QAnimationController(QObject *parent = nullptr)

parent 를 사용하여 새로운 QAnimationController를 생성합니다.

void QAnimationController::addAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)

지정된 animationGroup 를 컨트롤러에 추가합니다.

QList<Qt3DAnimation::QAnimationGroup *> QAnimationController::animationGroupList()

컨트롤러가 현재 보유하고 있는 애니메이션 그룹 목록을 반환합니다.

[invokable] int QAnimationController::getAnimationIndex(const QString &name) const

name 를 가진 애니메이션의 인덱스를 반환합니다. 지정된 이름의 AnimationGroup 가 발견되지 않으면 -1을 반환합니다.

참고: 이 함수는 메타 객체 시스템 및 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.

[invokable] Qt3DAnimation::QAnimationGroup *QAnimationController::getGroup(int index) const

지정된 ` index`를 가진 ` AnimationGroup `를 반환합니다.

참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 를 참조하십시오.

void QAnimationController::removeAnimationGroup(Qt3DAnimation::QAnimationGroup *animationGroup)

지정된 animationGroup 를 컨트롤러에서 제거합니다.

void QAnimationController::setAnimationGroups(const QList<Qt3DAnimation::QAnimationGroup *> &animationGroups)

컨트롤러의 그룹 animationGroups 를 설정합니다. 기존 그룹은 모두 삭제됩니다.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.