在前面的博客中介绍过关于变形的实现方式,使用的是球体,本篇博客结合着游戏开发中的捏脸以及角色衣服随动作摆动效果,因为二者在目前的游戏开发中使用的非常多,借此给读者通过案例的方式给读者介绍一下。

捏脸实现

捏脸效果,在MMORPG游戏中使用的比较多,比如:《楚留香》、《荒野行动》、《猎魂觉醒》、《琅琊榜:风起长林》、《九州天空城》等等。MMORPG游戏的捏脸系统还是做的比较强大,但是原理都是一样的,捏脸系统可以采用Morph和骨骼实现,如果实现表情可以使用Morph因为要求比较精细,当然也可以使用骨骼,只是相对来说骨骼比较麻烦一些。Morph实现原理是事先设计多个脸部表情,数据量比较大。而骨骼做捏脸相对来说,可控性较高,而且数据量也小,所以大部分游戏都是用骨骼来实现捏脸的。使用骨骼实现需要设计一些关键点,这些关键点的数量是根据捏脸部位不同而不同。如下图所示:

在改变某个骨骼时,会影响到多个骨骼数据,每个骨骼数据只影响某条骨骼的某个值,实现效果如下所示:

骨骼变换时会涉及到矩阵变换,我们在固定流水线中介绍过,顶点的矩阵变换,模型的顶点在变形之前先从局部坐标转换到世界坐标,变形完后再从世界坐标转换到局部坐标,实现的效果如下所示:


角色的变脸就完成了,详情自己看一下代码下载地址:链接:https://pan.baidu.com/s/1-kQUMZ1tY4pZ3H7Z_8Si3g
提取码:d23h

衣服摆动

衣服摆动实现方式有两种:模型骨骼动画,物理计算;骨骼动画就是通过Max或者Maya对衣服布料进行骨骼绑定,这种方式实现的布料不自然而且摆动样式固定。另一种实现方式是对布料进行蒙皮但是不绑定骨骼动作,只是作为物理计算的关键点。如下图黄色所示的点,这些点就是作为物理计算的关键点。

弹簧的原理大家了解,通过一个点的运动可以带动弹簧上其他点的运动,我们再把骨骼的关键点串联起来,这样就实现了衣服跟随动作的摆动,实现效果如下所示:

上面的动图我们没有做任何动作,只是通过鼠标拖动就实现了衣服摆动的效果,而且效率还是不错的,代码会在后面整理后放上。

总结:
之所以把二者结合起来,因为它们都是通过绑定的骨骼进行变形和做物理运算,本章介绍的3D捏脸和衣服摆动不是新技术了,几年之前就实现过了,这里只是再回顾一下,帮助读者梳理一下思路,实现起来不难的。实现模型以及绑定骨骼需要美术完成,程序在此基础上进行代码编程实现。

Unity3D捏脸+衣服摆动技术介绍相关推荐

  1. unity 捏脸相关

    捏脸 https://blog.csdn.net/u014361280/article/details/103929611?depth_1-utm_source=distribute.pc_relev ...

  2. unity捏脸游戏捏脸系统实现原理和代码

    unity捏脸游戏捏脸系统制作教程 unity3d捏脸系统实现原理和代码 捏脸实现原理 unity捏脸系统要用到3D建模软件,我用的是blender 不会用blender的朋友,请看这个链接: htt ...

  3. 【技术美术】千人千面如何炼成 技术讲解捏脸系统设计原理

    学习自 http://games.sina.com.cn/o/z/wuxia/2015-10-15/fxivsch3599438-p5.shtml 1. 技术讲解捏脸系统设计原理 天刀脸模型的风格定位 ...

  4. 【技术美术】盘点十大可捏脸的单机游戏

    学习自:http://www.gamersky.com/wenku/201409/467622.shtml 没错,这是一个看脸的时代,君不见年初歌手李代沫因吸毒被抓,网友对他可是一片声讨,而就在上个月 ...

  5. 网页html做捏脸站,[技术研究]想做Web 3D捏脸?看了这篇文章你就会!

    原标题:[技术研究]想做Web 3D捏脸?看了这篇文章你就会! 游戏里的人物捏脸见的多了,网页里的捏脸见过么? 3月6日完美世界手游上线,前期需要一个预创角营销活动进行预热.与以往预创角活动不同的是, ...

  6. 面由 AI 生|虚拟偶像“捏脸”技术解析

    一.AI"卷"进实时互动 2021年,元宇宙概念席卷全球,国内各大厂加速赛道布局,通过元宇宙为不同的应用场景的相关内容生态进行赋能.针对"身份"."沉 ...

  7. 【技术美术】最强捏脸游戏大比拼

    学习自:http://news.17173.com/content/2016-01-09/20160109010719144_all.shtml 对 MMORPG 来说,最重要的无疑是"代入 ...

  8. 【3D捏脸功能实现】

    文章目录 一.技术方案介绍 二.技术核心 三.底层技术实现 选型 进行模型建模 编写逻辑代码 四.功能落地 五.总结 一.技术方案介绍 3D捏脸功能是一种利用3D技术实现用户自定义头像的功能.通常实现 ...

  9. 自定义角色外观之捏脸

    "捏脸"和"换装"在游戏中一般用来实现自定义角色外观的功能,今天先来说说"捏脸","换装"放在下一篇博文中介绍.所谓捏脸 ...

最新文章

  1. JavaScript 闭包的详细分享(三种创建方式)(附小实例)
  2. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...
  3. amt630a芯片中文资料_甲基化芯片学习记录
  4. 造完家怎么拆东西_地弹簧玻璃门怎么拆?地弹簧玻璃门拆除注意事项有哪些?...
  5. java数据分析库,威力加强版
  6. 开启 JM 的 trace 功能
  7. 余承东:鸿蒙系统将与科大讯飞开放平台共同推动AI商业化
  8. linux下的汇编,linux下的汇编分析
  9. mybatis3源码2-查询
  10. 创业者应该思考智能硬件能为灾难做什么
  11. 艾美捷PEG-2000 DMG解决方案
  12. Setting语言与输入法列表客制化
  13. python电影网络爬虫代码_Python爬虫——爬取豆瓣电影Top250代码实例
  14. Options error: In [CMD-LINE]:1: Error opening configuration file: xxxx.ovpn
  15. HTML文本抖音李峋同款爱心代码超好看
  16. pychram+python 看源码: 按住crtl,点击函数
  17. 安装SSL证书可以解决浏览器提示的不安全警告
  18. Spine 皮肤Skins
  19. Python 数字筛选
  20. 小米手机怎么关闭移动卡信号显示无服务器,一条指令代码教你解决小米手机信号和待机问题...

热门文章

  1. 基于Navicat管理工具实现以客户为导向的数据库基本操作
  2. Python金融股票和量化分析三方库汇总
  3. ipad iphone开发_如何更快地为iPhone或iPad充电
  4. Ubuntu 14.04实现终端代理下载系统源码
  5. 深度 | 张正友:计算机视觉的三生三世 | CCF-GAIR 2019
  6. java小小工具 对象信息管理
  7. 设计模式系列-调停者模式-Mediator
  8. 如何理解:ListString list=new ArrayListString();为甚麼要声明为List 而不是ArrayListString?
  9. 无线网卡、无线模块和无线模组的区别
  10. 360lib投影格式介绍(二) - 立方体贴图投影(CMP / ACP / EAC / SSP / TSP)