【QtQuick3D学习】初探数字人,使用Qt Design Studio导入Blender模型,并驱动形态键Shape Key——基于C++和Cmake

这篇具有很好参考价值的文章主要介绍了【QtQuick3D学习】初探数字人,使用Qt Design Studio导入Blender模型,并驱动形态键Shape Key——基于C++和Cmake。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Blender

首先使用Blender创建数字人模型,然后导出为fbx格式

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender
没有模型的可以下载文章上方资源,或者直接点击下方链接下载

数字人demo模型fbx

Qt Design Studio

然后使用Qt Design Studio创建demo工程,得到下面的运行结果

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

然后左下角切换到Assets窗口,点击+符号,导入从Blender导出的模型

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

导入成功后,可以切换到Components窗口,看到多出来的MY 3D COMPONENTS中有导入的模型,双击模型可以打开查看详细信息

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

其中的morphTarget就是识别出来的Blender Shape(也叫形态键Shape Key)

改变这个的值可以控制模型的形态发生改变,效果在Blender中已经做好

直接修改代码窗口中的代码,在第6行增加下面的内容

    property alias morphTarget7Weight: morphTarget7.weight
    property alias morphTargetWeight: morphTarget.weight

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

这里可以理解为起了一个别名,并声明之后可以在外部使用,具体含义需要学习QML语法

在左上角切换回Screen01.ui.qml

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

然后使用鼠标左键点住MY 3D COMPONENTS中的模型,拖到view3D下的scene中,之后中间的界面便会出现导入的模型

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

调整模型的旋转,将脸的角度调的正常些

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

在左边导航栏中选中模型,在右边属性窗口往下滑动窗口,找到TRANSFORM,其中各种属性参数都可以直接调整,也可以在代码中写eulerRotation.x: 10,代表x旋转10度

从这里也可以看出来,Qt Design Studio有一种类似于QML的IDE的感觉,可以很方便的不用直接写代码而控制UI的各种属性参数

接下来加入两个Slider到Rectangle中,可以在Components窗口找到,如果熟悉QML,也可以直接用代码写

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

可以调整名字和位置,直接拖动即可,或者在代码中指定位置

接下来找到代码中的模型位置,增加代码

morphTarget7Weight: l_eye.value
morphTargetWeight: r_eye.value

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

这里是将左右眼睛的控制绑定在两个Slider上

也可以直接在Connections窗口的Bindings中直接添加

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender

运行结果

此时点击运行,就可以使用两个Slider分别控制模型的左右眼睛

blendshapes 驱动数字人,QtQuick3D,数字人,3d,学习,qt,blender文章来源地址https://www.toymoban.com/news/detail-768355.html

到了这里,关于【QtQuick3D学习】初探数字人,使用Qt Design Studio导入Blender模型,并驱动形态键Shape Key——基于C++和Cmake的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt 3D 学习路径规划

    3D 用来做什么? 什么是Qt 3D,什么时候选择Qt 3D Opengl入门及学习资料 Qt 3D 整体介绍 官方实例 本系列文章只是记录本人学习Qt 3D的学习过程,其中很多都是借鉴网上搜寻的资料,其中有不对的,请积极指正。 3D是three-dimensional的缩写,在计算机里显示3d图形,就是说在平面里显

    2024年02月01日
    浏览(35)
  • 【QML】使用 QtQuick2的ListView创建一个列表(一)

    qtquick2版本和qtquick1版本分别提供了一个ListView组件供使用,两个组件在使用上和属性的提供上还是有比较大的差异的,因为qtquick2是新的,所以就以改版本为基础学习如何使用; 首先,要知道ListView提供了那些属性提供修改,那些是只读,各个属性的类型是啥,这些可用在Q

    2024年02月09日
    浏览(37)
  • Qt Quick 3D学习:鼠标拾取物体

    (注意,开源版的 Qt Quick 3D 是狗都不用的 GPL 协议) Qt Creator 中有一个 picking 的示例,用于演示 View3D 中物体的拾取: 在示例基础上,我又加了一个简单的拖动效果,如图所示:   在使用 OpenGL 实现拾取的时候,我们可以用射线法。Qt Quick 3D 中封装了拾取操作,通过 View3D 的

    2024年02月10日
    浏览(38)
  • AI数字人:AI数字人制作初探及相关开源简介

    数字人这名字听着稀奇又别扭,其实它最初的原型大家都听过——NPC。玩过游戏的应该都知道,也就是游戏内玩家操纵的游戏角色,可以和玩家进行交互的角色。广义上讲可以说是计算机模拟出的具有人的形态的虚拟人都叫做数字人,在平常的观感上,数字人是整合了人物形

    2024年02月14日
    浏览(36)
  • 初探---Qt

    目录 一、介绍Qt 二、软件安装  三、QT工具介绍  四、Assistant帮助文档的使用   五、设计师界面的介绍 ​编辑 六、QT工程项目各文件初始程序的介绍 1 配置文件:.pro文件 2 头文件 3 源文件 4 主程序 5 各文件之间调用方式 七、第一个QT界面  1 创建自定义类时需要指定父类

    2024年02月10日
    浏览(25)
  • 【QT数字图像处理】(三)QSlider滑块学习

    实验二的要求是编程实现RGB彩色空间到HSV彩色空间的转换,并通过调整H、S、V实现图像色度、色饱和度和亮度的调节。在开始实验二之前,我们先来学习一下关于QSlider滑块的操作。 最后要实现的效果如下:用3个滑动条分别来调节RGB三个颜色分量的大小,并显示到左侧各自的

    2024年02月13日
    浏览(30)
  • 《Easy3d+Qt+VTK》学习

    1、 资源下载:easy3d giuhub 2、解压缩 3、用qt打开CMakeLists.txt即可 4、点击项目,选择debug或者release,图中3处可自行选择,因为我的qt版本是6,easy3d默认是5,所以qt我没有配置编译 5、先点击执行cmake,在点击构建,即可生成lib和dll文件,同样的方法构建一下release版本,生成如下

    2024年02月05日
    浏览(42)
  • PyQt5+Qt设计师初探

            在上一篇文章中我们搭建好了PyQt5的开发环境,打铁到趁热我们基于搭建好的环境来简单实战一把 PyQt5包括的主要模块如下。 QtCore模块——涵盖了包的核心的非GUI功能,此模块被用于处理程序中涉及的时间、文件、目录、数据类型、文本流、链接、QMimeData、线程或

    2024年02月07日
    浏览(44)
  • Qt使用qwtplot3d绘制3D曲面

    qwtplot3d 是一个基于 Qt/OpenGL 的 C++ 程序库,为开发者提供了一些3D组件。其核心通过调用 openGL 库来完成,可以实现三维曲面绘制,三维状态下折线,散点等图形的绘制。最新的版本为 qwtplot3d-0.2.7,更新于 2007-06-25,已经有十几年没更新了。   用 Qt 打开工程之后,需要先在

    2024年02月07日
    浏览(50)
  • 端午节使用Threejs实现数字人3D粽子

    个人主页: 左本Web3D,更多案例预览请点击==》 在线案例 个人简介:专注Web3D使用ThreeJS实现3D效果技巧和学习案例 💕 💕积跬步以至千里,致敬每个爱学习的你。喜欢的话请三连,有问题请私信或者加微信   1,功能介绍 Threejs实现加载粽子模型,使用AI生成数字人并进行介

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包