Unity MegaFiers 顶点动画

     使用 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”,运行游戏,即可自动播放动画,效果如下图所示:

控制动画播放

接下来控制播放指定的动画片段,让其默认一直播放旋转动画,按钮点击控制播放缩放动画。选中立方体物体, 通过菜单“Component”→“Modifiers”→“Point Cache Animator”来添加顶点缓存动画组件。
(这些参数的描述可参见官网【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 -  5005050),  "缩放"))
        {
             if (anim ==  null)
            {
                anim = GetComponent<MegaPointCacheAnimator>();
            }
            anim.PlayClip( "Scale");
        }
    }
}
点击按钮,可以切换到播放缩放动画。效果如下图所示:


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

参考资料:
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
  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
这是Unity 2019以后非常受欢迎的MegaFiers资产的全新版本。它具有完全重写核心系统的功能,以利用Unity Burst和Jobs,所有变形的CPU使用量减少5至40倍。 MegaFiers是完整的网格变形,动画和变形系统,包括超过50个修改器,例如弯曲,扭曲,FFD,位移,锥度等等。它们可以以任何组合堆叠,并且可以将任意数量的修改器应用于网格以实现复杂的结果。无论您的想象力如何,物体都可以拉伸,挤压或弯曲变形。或者,当对象在空间中移动时,使用空间扭曲使其自动变形。该套件的其他新增功能包括Point Cache动画支持,动态水波纹和浮动对象系统。 所有变形都可以在编辑器模式和播放模式下工作,因此在构建场景时,可以使用变形器为模型添加多样性。 MegaFiers还是变形TextMeshPro对象(Mesh和现在的UI版本)的理想选择,因此您可以用有趣的方式对文本进行动画处理。并且还可以与ProBuilder一起使用,使您可以直接在Unity中创建更多有趣的关卡。一个新功能是可以使用修改器使Sprite变形。 另一个强大的功能是我们的“网格包裹”系统,该系统允许一个网格被另一个变形和设置动画,使其非常适合服装等。该包裹系统还可以与Unity Blendshapes和蒙皮网格一起使用。 MegaWrap也已被重写为使用Jobs and Burst的速度提高了5倍以上。 MegaFiers用C#编写,并且包含所有源代码,并支持所有同时支持Burst和Jobs的Unity平台。从2019年起兼容所有版本的Unity,并且可以在IOS和Android以及VR和AR平台上使用。 MegaFiers还与所有Unity Rendering管道完全兼容。我们还将为Unity的所有新发行版不断更新资产。如果您有关于修改器的想法,请让我们知道或编写。 还包括先进的花键系统,该系统还允许路径跟随或将花键转换为网格,动态软管系统和用于履带车辆的系统。 新功能包括: 组变形 充分利用所有核心系统 修改器现在可以使用“连发”和“作业”,最多可以加速40倍 所有全新的使用Burst的法线计算系统 自动禁用修饰符以提高性能 编辑器响应更快 与Prefab系统无缝集成 复制对象就可以了 完整的动画窗口支持 完全还原系统 与所有渲染管线兼容 与精灵一起使用 适用于Text Mesh Pro网格 与ProBuilder对象一起使用 适用于AR和VR 改进的添加/删除/编辑修饰符的工作流程 全新的演示场景包含MegaLiner火箭飞船 包含的修饰符 吸引者贝塞尔 弯曲 气泡 凸 碰撞变形 符合 符合多 弄皱 曲线变形 曲线造型 曲线雕刻层 圆柱化 可变形 置换 位移限制 取代RT 取代网路摄影机 动态纹波 FFD 2x2x2 FFD 3x3x3 FFD 4x4x4 精灵的2D FFD修改器 地球 变形 驼峰 熔化 噪音 翻页 画 路径变形 枢轴调整 点缓存 推 径向偏斜 放松 波纹 卷起 绳变形 橡胶 规模 选择修饰符 简单测试 窦曲线 球形化 挤 拉紧 锥度 树弯曲 捻 紫外线改性剂 顶点动画 垂直噪声 扭曲(大多数修改器的扭曲版本) 海浪 挥手 世界路径变形 随附空间扭曲 弯曲 气泡 FFD 2x2x2 FFD 3x3x3 FFD 4x4x4 地球 驼峰 熔化 噪音 波纹 窦曲线 斯库 球形化 挤 拉紧 锥度 捻 海浪 挥手 Zstretch 其他功能包括 MegaShapes Lite,完整的贝塞尔曲线样条和网格划分系统 KML,SVG,OSM样条导入 Maya,Max和Blender的自定义样条线导出器 动画样条线 样条线到网格选项 将对象附加到变形网格系统 包裹网眼,非常适合衣物 动画书 纸卷轴系统 贝塞尔曲线图像变形 样条路径跟随系统 动态软管系统 履带车辆系统 火车追踪系统 导出到OBJ文件 将刚体约束到样条路径 包括沿路径行驶的RigidBody汽车的示例 角色控制器遵循样条线示例 样条API
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值