博客
关于我
Unity MegaFiers 顶点动画
阅读量:178 次
发布时间:2019-02-27

本文共 1861 字,大约阅读时间需要 6 分钟。

    
使用 MegaFiers 插件,可以使得Unity支持顶点动画的播放。
官方视频教程如下:

在这里简单测试使用下,环境如下:
  • Blender 2.72
  • Unity 4.5.4
  • MegaFiers 

创建物体和动画

首先打开Blender,默认会含有一个立方体,下面对这个立方体制作一个简单动画,让其在1~100帧做旋转,101~250帧做缩放,制作方法可参考教程【 】。
  1. 确认立方体处于桔黄色外框包围的“被选中”状态;
  2. 用鼠标把绿色的当前帧指示线拖到第1帧;
  3. 在“用户视图”中按下键盘 I 键,执行插入关键帧命令;
  4. 在弹出的菜单中选择第二项“旋转”;
  5. 用鼠标把绿色的当前帧指示线拖到第100帧(可以看到刚才第1帧附近多了一条黄色的竖线);
  6. 在“用户视图”中按下键盘 R 键,执行旋转命令,出现了一条虚线连接着变成双箭头的鼠标;
  7. 紧接着按下键盘 Z 键,出现一条垂直竖线,限定立方体只能沿着Z轴旋转;
  8. 紧接着键盘输入 180 回车,完成了把Cube立方体沿着Z轴旋转180度的操作;
  9. 在“用户视图”中下键盘 I 键,再次执行插入关键帧命令;
  10. 在弹出的菜单中仍是选择“旋转”;
  11. 可以看到刚才第100帧附近也多了一条黄色的竖线;
  12. 现在用鼠标左键点击并按着屏幕下方的播放键(或者按下键盘的 Alt+A);
  13. 可以看到立方体旋转,整个动画从第1帧到第100帧完成,往后的动画则是继续保持最后的状态不变;
  14. 接着按上面的类似步骤,完成第101帧到第250帧的缩放动画,插入关键帧菜单选择“缩放比例”,执行的缩放命令为SZ3;
  15. 保存为“cube.blend”文件;
  16. 导出为.mdd文件(需要先在“用户设置...”→“导入-导出”里勾选mdd格式)。
动画完成如下类似:

导入物体和动画

接着要在Unity中实现顶点动画,打开Unity,装上
MegaFiers插件,新建一个场景,将
cube.blend
”文件放入Assets文件夹中。然后将导入完成的cube预制拖动到场景中,效果如下所示:
通过菜单“Component”→“Modifiers”→“
Point Cache”来添加顶点缓存组件。
(这些参数的描述可参见官网【 】)
点击“
Import MDD”导入刚才的mdd文件,导入完成会自动设置动画的循环时间“
Loop Time”。接着更改循环模式“
Loop Mode”为“
Loop”,混合模式“
Blend Mode”为“
Replace”,拖动“
Time”的值,即可在编辑器模式下观看此时的动画帧,如下图所示:
最后勾选“
Animated”,运行游戏,即可自动播放动画,效果如下图所示:

控制动画播放

接下来控制播放指定的动画片段,让其默认一直播放旋转动画,按钮点击控制播放缩放动画。选中立方体物体,
通过菜单“Component”→“Modifiers”→“Point Cache Animator”来添加顶点缓存动画组件。
(这些参数的描述可参见官网【
】)
点击“Add Clip”,添加2个剪辑,分别为RotationScale,帧数分别为0~99100~249,速度都是1,循环方式为Loop,如下图所示:
现在运行游戏,可以发现立方体一直在做旋转动画。新建一个脚本挂在立方体上面,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using UnityEngine;
using System.Collections;
public 
class test : MonoBehaviour {
    
public MegaPointCacheAnimator anim;
    
    
void OnGUI()
    {
        
if (GUI.Button(
new Rect(Screen.width - 
50
0
50
50), 
"缩放"))
        {
            
if (anim == 
null)
            {
                anim = GetComponent<MegaPointCacheAnimator>();
            }
            anim.PlayClip(
"Scale");
        }
    }
}
点击按钮,可以切换到播放缩放动画。效果如下图所示:
备注:
第一次尝试使用此插件,可能存在使用错误或者不当等等,还请指出,以免误导。
参考资料:
1.第 1.1.6 节 牛刀小试简单动画 (try-Anim) 
2.官网 Point Cache 介绍 
3.官网 Point Cache Animator 介绍 
你可能感兴趣的文章
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 深度分页性能急剧下降,该如何优化?
查看>>
MySQL 添加列,修改列,删除列
查看>>
mysql 添加索引
查看>>
MySQL 添加索引,删除索引及其用法
查看>>
mysql 状态检查,备份,修复
查看>>
MySQL 用 limit 为什么会影响性能?
查看>>
MySQL 用 limit 为什么会影响性能?有什么优化方案?
查看>>
MySQL 用户权限管理:授权、撤销、密码更新和用户删除(图文解析)
查看>>
mysql 用户管理和权限设置
查看>>
MySQL 的 varchar 水真的太深了!
查看>>
mysql 的GROUP_CONCAT函数的使用(group_by 如何显示分组之前的数据)
查看>>
MySQL 的instr函数
查看>>
MySQL 的mysql_secure_installation安全脚本执行过程介绍
查看>>
MySQL 的Rename Table语句
查看>>
MySQL 的全局锁、表锁和行锁
查看>>
mysql 的存储引擎介绍
查看>>
MySQL 的存储引擎有哪些?为什么常用InnoDB?
查看>>
Mysql 知识回顾总结-索引
查看>>
Mysql 笔记
查看>>