Qt3DAnimation::QVertexBlendAnimation Class
class Qt3DAnimation::QVertexBlendAnimation버텍스 블렌드 모핑 애니메이션을 구현하는 클래스입니다. 더 보기...
| 헤더: | #include <qvertexblendanimation.h> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3danimation) target_link_libraries(mytarget PRIVATE Qt6::3danimation) |
| qmake: | QT += 3danimation |
| QML에서: | VertexBlendAnimation |
| 상속: | Qt3DAnimation::QAbstractAnimation |
| 상태: | 기술 미리보기 |
이 클래스는 기술 미리보기 단계에 있으며 변경될 수 있습니다.
속성
- interpolator : float
- target : Qt3DRender::QGeometryRenderer*
- targetName : QString
- targetPositions : QList<float>
공개 함수
| QVertexBlendAnimation(QObject *parent = nullptr) | |
| void | addMorphTarget(Qt3DAnimation::QMorphTarget *target) |
| float | interpolator() const |
| QList<Qt3DAnimation::QMorphTarget *> | morphTargetList() |
| void | removeMorphTarget(Qt3DAnimation::QMorphTarget *target) |
| void | setMorphTargets(const QList<Qt3DAnimation::QMorphTarget *> &targets) |
| Qt3DRender::QGeometryRenderer * | target() const |
| QString | targetName() const |
| QList<float> | targetPositions() const |
공개 슬롯
| void | setTarget(Qt3DRender::QGeometryRenderer *target) |
| void | setTargetName(const QString name) |
| void | setTargetPositions(const QList<float> &targetPositions) |
신호
| void | interpolatorChanged(float interpolator) |
| void | targetChanged(Qt3DRender::QGeometryRenderer *target) |
| void | targetNameChanged(const QString &name) |
| void | targetPositionsChanged(const QList<float> &targetPositions) |
상세 설명
Qt3DAnimation::QVertexBlendAnimation 클래스는 대상 QGeometryRenderer 에 대한 정점 블렌드 모핑 애니메이션을 구현합니다. QVertexBlendAnimation은 morph targets 에서 대상 QGeometryRenderer::geometry 으로 올바른 QAttributes 을 설정하고 현재 위치에 대한 보간기를 계산합니다. 블렌드 가중치로 블렌딩이 제어되는 QMorphingAnimation 와 달리, 이 애니메이션에서는 연속적인 모프 대상 간에 블렌딩이 발생합니다. 속성 간의 실제 블렌딩은 머티리얼에서 구현되어야 합니다. Qt3DAnimation::QMorphPhongMaterial은 퐁(Phong) 라이팅 모델에 대한 모핑을 지원하는 머티리얼을 구현합니다. 블렌딩은 'base'와 'target'이라는 두 속성 간에 이루어집니다. 베이스 및 타겟 속성의 이름은 모프 타겟 이름에서 가져오며, 이 때 베이스 속성은 기존 이름을 그대로 유지하고, 타겟 속성 이름에는 ‘Target’이 접미사로 추가됩니다. 보간기는 사용 중인 머티리얼의 QParameter 로 설정할 수 있습니다. 애니메이션의 모든 모프 타겟은 베이스 지오메트리에 있는 속성과 동일한 이름을 가진 속성을 포함해야 합니다.
속성 설명서
[read-only] interpolator : float
기본 속성과 대상 속성 간의 보간값을 저장합니다.
액세스 함수:
| float | interpolator() const |
알림 신호:
| void | interpolatorChanged(float interpolator) |
target : Qt3DRender::QGeometryRenderer*
모핑 애니메이션이 적용되는 대상 QGeometryRenderer를 보관합니다.
액세스 함수:
| Qt3DRender::QGeometryRenderer * | target() const |
| void | setTarget(Qt3DRender::QGeometryRenderer *target) |
Notifier 신호:
| void | targetChanged(Qt3DRender::QGeometryRenderer *target) |
targetName : QString
대상 지오메트리의 이름을 저장합니다. 이 속성은 대상 지오메트리를 모핑 애니메이션과 더 쉽게 매칭할 수 있도록 돕는 편의 속성입니다. 이 이름은 대개 대상 QGeometryRenderer의 상위 엔티티 이름과 동일하지만, 반드시 그럴 필요는 없습니다.
액세스 함수:
| QString | targetName() const |
| void | setTargetName(const QString name) |
Notifier 시그널:
| void | targetNameChanged(const QString &name) |
targetPositions : QList<float>
모프 타깃의 위치 값을 저장합니다. 목록의 각 위치는 동일한 인덱스를 가진 해당 모프 타깃의 위치를 지정합니다. 값은 오름차순으로 정렬되어야 합니다. 값은 양수이거나 음수일 수 있으며, 미리 정의된 단위는 없습니다.
액세스 함수:
| QList<float> | targetPositions() const |
| void | setTargetPositions(const QList<float> &targetPositions) |
알림 신호:
| void | targetPositionsChanged(const QList<float> &targetPositions) |
멤버 함수 문서
[explicit] QVertexBlendAnimation::QVertexBlendAnimation(QObject *parent = nullptr)
parent 를 사용하여 새로운 QVertexBlendAnimation 객체를 생성합니다.
void QVertexBlendAnimation::addMorphTarget(Qt3DAnimation::QMorphTarget *target)
애니메이션 끝에 새로운 모프 target 를 추가합니다.
QList<Qt3DAnimation::QMorphTarget *> QVertexBlendAnimation::morphTargetList()
모프 타겟 목록을 반환합니다.
void QVertexBlendAnimation::removeMorphTarget(Qt3DAnimation::QMorphTarget *target)
애니메이션에서 ‘ target ’ 모프를 제거하세요.
void QVertexBlendAnimation::setMorphTargets(const QList<Qt3DAnimation::QMorphTarget *> &targets)
targets 의 모프를 ‘애니메이션’으로 설정합니다. 기존 타깃은 모두 지워집니다.
© 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.