Qt 5.11 - Qt3DAnimation::QBlendedClipAnimator (class)

QBlendedClipAnimator वर्ग




qt

QBlendedClipAnimator वर्ग

( Qt3DAnimation::QBlendedClipAnimator )

Qt3DAnimation::QBlendedClipAnimator एक घटक है जो ब्लेंड नोड्स के पेड़ की एनीमेशन प्लेबैक क्षमताओं को प्रदान करता है। More...

हैडर: #include <QBlendedClipAnimator>
qmake: क्यूटी + = थ्रीडीमिनेशन
जबसे: क्यूटी 5.9
द्वारा त्वरित: BlendedClipAnimator
विरासत में मिली: Qt3DAnimation::QAbstractClipAnimator

गुण

  • blendTree : Qt3DAnimation :: QAbstractClipBlendNode *

सार्वजनिक कार्य

QBlendedClipAnimator (Qt3DCore :: QNode * parent = nullptr)
वास्तविक ~QBlendedClipAnimator ()
Qt3DAnimation :: QAbstractClipBlendNode * blendTree () blendTree

सार्वजनिक स्लॉट

शून्य blendTree (Qt3DAnimation: QAbstractClipBlendNode * mixTree )

सिग्नल

शून्य blendTree (Qt3DAnimation :: QAbstractClipBlendNode * mixTree )

अतिरिक्त घायल सदस्य

  • 1 सार्वजनिक चर QObject से विरासत में मिला
  • 10 स्थिर सार्वजनिक सदस्यों को QObject से विरासत में मिला
  • 2 संरक्षित कार्य Qt3DCore::QNode से विरासत में Qt3DCore::QNode
  • 9 संरक्षित कार्य QObject से विरासत में QObject
  • 2 सुरक्षित चर QObject से विरासत में QObject

विस्तृत विवरण

Qt3DAnimation::QBlendedClipAnimator एक घटक है जो ब्लेंड नोड्स के पेड़ की एनीमेशन प्लेबैक क्षमताओं को प्रदान करता है।

Qt3DAnimation::QBlendedClipAnimator का एक उदाहरण Qt3DAnimation::QBlendedClipAnimator द्वारा वापस एनीमेशन क्लिप खेलने की क्षमता को जोड़ने और QObjects के गुणों के लिए परिकलित एनिमेशन मानों को लागू करने के लिए एकत्र किया जा सकता है।

जबकि एक QClipAnimator को एक एकल एनीमेशन क्लिप से अपना एनीमेशन डेटा मिलता है, Qt3DAnimation::QBlendedClipAnimator एक साथ कई क्लिप को मिला सकता है। एनीमेशन डेटा तथाकथित मिश्रण पेड़ का मूल्यांकन करके प्राप्त किया जाता है। एक मिश्रण पेड़ एक पदानुक्रमित पेड़ संरचना है जहां पत्ती नोड्स मूल्य नोड्स होते हैं जो एक एनीमेशन क्लिप ( QAbstractAnimationClip ) को QAbstractAnimationClip ; और आंतरिक नोड्स सम्मिश्रण संचालन का प्रतिनिधित्व करते हैं जो उनके ऑपरेंड गुणों द्वारा इंगित नोड्स पर काम करते हैं।

Qt3DAnimation::QBlendedClipAnimator साथ एक मिश्रण ट्री को संबद्ध करने के लिए, अपने ब्लेंड ट्री के मूल नोड पर इंगित करने के लिए एनिमेटर की blendTree संपत्ति सेट करें:

auto blendTreeRoot = new QAdditiveClipBlend();
...
auto animator = new QBlendedClipAnimator();
animator->setBlendTree(blendTreeRoot);

निम्नलिखित नोड प्रकारों से एक मिश्रित वृक्ष का निर्माण किया जा सकता है:

नोट: ब्लेंडर नोड ट्री को केवल तब संपादित किया जाना चाहिए जब एनिमेटर नहीं चल रहा हो।

अतिरिक्त नोड प्रकार समय के साथ जोड़े जाएंगे।

एक उदाहरण के रूप में निम्नलिखित मिश्रण पेड़ पर विचार करें:

Clip0----
        |
        Lerp Node----
        |           |
Clip1----           Additive Node
                    |
            Clip2----

इसे निम्नानुसार बनाया और इस्तेमाल किया जा सकता है:

// Create leaf nodes of blend tree
auto clip0 = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("walk.json")));
auto clip1 = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("run.json")));
auto clip2 = new QClipBlendValue(
    new QAnimationClipLoader(QUrl::fromLocalFile("wave-arm.json")));

// Create blend tree inner nodes
auto lerpNode = new QLerpClipBlend();
lerpNode->setStartClip(clip0);
lerpNode->setEndClip(clip1);
lerpNode->setBlendFactor(0.5f); // Half-walk, half-run

auto additiveNode = new QAdditiveClipBlend();
additiveNode->setBaseClip(lerpNode); // Comes from lerp sub-tree
additiveNode->setAdditiveClip(clip2);
additiveNode->setAdditiveFactor(1.0f); // Wave arm fully

// Run the animator
auto animator = new QBlendedClipAnimator();
animator->setBlendTree(additiveNode);
animator->setChannelMapper(...);
animator->setRunning(true);

एनीमेशन क्लिप के एक सेट को लिखकर और एक मिश्रण पेड़ के साथ गतिशील रूप से उनके बीच सम्मिश्रण करके, हम संभावित परिणामी एनिमेशन का एक बड़ा सेट खोलते हैं। उपरोक्त मिश्रण के पेड़ के कुछ सरल उदाहरणों के रूप में, जहाँ अल्फा योजक कारक है और बीटा लार्प मिक्स फैक्टर है जहां हम संभावित एनिमेशन का 2 डी कंटिन्यूम प्राप्त कर सकते हैं:

(alpha = 0, beta = 1) Running, No arm waving --- (alpha = 1, beta = 1) Running, Arm waving
        |                                               |
        |                                               |
        |                                               |
(alpha = 0, beta = 0) Walking, No arm waving --- (alpha = 0, beta = 1) Running, No arm waving

अधिक जटिल मिश्रण वाले पेड़ आपके एनीमेशन क्लिप के संयोजन के लिए और भी अधिक लचीलापन प्रदान करते हैं। ध्यान दें कि मिश्रण ट्री (अल्फा और बीटा ऊपर) को नियंत्रित करने के लिए उपयोग किए जाने वाले मान ब्लेंड नोड्स पर सरल गुण हैं। इसका मतलब है, कि इन गुणों को एनीमेशन एनीमेशन द्वारा भी नियंत्रित किया जा सकता है।

संपत्ति का प्रलेखन

मिश्रण : Qt3DAnimation :: QAbstractClipBlendNode *

यह संपत्ति एनीमेशन ब्लर ट्री की जड़ रखती है जिसका मूल्यांकन एनिमेटर द्वारा प्रक्षेपित होने से पहले किया जाएगा।

पहुंच कार्य:

Qt3DAnimation :: QAbstractClipBlendNode * मिश्रणट्री () कांस्टेबल
शून्य setBlendTree (Qt3DAnimation: QAbstractClipBlendNode * mixTree )

नोटिफ़ायर सिग्नल:

शून्य मिश्रणट्रीचेंज्ड

सदस्य समारोह प्रलेखन

QBlendedClipAnimator :: QBlendedClipAnimator ( Qt3DCore :: QNode * जनक = nullptr)

डिफ़ॉल्ट QBlendedClipAnimator का एक उदाहरण बनाता है।

[virtual] QBlendedClipAnimator :: ~ QBlendedClipAnimator ()

QBlendedClipAnimator के उदाहरण को नष्ट कर देता है। विध्वंसक आभासी है।