参考链接:Blend Shapes / Morph Targets for Facial Animation (Autodesk 3ds Max)

今天逛Youtube的时候Get到了一个新技能:那就是给人物制作表情动画,感觉超简单!(如果人物模型已经有骨骼绑定好面部蒙皮的话,打开auto再调整骨骼位置就行了)

制作Unity中可用的人物表情动画流程大致是:在3dMax中制作表情动画->导出成FBX文件->导入Unity

下面以制作微笑和眨眼睛的动画为例进行讲解

在3dMax中制作表情动画

首先导入人物模型,这里以亚索为例:

按住Shift,选择移动工具将当前选中的亚索模型向右拖拽生成一个新的模型用于制作左嘴角上扬的动画,取名为“Smile_L”:

按下F4显示出模型网格,选择修改->可编辑网络->顶点 选项,勾选“使用软选择”,不勾选“边距离”。选中左嘴角的一个顶点,调整“衰减”数值,使红蓝热度图的效果差不多如图所示。(“边距离”的值限制了最多可以影响到周围几个顶点,这里暂时用不到,所以不勾选;红蓝热度图显示了当前变形的区域,颜色越红表示影响越大)

然后将顶点向上拖拽,接着微调使上扬的嘴角形状看上去顺眼,也可以结合其它操作或修改其它部位的顶点使嘴型看上去正常

这样左边嘴角上扬的形状就准备好了,接着用类似的方式制作右边嘴角上扬的形状,取名为“Smile_R”。注意这里不能直接把左嘴角上扬的形状直接镜像当做右嘴角上扬的形状,因为网格上每个顶点都是有自己的编号的,顶点之间一一对应,所以需要复制一份原始模型再手工一步一步调整做出右嘴角上扬的形状(你可以将左嘴角上扬的形状镜像一份作为制作右嘴角上扬形状的参考,但不能直接当做右嘴角上扬的形状)

有了左嘴角上扬和右嘴角上扬的形状后我们就能制作微笑的表情动画了。选中原始模型为其添加变形器,方法为点击 修改->修改器列表->变形器。可以看到变形器的通道列表全为空,此时点击“加载多个目标”(也可以右键指定通道,然后从场景中拾取),选择制作出来的那两个形状的名字即可(注意原来的模型如果是可编辑网络,则新制作的模型也得是可编辑网络,是可编辑多边形的话同理)。然后通道列表里就新增加了“Smile_L”和“Smile_R”两个通道,将它们的数值都设置为100(最大值)就可以看到朝你微笑的亚索了。

觉得左右不对称,想要再修改的话就直接在对应的形状(Smile_L,Smile_R)上修改,然后在变形器中点击“重新加载所有变形目标”即可。

接下来制作眨眼表情动画。再复制一份原始形状,命名为“Close_L”用于制作左眼闭合的形状,这里得把新模型里的变形器给删掉。制作眼睛闭合的形状主要拖拽上眼皮的顶点,有眉毛的话还得修改眉毛的形状,为了拖拽的精确可控我把“边距离”给勾选上了,一直拖拽调整至顺眼为止。然后同理制作右眼闭合的形状,命名为“Close_R”。制作好后再原修改器里再次加载这两个新的形状就能完成闭眼动作了。

想要同时控制两边嘴角上扬,就将修改器通道列表里Smile_L和Smile_R的数值设置为100,其它通道值设置为0,然后按住“Shift”拖拽该对象,重命名为“Smile”,然后将其“转换为可编辑网格”(原模型为“可编辑多边形”则选择“转换为可编辑多边形”),再加载到变形器的通道列表里即可。(同时控制双眼闭合同理)

接下来就可以用原始模型制作动画了(注意,制作完动画后再修改表情形状,动画是不会自动更新的,就算重新加载所有变形目标也没有用,所以做动画前需测试形状是否OK)

将初始动画帧调至第0帧,选中动画帧下的“自动”按钮,开始自动记录关键帧。向右拖拽到某个空白帧,修改变形器通道列表的数值,自动模式就会自动在这个地方生成一个关键帧,与前一帧之间的空白帧会通过插值的方式生成连续动画。

在合理的位置设置睁眼闭眼,微笑不微笑关键帧

然后人物微笑并眨眼的动画就完成了!

导出成FBX文件

选中model对象,文件->导出->导出选定对象,类型选择FBX,然后保存即可

导入Unity

将FBX模型文件和贴图文件拖拽到Assets文件夹中(自己在Assets文件夹中新建文件夹也可以),选择导入的模型,将Inspector->Model->Geometry下的Blend shape Normals设置为 Import(unity默认是calculate,然而显示时会有鬼畜的光照问题)

再选择Inspector->Animation 将Loop Time勾上,这样动画就能循环播放了。

将模型拖拽至场景,觉得太暗的话可以Window->rendering->light settings,调高Environment lighting中的intensity multiple的值,使环境光更亮。

为模型添加一个animator组件,在Assets文件夹里新建一个AnimatorController并绑定到那个组件上。双击AnimatorController,将模型下的动画(这里是Take001)拖拽到Animation下。然后播放就能看到表情动画了:

可以看到skinned mesh renderer下有blendShapes,和3dMax我们在修改器中定义的通道名称一样,可以通过脚本调整blendShapes的数值

大功告成~

(变形器要放到蒙皮的上面,不然Unity中很可能没有blendShapes)

3dmax顶点动画导入unity_用3dMax给lol人物模型制作表情动画并导入Unity相关推荐

  1. 3dmax顶点动画导入unity_从3dmax如何导入物体到unity3d

    导入模型是我们遇到的最基本的问题,下面是官方手册中的指导,比较详细了,供查阅 Importing Objects From 3D Studio Max 从 3dmax 中导入物体 If you mak ...

  2. 替换人物模型,更改动画Avatar

    step1:设置Animation Type 为Humanoid,点击Apply.在Mixamo下载的xbf的Animation Type是Generic,改成Humanoid可以把骨骼信息计算并且关 ...

  3. 「建模学习」3dmax人物模型制作全过程分享,案例实操,建模学习教程

    先看成图 大家好! 今天大家分享3dmax创建游戏角色的工作流程. 开始吧! 收集参考 这是我所有项目的一个非常重要的一步,因为这是我决定角色风格的方式. 我喜欢搜索不同种类的参考文献,如材料,服装和 ...

  4. 利用同一模型的两种表情(Poser轻松得到)制作表情动画(菜鸟版)

    具体方法是参照OGRE官网论坛的一个帖子: http://www.ogre3d.org/forums/viewtopic.php?f=8&t=40583 要用到 Morpher修改器.也可以直 ...

  5. css动画在线生成,在线制作css动画——cssanimate

    熟悉CSS的人都知道,CSS可以实现很多漂亮的动画,特别是它的在线功能,能够帮助人们解决很多制作动画的效果.今天特别推荐一个在线CSS插件功能--cssanimate,这个最大的特色就是以图形界面方式 ...

  6. focusky怎么制作html5,使用focusky制作展示动画

    一个协会要举办大会议,以前我帮着做了个图片视频,就是很多照片循环展示,配个背景音乐那种. 现在又找到我,我用focusky制作下,因很久不用,怎么使用也忘了,这个软件的操作逻辑也不太容易搞的清,主要是 ...

  7. 3dmax顶点动画导入unity_3DMAX点缓存的动画怎么导入unity呀?

    (引自别处,希望有用)用Max导出Unity3D使用的FBX文件流程注解从max导出FBX到Unity,以下环节需要特别注意.1,单位设置很多人在建模,动画的时候,默认的maxsystemunit是设 ...

  8. 图形化开发(六)01-Three.js之导入模型——3dmax和SketchUp-editor编辑器导出json文件,在创建模型initMesh中外部的JSON文件

    图形化开发(六)01-Three.js之导入模型--3dmax和SketchUp-editor编辑器导出json文件,在创建模型initMesh中外部的JSON文件 导入模型 官方推荐我们使用的3D模 ...

  9. 使用3dmax Morpher制作Unity表情动画

    关于游戏人物的面部表情动画 方案一:如果面部骨骼数丰富的话,可以直接做骨骼动画 方案二:采用变形器(3dmax是Morpher,maya是blendshape)修改相应通道的权重值来做表情动画 本文简 ...

  10. 3dmax:3dmax经典案例详细步骤图文教程之粒子阵列粒子系统制作星球爆炸特效动画效果

    3dmax:3dmax经典案例详细步骤图文教程之粒子阵列粒子系统制作星球爆炸特效动画效果 目录 3dmax经典案例详细步骤图文教程之粒子阵列粒子系统制作星球爆炸特效动画效果

最新文章

  1. 不好好学习会被AI开除的!俄罗斯校园将启用AI,识别差生,建议开除
  2. Permission 0644 for .ssh/id_rsa Are Too Open 解决办法
  3. source insight(SI)C/C++符号标记含义
  4. Andorid之taskAffinity 和 FLAG_ACTIVITY_NEW_TASK
  5. 华邦电子2022年1月营收为新台币86.90亿元
  6. 【数据分析】Superset 之三 Docker操作管理
  7. android自定义view背景透明度,Android 背景透明度设置总结
  8. 判断一个单链表是否有环及环的链接点
  9. 软件工程-软件小组的组织形式
  10. MFC | 基于文档存储的学生成绩信息管理系统
  11. AutoHotKey完成ass字幕文件字幕偏移时间修改
  12. 指数函数对数函数导数定义推导
  13. implement在java中怎么用_JAVA中implement和extends的区别
  14. 巴菲特对优质公司买卖
  15. 【Google Play】Google Play 签名维护 ( 签名机制 | Google Play 签名机制选择 | 签名更新 )
  16. ①、iOS-RxSwift基础控件的使用、RxSwift-Tableview的使用、RxSwift-SectionTableview结合RxDataSources使用、RxSwift 网络请求封装使用
  17. 三维立体动画制作技巧
  18. 可控硅整流电路中的波形系数
  19. C语言输入三边求三角形面积
  20. python学习-reshape()函数理解

热门文章

  1. [英语歌曲]孤独:Soledad
  2. mysql变量赋值加冒号,mysql 冒号
  3. 3ds max基础知识
  4. 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年6月份最新版)
  5. linux下java的日志在哪里,Linux下的系统日志管理
  6. CSDN博客排名前15名
  7. Lonlife-ACM 1010 - Alarm(找规律+素数打表)
  8. vue实用echart饼图legend显示百分比
  9. old-style parameter declarations in prototyped function definition
  10. 输入任意一个字符串,判断这个字符串是否是回文,回文示例: 上海自来水来自海上