Qt 3D教程(四)结合Qt Quick来实现动画的效果
来源:互联网 发布:2015各省医药行业数据 编辑:程序博客网 时间:2024/04/25 09:31
Qt 3D教程(四)结合Qt Quick来实现动画的效果
上篇教程已经给大家带来较为实用的效果了,这回我们尝试载入两个模型,并且让PhongMaterial成为它们的共享材质,此外,我们通过借助Qt Quick的动画框架来让我们的三维场景动起来!
蒋彩阳原创文章,首发地址:http://blog.csdn.net/gamesdev/article/details/47132099。欢迎同行前来探讨。
这次的改动没有上次那么多,只需要修改main.qml即可满足效果。main.qml文件如下所示:
import Qt3D 2.0import Qt3D.Renderer 2.0import QtQuick 2.5 as QuickEntity{ id: root Camera { id: camera position: Qt.vector3d( 0.0, 20.0, 100.0 ) projectionType: CameraLens.PerspectiveProjection fieldOfView: 45 aspectRatio: 16.0 / 9.0 nearPlane : 0.1 farPlane : 1000.0 upVector: Qt.vector3d( 0.0, 1.0, 0.0 ) viewCenter: Qt.vector3d( 0.0, 20.0, 0.0 ) } components: FrameGraph { ForwardRenderer { clearColor: Qt.rgba( 0.2, 0, 0, 1 ) camera: camera } } PhongMaterial { id: phongMaterial ambient: _settings.ambient diffuse: _settings.diffuse specular: _settings.specular shininess: _settings.shininess } Entity { Mesh { id: chestMesh source: "qrc:/assets/Chest.obj" enabled: _settings.showModel } components: [ chestMesh, phongMaterial ] } Entity { Mesh { id: trefoilMesh source: "qrc:/assets/trefoil.obj" enabled: _settings.showModel } Transform { id: transform Translate { translation: Qt.vector3d( 0, 30, 50 ) } Rotate { axis: Qt.vector3d( 0, 1, 0 ) Quick.NumberAnimation on angle { from: 0 to: 360 loops: Quick.Animation.Infinite duration: 2000 running: true } } } components: [ trefoilMesh, phongMaterial, transform ] } Configuration { controlledCamera: camera }}
这里我们将PhongMaterial单独提出来,让它成为一个共享的材质,另外,我们再添加一个模型——三叶草环状模型,并且我们给它做了一系列转换。我想要是让这个模型绕着宝箱模型旋转该多好啊。于是我们将Qt Quick引入,我们将旋转的部分做了动画,从0度到360度,并且做了无限循环。就是这么简单,我已经迫不及待地想要看到动态的效果了:
我们看到,这个环状模型绕着宝箱模型旋转了,这个效果非常带感!
本次教程的代码均在我的github中,感兴趣的同行们可以通过git clone或者是直接下载我的git项目来获取到本套教程的所有源代码。
1 0
- Qt 3D教程(四)结合Qt Quick来实现动画的效果
- 用Qt Quick实现Metro开始菜单的瓦片按钮效果
- Qt动画效果的实现,QPropertyAnimation
- Qt动画效果的实现,QPropertyAnimation
- Qt 3D的研究(四):指定渲染的材质以及效果
- 使用Qt Quick实现顶部横幅(Banner)效果
- 漂亮!用Qt Quick实现Coverflow效果
- 用Qt Quick实现Coverflow效果
- Qt Quick路径动画
- Qt Quick图形效果
- Qt使用教程之创建Qt Quick UI表单(四)
- Qt Quick 简单教程
- Qt Quick 简单教程
- Qt Quick 简单教程
- Qt Quick简单教程
- Qt Quick里的图形效果(Graphical Effects)
- Qt Quick里的图形效果:阴影(Drop Shadow)
- Qt Quick里的图形效果:阴影(Drop Shadow)
- pylibmc客户端pool使用
- 【云快讯】之五十五《IBM推出Data Warehouse数据仓库云服务》
- hdu 1196(Lowest Bit)
- HDU 5317(2015多校第三场1002)
- UVA 714 - Copying Books
- Qt 3D教程(四)结合Qt Quick来实现动画的效果
- 2015.7.29
- UVA 458 The Decoder 简单解密
- Java程序员常用工具集
- Web系统中缓存的应用
- 循环介绍
- du命令参数全解
- poj2104(区间第k大+离散化)
- Tomcat_Broken pipe