J'ai récemment commencé à apprendre Qt/QML/C++ et à essayer de créer une scène 3D très basique pour faire pivoter la caméra autour d'un objet maillé. Je trouve qu'il est très difficile de suivre les exemples et je trouve que la documentation ne fournit aucune instruction utile. Il ne semble pas y avoir beaucoup de tutoriels là-bas non plus, peut-être que je cherche dans les mauvais endroits.Qt3D faire pivoter la caméra autour du maillage
main.cpp
#include <Qt3DQuickExtras/qt3dquickwindow.h>
#include <Qt3DQuick/QQmlAspectEngine>
#include <QGuiApplication>
#include <QtQml>
int main(int argc, char **argv)
{
QGuiApplication app(argc, argv);
Qt3DExtras::Quick::Qt3DQuickWindow view;
// Expose the window as a context property so we can set the aspect ratio
view.engine()->qmlEngine()->rootContext()->setContextProperty("_window", &view);
view.setSource(QUrl("qrc:/main.qml"));
view.setWidth(800);
view.setHeight(600);
view.show();
return app.exec();
}
main.qml
import Qt3D.Core 2.0
import Qt3D.Render 2.0
import Qt3D.Input 2.0
import Qt3D.Extras 2.0
Entity {
id: sceneRoot
Camera {
id: camera
projectionType: CameraLens.PerspectiveProjection
fieldOfView: 25
aspectRatio: _window.width/_window.height
nearPlane : 0.1
farPlane : 1000.0
position: Qt.vector3d(0, 0.0, 20.0)
upVector: Qt.vector3d(0.0, 1.0, 0.0)
viewCenter: Qt.vector3d(0.0, 0.0, 0.0)
}
OrbitCameraController {
camera: camera
}
components: [
RenderSettings {
activeFrameGraph: ForwardRenderer {
clearColor: Qt.rgba(0, 0.5, 1, 1)
camera: camera
}
},
InputSettings { }
]
PhongMaterial {
id: carMaterial
}
Mesh {
id: carMesh
source: "resources/aventador.obj"
}
Entity {
id: carEntity
components: [ carMesh, carMaterial ]
}
}
Comment puis-je obtenir la caméra pour tourner autour de l'objet de maille?
Vous n'avez pas posé de question. Vous avez du code, jusqu'ici tout va bien. Y a-t-il des erreurs lors de la compilation? Ne fait-il pas ce que tu veux? Je ne peux pas répondre s'il n'y a pas de question. – Aziuth
Définir le centre de la vue de la caméra comme étant le point que vous souhaitez faire pivoter? – peppe