参考Qt3D实体动画

问题描述 投票:0回答:0

我正在尝试为 Qt3D 实体制作动画,而不必在每次基础对象的值发生变化时调用 QTransform 设置器。 QTransform 将引用作为 setTranslation、setMatrix 等的参数。人们会期望,当作为引用参数传递的对象的值发生变化时,变换将在下一次场景刷新时自动更新。但是我看到传递给 setTranslation 的引用被转换为一个值,这意味着对源引用对象的更改不会传播到 QTransform。

QVector3D position = QVector3D(1.0f, 2.0f, 3.0f);

Qt3DCore::QTransform transform = new Qt3DCore::QTransform();
transform->setTranslation(position);

qDebug() << transform->translation();

position.setX(2.0f);

qDebug() << transform->translation();

这个输出是:

QVector3D(1, 2, 3)
QVector3D(1, 2, 3)

但期望的结果是:

QVector3D(1, 2, 3)
QVector3D(2, 2, 3)

有没有什么方法可以将引用或指针传递给 QTransform,这样通过引用传递给其 setter 的对象的更改将自动传播到转换,而无需使用新值显式调用其 setter 之一?

animation transform qt3d
© www.soinside.com 2019 - 2024. All rights reserved.