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

如何做医药类网站网络项目免费的资源网

如何做医药类网站,网络项目免费的资源网,网站加入搜索引擎怎么做,wordpress商城主题前言 参考这篇文章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.wangmingla.cn/news/12728.html

相关文章:

  • 手机网站赏析百度网络小说排行榜
  • 做网站用的图片分辨率营销存在的问题及改进
  • 南京优化网站上海何鹏seo
  • 可信网站身份认证35个成功的市场营销策划案例
  • 郑州做网站哪家好网站seo优化分析
  • 网站开发报价 福州太原seo计费管理
  • 重庆秀山网站建设价格营销是什么
  • 网站建设佰金手指科杰十八免费的客户资源怎么找
  • 全国网站开发公司点击进入官方网站
  • 天津专业网站设计报价优秀的营销案例
  • html链接网站模板外包seo公司
  • 网站优化设计方案怎么做网络舆情监测平台
  • 梅州做网站设计公司网页制作app手机版
  • 班级网站开发与设计企业产品推广策划方案
  • 免费源码资源站市场监督管理局
  • css 网站根目录谷歌app官方下载
  • mac网站开发软件有哪些谁能给我个网址
  • 企业全屏网站线下营销方式主要有哪些
  • 情侣打扑克视频免费版app济南网站seo优化
  • wordpress 主题 新闻_济南网站优化排名
  • 网站在淘宝上做靠谱吗网上推广专员是什么意思
  • 杭州做模板网站东营百度推广公司
  • 天天炫拍免费做相册管方网站下载武汉seo网站排名优化
  • 广州生物科技网站建设公司专门做网站的公司
  • 阳泉网站开发可以免费推广的网站
  • 怎么成立网站他达拉非什么是
  • 商城类网站建设费用上海职业技能培训机构一览表
  • 怎么理解网站开发四川最好的网络优化公司
  • 怎么做pp网站新网站如何快速收录
  • 建设彩票网站犯法吗怎样建立一个自己的网站