今天花了一些时间理了理Unity的动画系统。

  之前给不同模型配动画时没怎么在意,只知道用Avatar可以让一个模型使用另一个模型的动画。由于用的基本上都是人物模型,基本上没出现什么错误。

  不过在用到异类模型,比如长颈鹿、长尾猴、鸟等等,这就比较容易出现错误了。这时候就要搞清楚Avatar的原理了。

  下面是一些测试:

  1.给同一个猴子模型绑2套不一样的骨骼,一种有尾巴骨,一种没有,然后分别key动画。再导入到Unity中,前者用后者的动画,后者用前者的动画。结果是,除了尾部外,都正常播放动画。

  2.给同一个猴子模型绑2套不一样的骨骼,一种有3节脊椎骨,一种4节节脊椎骨,然后分别key动画。再导入到Unity中,前者用后者的动画,后者用前者的动画。结果是,手臂处的动画出错。

  结论:Avatar是通过将一个模型的骨骼信息与另一个模型的骨骼信息,从根骨骼开始一一匹配。

  同时,测试过程中遇到过一个问题,那就是相对应的骨骼的名称必须一样,否则骨骼信息无法传递。

  了解了Avatar的原理,关于动画的一些知识也很容易理解了。比方说布娃娃系统,让肢体骨骼成为控制者,给其重力和自主权,让模型呈现木偶的效果。

Unity之Avatar原理的更多相关文章

  1. UMA - Unity Multipurpose Avatar

    UMA - Unity Multipurpose Avatar UMA version 1.0.1.0R Unity 4.3 What is UMA? UMA - Unity Multipurpose ...

  2. Unity脚本引用原理,修复Unity脚本引用丢失,源码脚本与dll中的脚本引用互换 .

    http://blog.csdn.net/gz_huangzl/article/details/52486509 前言 在我们开发游戏的过程中,经常会碰到脚本引用丢失的情况,但是怎么把它们修复到我们的 ...

  3. unity静态批处理原理理解

    今天主程给我好好讲了一下静态批处理的问题,记下来的笔记心得~ 1.静态批处理的时间点 1)在游戏导出的时候,在player setting中勾选static batching,这样在导出包的时候就进行 ...

  4. Unity中Avatar换装实现

    http://www.cnblogs.com/herenzhiming/articles/6533162.html

  5. a biped was detected but cannot be configured properly (Bipe导入Unity 无法正确识别)

    OP stated "I export the biped with 'animation' and 'bake animation' ticked and the correct fram ...

  6. Unity入门知识

    参考书:<Unity3D 游戏开发> ● scene图中按F键:放大,居中当前选中的物体 ● 坐标轴:红-x轴,绿-y轴,蓝-z轴 ● 逐帧运行程序: ● OnGUI:可以用来画界面 ● ...

  7. Unity Shader-后处理:简单的颜色调整(亮度,饱和度,对比度)

    好久没坚持写blog了,是时候开始撸一波新博文了!学习Unity有一段时间了,关于Shader的书也看了几本<Unity Shader入门精要>,<Unity 3D ShaderLa ...

  8. Unity 与Mono和.Net的关系

    一.分析 首先,我们要知道Unity,Mono,.Net 三者的关系.需要简单说一下.Net. .Net拥有跨语言,跨平台性. 跨语言:就是只要是面向.Net平台的编程语言,用其中一种语言编写的类型就 ...

  9. 一些unity资源

    雨凇解包 http://www.xuanyusong.com/archives/3618 http://www.cnblogs.com/lixiang-share/p/5840444.html u3d ...

随机推荐

  1. Android - 获取字符串长度的宽度

    Paint paint = new Paint(); float strWidth = paint.measureText(String);

  2. 本地tomcat的start.bat启动时访问不出现小猫图标

    排除端口错误.看看是不是webapps的root文件夹删除了,如果删除了,从tomcat的压缩包中解压一个root文件夹,房里面即可

  3. oracle数据库误删恢复方法

    一.如果只是误删部分数据或者某条数据可以通过 1.select * from 误删除的表明 as of timestamp to_Date('恢复年月日  时分秒', '恢复时间格式')       ...

  4. Apache虚拟目录

    Apache虚拟目录  1.打开Apache的配置文件httpd.conf,并去掉#Include conf/extra/httpd-vhosts.conf前面的#! 2.在httpd.conf 末尾 ...

  5. php 单引号与双引号区别

    一.单引号与双引号区别 1." "双引号里面的字段会经过编译器解释,然后再当作HTML代码输出. 2.' '单引号里面的不进行解释,直接输出. 从字面意思上就可以看出,单引号比双引 ...

  6. [学习笔记]设计模式之Command

    为方便读者,本文已添加至索引: 设计模式 学习笔记索引 写在前面 在上篇Chain of Responsibility(职责链)模式笔记中,我们学习了一种行为型设计模式.今天,我们继续这一主题,来学习 ...

  7. ARM开发板系统移植-----kernel的编译

    前面一篇文章http://www.cnblogs.com/linzizhang/p/4817336.html介绍了开发板上系统软件的第一部分--bootloader的编译方法. 背景:把bootloa ...

  8. [Linux]命令root与other切换

    切换至root:sudo -i切换至other:su 用户名 

  9. 开启/关闭ubuntu防火墙

    LInux原始的防火墙工具iptables由于过于繁琐,所以ubuntu系统默认提供了一个基于iptable之上的防火墙工具ufw.而UFW支持图形界面操作,只需在命令行运行ufw命令即能看到一系列的 ...

  10. 哈希表(hashtable)的javascript简单实现

    javascript中没有像c#,java那样的哈希表(hashtable)的实现.在js中,object属性的实现就是hash表,因此只要在object上封装点方法,简单的使用obejct管理属性的 ...