当前位置: 首页 > news >正文

网站首页广告代码简介网络营销的概念

网站首页广告代码,简介网络营销的概念,深圳有哪些做网站的公司,网易邮箱163登录入口前言 参考这篇文章ThreeJSChatGPT 实现前端3D数字人AI互动,前面搭后端、训练模型组内小伙伴都没有什么问题,到前端的时候,脸部就出问题了。看我是怎么解决的。 好文章啊,可惜百度前几个都找不到,o(╥﹏╥)o 问题情况 …

前言

参考这篇文章ThreeJS+ChatGPT 实现前端3D数字人AI互动,前面搭后端、训练模型组内小伙伴都没有什么问题,到前端的时候,脸部就出问题了。看我是怎么解决的。

好文章啊,可惜百度前几个都找不到,o(╥﹏╥)o

问题情况

展示到页面上,是这么个效果(模型动作有夸大部分):

这样的:

《眉飞色舞》

这样的:

《流连赏目》

这样:

《目无全牛》

这样:

眼角:我不感动

以及这样:

嘴巴:该配合你演出的我演视而不见

很明显,这整个脸就没打算一起好好动。

解决方法

原因

出现这个问题,是因为你的网格分开了,但Threejs的混合器AnimationMixer创建一次只能混合一个网格Mesh。

这样子写,一次就只能混合其中一个Mesh:

...  // 省略了很多地方,只列出了关键的细节
loader.load('path/to/your/model.gltf', function(gltf) {const model = gltf.scene;scene.add(model);model.traverse(o => {...if(o.isMesh) {...if (o.morphTargetDictionary) {// 这里混合器只混合了一个meshconst mixer = new THREE.AnimationMixer(o);  ...}}}
}...const clip = getAnimationClip(msg);  // 调用参考文章中得到动画的方法let action = mixer.clipAction(clip);  // 此时此刻也只有一个mixer的动画
action.play();  // 播放动画function animate() {mixer.update(0.016); // 更新动画混合器requestAnimationFrame(animate);renderer.render(scene, camera);
}
animate();

其实得一个Mesh一个混合器,最后把所有混合器都播放好。这样就能实现脸部的协调啦~

代码示例

const mixers = []  // 先准备好一个数组,存放mixer们...loader.load('path/to/your/model.gltf', function(gltf) {const model = gltf.scene;scene.add(model);model.traverse(o => {...if(o.isMesh) {...if (o.morphTargetDictionary) {// 不再只混合一个了// const mixer = new THREE.AnimationMixer(o); // 这里把混合了其中一个mesh的混合器给push进数组了mixers.push(new THREE.AnimationMixer(o));...}}}
}...const clip = getAnimationClip(msg);  // 调用参考文章中得到动画切片帧的方法// 播放动画也不能只用一个的了
// let action = mixer.clipAction(clip);
// action.play();for(let i = 0; i < mixers.length; i++) {let action = mixers[i].clipAction(clip); //所有mixer都生成对应的动作action.play();  // 动画全都给播放了
}function animate() {// 这里也记得都要播放哦// mixer.update(0.016); for(let i = 0; i < mixers.length; i++) {mixers[i].update(0.016);  // 更新全部动画混合器}requestAnimationFrame(animate);renderer.render(scene, camera);
}
animate();

效果展示

当当当当!~

不好意思,搞错了,再来:

效果还不错的赶脚~

后记

网上这方面的资料太少了,这次真就是自己在脑子里构思一个个方案,做出一小步一小步的修改,最终给我试出来是这个毛病了……不容易啊不容易(o(╥﹏╥)o)

希望本文能给其他用Threejs的小伙伴带来帮助,不要放下你敲代码的热情,总有前人在为你们探路中~(✿◠‿◠)

参考

ThreeJS+ChatGPT 实现前端3D数字人AI互动

(偷偷告诉你,这种开源社区大佬的实现项目,不是一般人能随便搜到的哦)

http://www.yayakq.cn/news/496889/

相关文章:

  • 邵东网站建设网站做单链 好不好
  • 专业网站建设加盟合作做网站实验报告
  • 怎么用网站挂QQ怎么用ps做网站效果图
  • 手机网站建设网站福州电商网站建设
  • 四川专业网站建设公司商标注册名字查询系统官网
  • 企业网站源码cmshexo wordpress哪个好
  • 塑胶网站建设网站的程序有哪些内容
  • 织梦怎么做淘客网站科技创新的评价机制的作用
  • 网站格式有哪些wordpress慢数据库
  • 厦门网站排名优化价格无锡网站制作哪家公司好
  • 东营利津网站建设wordpress4绑定多个域名
  • 优秀的平面设计网站百胜网站建设
  • 简洁物流网站模板免费下载宣传片公司哪家好
  • 北京手机网站开发费用每太营销咨询
  • 建设网站需要注意什么问题怎么做公司logo
  • 福州网站设计定制公司下载asp网站
  • 随州公司做网站电子商务网站进度的基本流程
  • 有没有学做蛋糕的网站和视频威海网站建设公司哪家好
  • 河南网站设计价格标题优化怎么做
  • 如何做镜框 网站网站制作 p
  • 石家庄网站推广排名百度主页面
  • 郑州艾特软件 网站建设网页设计教程
  • idc自动续费网站源码沈阳建设工程招投标网
  • 百度收录网站要多郑州高端网站公司
  • 文山建设局网站东莞营销推广服务
  • 电脑上如何做网站宣传用php做企业网站的可行性
  • 营销型网站策划 pdf破解版WordPress主题
  • 昆明网站搭建多少钱进口彩妆做的好的网站
  • 预付网站建设费用会计分录夜狼seo
  • 怎么在阿里巴巴网站做公司仿网易考拉网站建设