使用 MegaFiers 插件,能够使得Unity支持顶点动画的播放。

官方视频教程例如以下:


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

创建物体和动画

首先打开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”来加入顶点缓存组件。
(这些參数的描写叙述可參见官网【Point
Cache
】)
点击“Import MDD”导入刚才的mdd文件,导入完毕会自己主动设置动画的循环时间“Loop Time”。接着更改循环模式“Loop Mode”为“Loop”,混合模式“Blend
Mode”为“Replace”,拖动“Time”的值,就可以在编辑器模式下观看此时的动画帧,例如以下图所看到的:


最后勾选“Animated”,执行游戏,就可以自己主动播放动画,效果例如以下图所看到的:


控制动画播放

接下来控制播放指定的动画片段,让其默认一直播放旋转动画,button点击控制播放缩放动画。选中立方体物体,通过菜单“Component”→“Modifiers”→“Point Cache Animator”来加入顶点缓存动画组件。
(这些參数的描写叙述可參见官网【Point
Cache
Animator】)
点击“,循环方式为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 (anim == null)

            {

                anim = GetComponent<MegaPointCacheAnimator>();

            }

            anim.PlayClip("Scale");

        }

    }

}
点击button,能够切换到播放缩放动画。效果例如以下图所看到的:



备注:
第一次尝试使用此插件,可能存在使用错误或者不当等等,还请指出,以免误导。

參考资料:
2.官网 Point Cache 介绍 http://www.west-racing.com/mf/?page_id=1335
3.官网 Point Cache Animator 介绍 http://www.west-racing.com/mf/?page_id=1802

Unity MegaFiers 顶点动画的更多相关文章

  1. Unity插件 - MeshEditor(五) 网格顶点动画(变形动画)

    源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 网格顶点动画(变形动画)是针对于物体的形状可以随意变换并记录为关键帧的动画,虽然模型的顶点数据还是应该交给GPU绘 ...

  2. unity 对Animator动画系统的研究

    unity的新动画系统叫Mecanim,使用Animator来取代旧系统Animation,按Unity文档的惯例:知识点主要分2部分:unity manual和unity script,读者可以边看 ...

  3. 关于Unity中Mecanim动画的动画状态代码控制与代码生成动画控制器

    对于多量的.复杂的.有规律的控制器使用代码生成 动画状态代码控制 1:每个动画状态,比如进入状态,离开状态, 等都有可能需要代码来参与和处理,比如,进入这个动画单元后做哪些事情,来开这个动画单元后做哪 ...

  4. Unity Shader序列帧动画学习笔记

    Unity Shader序列帧动画学习笔记 关于无限播放序列帧动画的一点问题 在学shader的序列帧动画时,书上写了这样一段代码: fixed4 frag(v2f i){ // 获得整数时间 flo ...

  5. unity代码添加动画,并传参数

    测试界面 button一个 sprite一个 测试代码 public class BgObject : MonoBehaviour { void Start() { List<string> ...

  6. unity shader序列帧动画代码,顺便吐槽一下unity shader系统

    一.看到UNITY论坛里有些人求unity shader序列帧动画,写shader我擅长啊,就顺势写了个CG的shader.代码很简单,就是变换UV采样序列帧贴图,美术配置行数列数以及变换速度. Sh ...

  7. 基于ShaderX5的顶点动画

    关于顶点动画,ShaderX5里有篇专门来讲,在虚幻3引擎里也有一个更加丰富的实现.使用了一个Pivot Painter的3dmax脚本.其实自己灵活用vertex color可以避开使用Pivot ...

  8. unity中的动画制作方法

    Unity中的动画制作方法 1.DOTween DoTween在5.0版本中已经用到了,到官网下载好插件之后,然后通过在项目中导入头using DG.Tweening;即可. 一些常用的API函数 D ...

  9. 关于Unity中顶点片元Shader实例

    补充 float4 fixed4 _Time 1: float4是内置向量 (x, y, z, w); float4 a; 访问单独成员a.x, a.y, a.z, a.w;2: fixed4 是内置 ...

随机推荐

  1. 语法糖(Syntactic sugar)

    语法糖(Syntactic sugar),是由Peter J. Landin(和图灵一样的天才人物,是他最先发现了Lambda演算,由此而创立了函数式编程)创造的一个词语,它意指那些没有给计算机语言添 ...

  2. freemarker自己定义标签报错(三)

    freemarker自己定义标签 1.错误描写叙述 freemarker.core.ParseException: Encountered " " at line 14, colu ...

  3. Swift - 初始化方法返回nil表示初始化失败

    自Swift1.1开始,初始化init方法便有返回nil的能力.我们可以在init声明的时候在其后面加上一个 ? 或者 ! 来表示初始化失败时可能返回nil. 比如,给Int类添加一个将字符串初始化成 ...

  4. poj3278Catch That Cow(BFS)

    Catch That Cow Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 37094   Accepted: 11466 ...

  5. asp.net2.0安全性(1)--用户角色篇(类)--转载来自车老师

    Membership.MembershipUser和Roles类 用户与角色管理在asp.net2.0中是通过Membership和Roles两个类来实现的. Membership:用户成员账号管理, ...

  6. VC2008下使用OpenSSL 1.0.0g(免编译)

    OpenSSL整个软件包大概可以分成三个主要的功能部分:密码算法库.SSL协议库以及应用程序. 官网:http://www.openssl.org/OpenSSL for Windows:http:/ ...

  7. 在WPF使用FolderBrowserDialog和OpenFileDialog

    原文 在WPF使用FolderBrowserDialog和OpenFileDialog 相信习惯以前winform开发的朋友们都对FolderBrowserDialog和OpenFileDialog这 ...

  8. MFC模板CArray及其派生类

    CArray及其派生类 1. 简介:访问方法及效率和普通的数组一样,比普通数组强大的功能是可以改变数组的大小.Array采用队列方式存储数据,因而其内部数据元素是以物理方式顺序排列的,所以检索.顺序执 ...

  9. JSP的学习(6)——九大隐式对象及其out对象

    本篇将介绍JSP中的九大隐式对象,并重点介绍其中的out对象. 我们在之前的博客<JSP的学习(1)——基础知识与底层原理>一文中已经知道,JSP最终要被翻译和转换成Servlet,在转换 ...

  10. 【ASP.NET Web API教程】2.4 创建Web API的帮助页面

    原文:[ASP.NET Web API教程]2.4 创建Web API的帮助页面 注:本文是[ASP.NET Web API系列教程]的一部分,如果您是第一次看本博客文章,请先看前面的内容. 2.4 ...