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

【Chano的SFM教程】3dmax 面部表情.VTA基本制作教程

本篇教程作者为:小鸟Chano,转载请表明作者和出处:CSDN

欢迎观看本次教程

本教程将会为你演示使用3D MAX 制作一个基本的SFM表情控制器【表情滑条】并导入SFM进行使用。

Chano自己也是近期才掌握的这项知识,所以过程中可能有很多迷之操作和瑕疵还请见谅哈^^~

1、操作过程

首先,请转到 wunderboy网站。

获取我们需要的插件,下载并安装**“3DS Max VTA export plug-in”**

(1)如何安装?

只需将其放入plugins文件夹,你也可以在这里找到其他相关插件,比如SMD导入导出、VTF插件。

温馨提示:

本教程不包含任何有关MAX的基本操作知识。

本教程全程没有语音讲解,如条件不允许,可以静音观看。

前期讲的是max中的变形器操作,MAX大佬可以直接空降 8:00学习导出编译、部分

(2)流程

我们先打开需要制作的模型

现在,在修改器列表为它添加变形器属性

因为我设置了快捷键 所以就不在列表里找啦

变形器设置里要勾选自动重新加载目标✔不然后面调整是看不到效果的

接下来 复制 需要制作表情的区域, 作为参考目标

备注:

①如果你的模型头部是单独一个整体那就仅复制头部就可以啦

②如果和身体在一起那么就全部复制或者自己拆分一下再进行下一步处理都是可以的

③然后删除掉目标参考模型的其他修改器属性,仅保留可编辑多边形
转到原模型的变形器修改器右键通道列表的空

(3)转到原模型的 变形器修改器 右键通道列表的 空

从场景中拾取 - 选择复制的参考模型

将数值调到最大,不然看不到变化

现在 开始编辑参照模型 如果你操作正确,会看到原模型上也有同步的变化

我的模型比较简单,如果你的模型比较复杂,这一步会很考验耐心和眼力

这一步 你可以使用任何方式进行调整 使其看上去,能达到你想要的效果即可

这里正在尝试制作一个闭眼/眨眼表情

现在可以看看效果了~~~

(4)完成后

完成后,如果你感觉不需要再更改了,阔以把参考模型删除,也可以放在一边将其隐藏,方便后期更改。

下面是效果图:

恭喜,现在你已经成功的制作出一个表情控制器了

现在,重复以上步骤去做另外一个表情 ,直到做完所有表情。

您可以在这里修改表情名称,方便记录

重复之前的步骤 方法都是一样的

唔··这个过程或许会很漫长,请耐心等待。

(5)测试

差不多做好啦,现在测试一下

测试效果图:

看上去没什么问题。

先不要急着导出哦~我们还要告诉导出器要怎样识别我们的滑块。

(6)导出准备 —— 导出

开启, 自动关键点 ,我们要为每一个表情创建一帧的动画记录 。

现在,我们把这里当做是SFM的表情滑条空位,第0位置是默认无表情状态,是空的要空出来,接下来的每一帧都要对应一个表情。

现在,空出第 0 帧,在 第 1 帧 位置,把你的第一个表情数值调到最大【100】。

现在,它看上去大概是上面那样的。

最后,重复以上步骤,直到你做完所有表情。当你做下一个表情的时候,需要将前一个表情的数值归零~~

步骤:

①自动关键点

② 关键帧调到①

③ 表情数值调最大

接下来重复以上步骤,做完所有表情。

注意:

当你做后面的表情时,

不要忘了把前一个表情数值归零

不然?试试就知道啦!

请确保 一帧对应一个表情

因为max会自动柔化关键帧 所以请 重新检查一下所有关键帧 ,确保每一帧对应的表情数值为[100]其余表情全部是[0.0],不然动作就会混淆

完成~

现在我们就可以导出表情啦 选中制作了表情的模型

文件-导出- 导出选定对象

选择VTA格式

模型做了几个表情就选择导出 0 - 你的表情数

现在你就得到了一份VTA表情文件啦

接下来就是QC时间~

2、QC时间

(1)QC编写

表情名称可以自己起名 但三个板块的名字需要保持同步

请避免使用数字或符号 以免代码误认为是参数

可以使用下划线 _

请在你的QC中加入这样一段


$model "reference" "模型名字.smd" {  

flexfile "模型VTA.vta" 
{
    defaultflex frame 0  //默认表情【无表情状态】
    flex "表情1" frame 1   
    flex "表情2" frame 2
    flex "表情3" frame 3
    flex "表情4" frame 4     //表情排序 有几个写几个
    flex "表情5" frame 5
}

flexcontroller idle range 0 1 表情1
flexcontroller idle range 0 1 表情2
flexcontroller idle range 0 1 表情3   //和上面数量对应 有几个写几个
flexcontroller idle range 0 1 表情4
flexcontroller idle range 0 1 表情5

%表情1 = 表情1
%表情2 = 表情2
%表情3 = 表情3    //同上
%表情4 = 表情4
%表情5 = 表情5

}

现在 我们就可以编译啦~

在查看器中测试一下

看上去没有问题~

现在可以去SFM测试一下啦

(2)SFM测试

莫得问题~

3、课后总结

本次课程涉及的知识点有:

①3Dmax变形器的基本使用方法

②VTA导出前的准备工作

③编写QC文件中的VTA

你学会了咩?现在不妨去自己试试吧~

恭喜 你已经完成了教程的全部内容

希望你已经看懂啦

祝制作顺利

感谢您的观看


http://www.kler.cn/a/13942.html

相关文章:

  • 匿名管道与命名管道
  • springboot集成webservice
  • 【AutoGPT】你自己运行,我先睡了—— ChatGPT过时了吗?
  • JUC多并发编程 LockSupport和线程中断
  • 最佳实践:Android应用中的网络请求和数据缓存
  • 利用校正板对无人机影像辐射校正
  • [算法前沿]--004-transformer的前世今生
  • java超市会员积分管理系统
  • 【Android车载系列】第10章 系统服务-SystemServer源码分析(API28)
  • mybatis04-mybatis缓存、分页插件、注解开发(一对一、多对一、多对多)
  • Linux清理系统日志或临时文件logrotate使用方法
  • zookeeper笔记
  • AUTOSAR网络管理
  • 【华为OD机试真题 C++】1054 - 统一限载货物数最小值 | 机试题+算法思路+考点+代码解析
  • 对比学习(持续更新ing...)
  • 查询网站ip地址
  • PHP+Vue+java导师学生双选系统设计与实现springnboot+pyton
  • 太阳能电池IV测试软件的主要功能,太阳能电池特性测试
  • 方向梯度直方图(Histogram of Oriented Gradient)
  • Linux 这4个进程相关的命令,太好用!