分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

使用 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 CacheAnimator】)
点击“Add Clip”,添加2个剪辑,分别为Rotation和Scale,帧数分别为0~99和100~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) http://wiki.ubuntu.org.cn/index.php?title=Blender2.5x-2.6%E5%AE%8C%E5%85%A8%E6%95%99%E7%A8%8B_1.1.6&variant=zh-cn
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

给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

Unity MegaFiers 顶点动画相关推荐

  1. 3dmax顶点动画导入unity_Mesh Vertex Animation In Unity | Unity中顶点动画

    最后的效果,左为顶点shader,右为蒙皮 10根骨骼 有些远景动画.小动画,用骨骼蒙皮来做太费了.一个好的办法是用顶点动画.比如在顽皮狗GDC的分享Technical Art Techniques ...

  2. Unity Shader 顶点动画 广告牌

    另一种常见的顶点动画就是广告牌技术(Billboarding).广告牌技术会根据视角方向来旋转一个被纹理着色的多边形(通常就是简单的四边形,这个多边形就是广告牌),使得多边形看起来好像总是面对这摄影机 ...

  3. Unity Shader - 顶点动画 - Sin 模拟简单的波浪

    创建一个shader,贴下下面code 创建一个material,设置Shader:Custom/Wave 纹理百度随便下载一个水贴图,设置到meterial中的Tex,(不设置也可以,默认white ...

  4. ui unity 图片高亮_程序化生成UI模型与顶点动画

    顶点动画一般指通过顶点着色器对模型每个顶点独立运动的方法.在游戏中遇到碎片爆破或者聚合一类的.涉及到大量同类物体在有序和无序之间切换的特殊效果,就非常适合将所有物体顶点每帧位移和形变的迭代交付给GPU ...

  5. Unity Shaders and Effects Cookbook (7-2) Surface Shader 中实现 顶点动画

    上一节中说了,在 Surface Shader 中,添加顶点函数,我们可以在 顶点函数中获取到 顶点数据,比如顶点颜色.顶点坐标等. 这一节学习获取顶点坐标,并且修改顶点坐标,来实现顶点动画. 简单介 ...

  6. Unity shader入门精要学习笔记-代码篇6(序列帧动画/滚动背景/流动河流/广告牌/顶点动画的阴影)

    一.序列帧动画 建立一个四边形对着摄像机. 我们需要一张序列帧图像,这里用到8x8的爆炸图. 给四边形上材质和shader,代码如下: Shader "Custom/NewSurfaceSh ...

  7. 日落20181218001 - Unity插件应用之ShaderForge制作顶点动画

    环境 系统:Windows 10 引擎:Unity 2017.2.1f1 工具:Shader Forge 1.38 目的 使用Shader Forge制作顶点动画的实例. (1)场景布局如下. (1- ...

  8. 入门顶点动画纹理的实例化绘制

    这是第30篇与游戏开发有关的文章. | 写在最前 网上有多种通过GPU实现骨骼动画的实例化绘制方法,本文介绍的是其中的一种:将顶点信息逐帧写入纹理后,在顶点着色器中通过读取动画纹理,提取顶点位置并变换 ...

  9. UnityShader23:顶点动画

    前置:UnityShader22:序列帧动画 一.顶点动画 如果说序列帧动画(uv 动画)是通过改变 uv 坐标来实现的,那么顶点动画就是通过改变 Mesh 每个顶点的位置,直接让这个物体" ...

最新文章

  1. 解决多线程安全问题-无非两个方法synchronized和lock 具体原理以及如何 获取锁AQS算法 (百度-美团)
  2. AI理论知识基础(21)-对变化建模-用差分方程-动力系统及常数解
  3. 爬虫笔记12完结篇实例:股票
  4. Redis功能强大,那也顶不住被滥用啊!
  5. SAP Fiori Elements list report filter - implemented by framework
  6. 【动画技巧】在Flash中自定义鼠标外观
  7. leetcode 515. 在每个树行中找最大值(层序遍历06)
  8. 如何在虚拟机上安装wsus服务器,如何在Hyper-V虚拟机上安装WSUS服务器技巧
  9. android studio有错误,清单合并失败,Android Studio中出现多个错误
  10. java基础-java语言中的关键字总结
  11. 造车梦又要“窒息”了?贾跃亭被美国认定骗局,收到退市警告!FF回应了......
  12. 程序员创业其实相比其他行业也有一些优势
  13. error: ac_nonexistent.h: No such file or directory
  14. SPSS新手教程—两步聚类之结果解读
  15. uchome 2.0 存在持久XSS漏洞
  16. jquery - How can I recurse up a DOM tree? - Stack Overflow
  17. 广告的术语和简称大全
  18. Cython简单demo
  19. [计算几何] [BZOJ4246] 两个人的星座
  20. 如何使用windos远程桌面连接

热门文章

  1. Mac系统上安装Composer
  2. Spring JDBC 示例
  3. localstorage本地缓存
  4. php dir变量,[PHP] sys_get_temp_dir()和tempnam()函数报错与环境变量的配置问题
  5. Mac Nginx 配置 Tomcat 配置 jdk环境变量 Nginx部署服务遇到的坑(1)
  6. C#开发笔记之03-为什么选择IsNotXXX方法而不是IsXXX方法?
  7. java-rpc框架
  8. javascript 图表_我如何使用JavaScript数据透视表和图表库分析开发人员趋势
  9. mysql 不显示消息错误_如何编写不吸的错误消息
  10. 亚马逊云服务开通指南_亚马逊弹性容器服务初学者指南