0
我最近開始學習Qt/QML/C++,並試圖構建一個非常基本的3D場景來圍繞網格對象旋轉相機。Qt3D圍繞網格旋轉相機
我發現很難遵循這些例子,我發現文檔沒有提供任何有用的說明。在那裏似乎也沒有太多的教程,也許我正在尋找錯誤的地方。
的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 ]
}
}
如何讓相機圍繞網格物體轉動?
您還沒有提出任何問題。你有代碼,到目前爲止非常好。編譯時是否有錯誤?它不是做你想做的事嗎?如果沒有問題,不能回答。 – Aziuth
將相機的視圖中心設置爲要旋轉的點? – peppe