Qt Quick 3D系列(四):为三维模型添加动画效果

本文介绍了如何利用QtQuick3D结合QML的NumberAnimation控制3D场景中摄像机的自动旋转,实现三维模型的动态效果。示例代码展示了如何设置动画参数,并提供了GitHub仓库链接以供参考。通过这种方式,开发者可以轻松地为QtQuick3D应用添加复杂的3D动画。
摘要由CSDN通过智能技术生成

       Qt Quick 3D旨在让那些熟悉QML开发的人能够使用非常少的学习成本实现3D开发,因此对于三维模型动画没有类似与Qt 3D中有个专门的Qt3DAnimation来控制动画效果,而是直接使用QML中的Animation对三维模型中属性进行控制,是不是很赞,下面介绍如何使用NumberAnimation控制摄像机自动旋转。效果如图:

源码:

import QtQuick 2.15
import QtQuick.Window 2.15
import QtQuick3D 1.15

Window {
    width: 640
    height: 480
    visible: true
    title: qsTr("Hello Qt Quick 3D")

    View3D {
        id: view3D
        anchors.fill: parent
        environment: sceneEnvironment
        SceneEnvironment {
            id: sceneEnvironment
            antialiasingQuality: SceneEnvironment.High
            antialiasingMode: SceneEnvironment.MSAA
        }

        Node {
            id: node
            DirectionalLight {
                id: directionalLight
            }

            Model {
                id: cubeModel
                source: "test.mesh"
                DefaultMaterial {
                    id: cubeMaterial
                    diffuseColor: "#4aee45"
                }
                materials: cubeMaterial
            }
        }

        Node{
            id:cameraNode

            PerspectiveCamera {
                id: camera
                z: 15
            }

            NumberAnimation {
                id:camerAnimation
                target: cameraNode
                property: "eulerRotation.y"
                duration: 5000
                from: 0
                to: -360
                loops: Animation.Infinite
                running: true
            }
        }
    }
}

 如果还需要添加一些控制功能,还可以添加SequentialAnimation和ParallelAnimation实现动画的组合效果,3D开发大门已经开启,尽情的展现你的才华吧!

示例工程GitHub地址:https://github.com/zjgo007/QtQuick3D/tree/master/Animation3dModel

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喵喵叫的猴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值