3DMAX 10 角色动作
基本流程
1保存初始姿势(保存原始T动作)
2确定动画帧数时间
3找参考动作姿态,绘制关键帧草图
4先调整出初始姿势,如果是循环动画,需要把第一帧复制到最后一帧
5大体先想好在固定时间比例调草图的关键帧,全部关键帧做好后,看整体效果,看关键帧位置是否合适
6使用tcb,曲线编辑器等调整动作速度
7保存当前动作,准备开始下个动画
快捷键
设置自定义动画相关快捷键:
菜单栏-Customize->Customize User Interface
自动关键帧: N
选中一个父骨骼下的全部骨骼: 先选中父骨骼,然后再单击父骨骼
拖动时间轴: ctrl+alt+鼠标左(往负轴扩展),ctrl+alt+鼠标右(往正轴扩展) ,ctrl+alt+中键:移动当前显示的帧范围
这个作用是,比如一共设置了100帧,时间轴只显示了60帧,拖动时间轴可以直接看到前面或者后面
如果不使用这个,想看全所有帧,就只能通过来设置
骨骼相关的运动面板说明
Biped
主要使用形体模式,形体开启时用于蒙皮对位骨骼,做动画时要关闭形体开关
Track Selection
主要用于控制根骨骼运动,,锁按下后,可以多选前三项
Copy/Paste
:,姿态Posture用来处理单根多根骨骼的复制黏贴,姿势Pose是全身骨骼的复制黏贴
,需要注意,全身复制如果涉及到盆骨,要注意上图中ByVelocity要选中,否则不生效
KeyInfo
1是粘性关键帧,一般用来固定(脚),
2是滑动,跟1有点类似,比1多一些功能以后补充,
3自由关键帧,如果之前设置了粘性和滑动,那么在新的一帧里可以用这个自由关键帧取消之前的粘性和滑动
4用来显示(骨骼)运动轨迹
tcb控制器说明
http://blog.csdn.net/onafioo/article/details/78742081
Layer
举例说明作用,腿做了3帧,1帧10度,2帧20度,第3帧30度,那么现在想把这3帧同时增加30度变为,40,50,60,这时可以用到层,操作如下
选到第一帧的位置,点击1创建层,然后把1帧的腿抬到40度,点击塌陷
这时发现第2帧,第3帧,自动变为50 ,60
初始姿态
调整动画时不应该改变原始模型姿态,一般是T型姿态,这样每次调整新动作都可以从T型开始,这就涉及到怎么保存原始姿态
不打开自动关键帧时的姿态恢复
首先,建模后一般就是T型初始姿态,蒙皮骨骼对位时会选中,否则调整骨骼不会生效,
而调整动画时这个选项是关掉的(如果开着也打不上关键帧)
所以蒙皮后关闭这个Figure Modle姿态就被锁定了
如果随意调整了模型骨骼位置,重新打开,再关闭,就会恢复原始姿态
但是,如果是在打开自动帧时调整了骨骼动作,那么无论是否关闭自动关键帧,再使用上面的方法就失效了。
所以上面方式适用于不打开关键帧时的情况
打开自动关键帧调姿态时动作恢复
网上查到冻结变换的方法貌似都是谣言
对全部骨骼alt+右键,然后选frozen Transfom,然后3dmax就会崩溃
实验证明,冻结变换只对模型有效,可以恢复模型位置,但是貌似恢复不了骨骼姿态,模型姿态
保存骨骼原始姿态的方法
注意流程,
首先选中蒙好皮的所有骨骼,创建新姿态集
,运动面板复制姿态
,这时姿态被放入Col01集合中,(也可以保存Col01到外部文件
)
需要恢复姿态时,就选中Col01,然后选择粘贴,姿态就恢复了。
特殊情况是无法回复的,暂时不动,调动画时,随意调整骨骼位置,然后关闭关键帧,恢复姿态,发现姿态时恢复了,但是整个角色会产生旋转和位移,暂时没找到恢复方法
目前可行的方法就是,保持原始蒙皮好的文件,做动作时copy一份,不更改这个原始姿态文件(简单有效)
在做动画时也可以先对原始姿态保存一帧,然后随时复制用
保存动作
每次用原始模型调一次动作就保存一个max文件,一个动作对应一个max,方便下次重新调整某个动作
也可以保持bip动画文件
导出的fbx动作目前没找到恢复成bip的方法,貌似需要转换,暂时用不到
一些动作相关常用技巧收集
骨骼选中技巧
1调动作需要调整骨骼,可以把骨骼显示为矩形轮廓(选中全部骨骼,然后勾选),隐藏模型只显示骨骼
,选择物体时只选中骨骼,避免选中模型
骨骼旋转角度技巧
2 骨骼角度调整,多用固定角度,方便在后面的帧里复位,具体方法,右键磁性工具,angle填写固定角度,然后再点击
,最后再对目标骨骼进行旋转
注意事项
导入引擎朝向问题
补充说明:
如果unity想保持max中原始根骨骼朝向,需要如下操作
这项默认不是Original,
不是original时unity认为角色的朝向是unity通过盆骨和胸骨的中间值算出来的,比如盆骨朝左转90度,胸骨向右转90度
那角色朝向就是0度方向
首尾帧中间无帧却存在变化的问题
问题背景:关于idle与其他动作的衔接,可以保留idle的初始pose放到其他动作的+-3帧的位置,用来看动作衔接是否流畅,动作做完再把这三帧删除
问题描述:-3初始idle_pose 48帧复制idle_pose,0帧run初始动作,45帧run复制动作,在0-45之间动作会有变化
问题原因:如果不在头尾加idle_pose,结果是正常的,加了以后,复制0帧到45帧,打开曲线编辑器可以看到
在两帧之间3dmax默认有个平滑处理
问题解决:
分别右键两个帧,调整这条曲线为直线,这样就能保证这两个相同的帧之间没有多余动作
移动根骨骼注意事项
如果动作中要操作根骨格,要打开下面几个按钮,否则无法k根骨骼的帧
武器等非cs骨骼导入unity注意事项
3DMAX 10 角色动作的更多相关文章
- 3DMAX 7 角色建模1 人头建模
说明: mesh与poly 可编辑多边形是一个多边形网格:即与可编辑网格不同,其使用超过三面的多边形.可编辑多边形非常有用,因为它们可以避免看不到边缘.例如,如果您对可编辑多边形执行切割和切片操作,程 ...
- 3DMAX 4角色蒙皮
1 角色建模 略,以后补充 2 骨骼绑定 一般不用骨骼直接拉,Biped足够,以后适当补充骨骼直接拉的操作 1 将Biped骨骼和模型对齐 1 创建biped之后,第一步一要先选择,然后再对位骨骼到模 ...
- ASP.NET MVC +EasyUI 权限设计(四)角色动作
请注明转载地址:http://www.cnblogs.com/arhat 由于最近的事情比较多,一直忙于工作和照顾老婆,所以老魏更新的速度慢了,本来写文章就要占据工作和生活很多的时间,这也就是院子中很 ...
- 3DMAX 9 角色建模3 uv展开
将角色删除一半,展好uv再镜像出来,节省一半工作量(前提是对称) 添加UVW展开编辑器(Unwrap UVW),选择面 打开UV编辑器 这里要注意映射问题,默认打开UV编辑器后所选择的面是映射到与选择 ...
- 3DMAX 8 角色建模2 身体
身体 20 25 60 分段 3 2 3 位置直接设置到-12.5 0 0,删除内部面,实例镜像出另一半x偏移25 1 身体大体形状 ,,,, 2 背阔肌 , 3腹肌 4 臀部 ,, 5 肩部 调整点 ...
- Asp.Net MVC+BootStrap+EF6.0实现简单的用户角色权限管理10
今天把用户的菜单显示和页面的按钮显示都做好了,下面先来个效果图 接下来说下我实现的方法: 首先我在每个方法前面都加了这个属性, /// <summary> /// 表示当前Action请求 ...
- 【Unity】10.4 类人动画角色的控制
分类:Unity.C#.VS2015 创建日期:2016-05-02 一.简介 导入角色网格和动画及设置 Avatar 之后,就可以准备开始在游戏中使用它们了.以下部分涵盖 Mecanim 提供的.用 ...
- 3dmax学习资料记录
max2015 官方文档 http://help.autodesk.com/view/3DSMAX/2015/CHS/?guid=GUID-D015E335-EFB3-43BF-AB27-C3CB09 ...
- Ubuntu 14.10 下sed命令详解
简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的 ...
随机推荐
- react-navigation遇到的坑
关于goBack返回指定页面 react-navigation是提供了goBack()到指定页面的方法的,那就是在goBack()中添加一个参数,但当你使用goBack('Main')的时候,你会发现 ...
- StreamWriter结合UTF-8编码使用不当,会造成BOM(Byte Order Mark )问题生成乱码(转载)
问: I was using HttpWebRequest to try a rest api in ASP.NET Core MVC.Here is my HttpWebRequest client ...
- LeetCode:矩形区域【223】
LeetCode:矩形区域[223] 题目描述 在二维平面上计算出两个由直线构成的矩形重叠后形成的总面积. 每个矩形由其左下顶点和右上顶点坐标表示,如图所示. 示例: 输入: -3, 0, 3, 4, ...
- 基于ajax和Form实现的注册
注册 urls.py from django.contrib import admin from django.urls import path, re_path from app01 import ...
- 【Leetcode-easy】Remove Element
思路:遍历数组,count保存下一个元素的位置,如果不与该元素相同,那么将该数保存在count位置,并且count++,否则,继续遍历. public int removeElement(int[] ...
- java开发环境搭建-1
安卓开发所需软件: JDK Eclipse Android-Sdk ADT 其中jdk的下载和安装,详细见http://www.cnblogs.com/zhuxiaohui/p/3620685.htm ...
- 通道(Channel)的原理获取
通道表示打开到 IO 设备(例如:文件.套接字)的连接.若需要使用 NIO 系统,需要获取用于连接 IO 设备的通道以及用于容纳数据的缓冲区.然后操作缓冲区,对数据进行处理.Channel 负责传输, ...
- 7.8 LZW压缩的实现
7-10 lzw.c #include <stdlib.h> #include <stdio.h> #define BITS 12 //每个数据项的二进制位数 #define ...
- jquery.dataTables.min.js: Uncaught TypeError: Cannot read property 'style' of undefined
原因:datatable表格内容有操作列,而表头没有定义操作列 少写了一行:<th>操作</th>
- MysqL的root用户不允许远程连接,只能通过PHPMYADMIN
解决方法:1.改表法 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 &q ...