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

news2024/11/17 12:54:08

本篇教程作者为:小鸟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.coloradmin.cn/o/445486.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GDB调试实验

一、实验准备 在 Linux 环境软件开发中,GDB 是调试 C 和 C 程序的主要工具。本次实验围绕着GDB常用的调试操作进行。 1、设置断点的意义 当我们想查看变量内容,堆栈情况等等,可以指定断点。程序执行到断点处会暂停执行。break 命令用来设置…

React 条件渲染组件

组件通常需要根据不同的条件显示不同的内容,以及根据应用的状态变化只渲染其中的一部分。 在 React 中,可以使用 JavaScript 语法有条件地呈现 JSX,比如 if 语句、&&和 ?: 操作符。 根据条件返回 JSX Demo.js 文件: …

【高危】vm2 <3.9.17 沙箱逃逸漏洞(POC)(CVE-2023-30547 )

漏洞描述 vm2 是一个基于 Node.js 的沙箱环境,可以使用列入白名单的 Node 内置模块运行不受信任的代码。 由于 CVE-2023-29199 的修复不完整,vm2 3.9.17 之前版本的 transformer.js 文件中的 transformer 函数异常处理逻辑存在缺陷。攻击者可以利用这个…

【01-Java Web先导课】-如何进行JDK的安装(或Java环境的配置)

文章目录 一、JDK(jdk-8u371-windows-x64.exe)的下载1、下载网址2、选择相应版本进行下载 二、JDK(jdk-8u371-windows-x64.exe)的安装1、JDK安装2、系统环境变量配置3、classspath环境变量设置 免责说明 一、JDK(jdk-8…

❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置

❤echarts 南丁格尔玫瑰图的使用以及南丁格尔玫瑰图详细配置 1、认识 使用可以参考之前文章,会使用直接跳过1 引入官网的南丁格尔玫瑰图效果如下: 使用函数配置分为三个部分:初始化> 设置配置> 地图使用参数 配置代码如下 option…

法学考生必看—外经贸法学专业在职研究生

法学专业就业面比较广,但很多人工作后都觉得还是缺少核心竞争力,想通过读研来改变现状,23考研已经落幕,想要今年就能入班学习的院校有吗?有法学专业的吗? 一、学校介绍 对外经济贸易大学创建于1951年&…

STM32 USB资料整理

CypressUSB中文文档 https://img.anfulai.cn/bbs/90026/AN57294%20USB%20101%20An%20Introduction%20to%20Universal%20Serial%20Bus%202.0%20(Chinese).pdf RL-USB教程 https://www.armbbs.cn/forum.php?modviewthread&tid99710 USB应用实战教程第3期:手把…

Java Jvm中的垃圾回收机制

jvm的垃圾回收机制是什么 jvm的垃圾回收机制是GC(Garbage Collection),也叫垃圾收集器。 GC基本原理:将内存中不再被使用的对象进行回收;GC中用于回收的方法称为收集器,由于GC需要消耗一些资源和时间&…

认识BASH这个Shell

文章目录 认识BASH这个Shell硬件、内核与shell为什么要学命令行模式的Shell?Bash Shell的功能命令与文件补全(TAB)命令别名设置(alias)历史命令(history)任务管理、前台、后台控制(jobs,fg,bg)通配符程序化脚本 查询命令是否为Bash shell 的内…

前端--移动端布局--2移动开发之flex布局

目标: 能够说出flex盒子的布局原理 能够使用flex布局的常用属性 能够独立完成携程移动端首页案例 目录: flex布局体验 flex布局原理 flex布局父项常见属性 flex布局子项常见属性 写出网首页案例制作 1.flex布局体验 1.1传统布局与flex布局 传…

nacos 部署 配置

文章目录 一、Nacos简介 1、为什么叫Nacos2、Nacos是什么3、能干嘛4、去哪下二、安装并运行Nacos 2.1 基础环境及配置:三、Nacos作为服务注册中心演示 3.1 基于Nacos的服务提供者 2、POM文件3、YML文件4、主启动5、业务类6、测试7、nacos控制台3.2 基于Nacos的服务消…

[POJ - 1080 ]Palindrome(区间DP)

[POJ - 1080 ]Palindrome( 区间DP) 1、问题2、分析状态表示状态转移空间优化 3、代码 1、问题 给定一个字符串,通过添加最少的字符,使得这个字符串成为一个回文字符串。 2、分析 状态表示 f [ i ] [ j ] f[i][j] f[i][j]表示将…

2023年产品经理需要考的证书,NPDP含金量真高

产品经理国际资格认证NPDP是新产品开发方面的认证,集理论、方法与实践为一体的全方位的知识体系,为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会(PDMA)成立于1979年,是…

盖子的c++小课堂——第十七讲:递归

前言 通知一下,以后每周不定期更新,有可能是周六更新,也可能是周日吧,反正会更新的~~还有我新出的专栏《跟着盖子读论语》,记得订阅一下啊跟着盖子学《论语》_我叫盖子的盖鸭的博客-CSDN博客 三元表达式 三元表达式…

单链表中二级指针的使用以及单链表的增删查改操作

前言:在链表的构建中,链表的初始化和销毁为何需要使用一个二级指针,而不是只需要传递一个指针就可以了,其问题的关键就在于c语言的参数传递的方式是值传递 那么,这篇文章就来聊一聊在链表的初始化中一级指针的传递和二级指针的区别,并总结给出单链表的C语…

AutoCAD使用技巧

AutoCAD使用技巧 环境说明AutoCAD 导入EXCELAutoCAD移动对象到原点 环境说明 本文基于AutoCAD 2021版本。 AutoCAD 导入EXCEL 如果菜单栏隐藏点击显示菜单栏: 在excel中选中copy内容赋值,AutoCAD中选择:编辑-选择性粘贴-作为AutoCAD图元…

必用WhatsApp营销的4个理由

WhatsApp是世界上最受欢迎的消息传递应用程序。每天有1万新用户加入WhatsApp。各种规模的公司都利用该平台与世界各地的客户进行有效的沟通,这要归功于其广泛的覆盖范围、用户友好的设计和安全的端到端加密。因此,WhatsApp聊天机器人迅速普及。 1.为您的…

Kotlin的出现无疑是为了超越Java而存在

Kotlin的出现无疑是为了超越Java而存在。在Google I/O 2017中,Google 宣布 Kotlin 成为 Android 官方开发语言,背景就是Oracle告Google侵权使用java。众所周知,Java的跨平台的开发语言,得益于虚拟机。我比较关注Kotlin用于Android…

Python 使用pipreqs命令生成 `requirements.txt`报错

Python 使用pipreqs命令生成 requirements.txt报错:Fatal error in launcher: Unable to create process using ‘“E:\Anaconda\python.exe” “D:\Anaconda\Scripts\pipreqs.exe” ./ --encodingutf-8’: ??? 问题描述—Python 使用pipreqs命令生成 requireme…

47.对齐网格项目和轨道

首先我们先将模块1关闭,模块2使用CSS网格 display: none;.container--2 {/* STARTER */font-family: sans-serif;background-color: black;font-size: 40px;margin: 100px;width: 1000px;height: 600px;/* CSS GRID */display: grid;}然后我们常间一个三列两行的网…