Unity之Avatar原理
今天花了一些时间理了理Unity的动画系统。
之前给不同模型配动画时没怎么在意,只知道用Avatar可以让一个模型使用另一个模型的动画。由于用的基本上都是人物模型,基本上没出现什么错误。
不过在用到异类模型,比如长颈鹿、长尾猴、鸟等等,这就比较容易出现错误了。这时候就要搞清楚Avatar的原理了。
下面是一些测试:
1.给同一个猴子模型绑2套不一样的骨骼,一种有尾巴骨,一种没有,然后分别key动画。再导入到Unity中,前者用后者的动画,后者用前者的动画。结果是,除了尾部外,都正常播放动画。
2.给同一个猴子模型绑2套不一样的骨骼,一种有3节脊椎骨,一种4节节脊椎骨,然后分别key动画。再导入到Unity中,前者用后者的动画,后者用前者的动画。结果是,手臂处的动画出错。
结论:Avatar是通过将一个模型的骨骼信息与另一个模型的骨骼信息,从根骨骼开始一一匹配。
同时,测试过程中遇到过一个问题,那就是相对应的骨骼的名称必须一样,否则骨骼信息无法传递。
了解了Avatar的原理,关于动画的一些知识也很容易理解了。比方说布娃娃系统,让肢体骨骼成为控制者,给其重力和自主权,让模型呈现木偶的效果。
Unity之Avatar原理的更多相关文章
- UMA - Unity Multipurpose Avatar
UMA - Unity Multipurpose Avatar UMA version 1.0.1.0R Unity 4.3 What is UMA? UMA - Unity Multipurpose ...
- Unity脚本引用原理,修复Unity脚本引用丢失,源码脚本与dll中的脚本引用互换 .
http://blog.csdn.net/gz_huangzl/article/details/52486509 前言 在我们开发游戏的过程中,经常会碰到脚本引用丢失的情况,但是怎么把它们修复到我们的 ...
- unity静态批处理原理理解
今天主程给我好好讲了一下静态批处理的问题,记下来的笔记心得~ 1.静态批处理的时间点 1)在游戏导出的时候,在player setting中勾选static batching,这样在导出包的时候就进行 ...
- Unity中Avatar换装实现
http://www.cnblogs.com/herenzhiming/articles/6533162.html
- 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 ...
- Unity入门知识
参考书:<Unity3D 游戏开发> ● scene图中按F键:放大,居中当前选中的物体 ● 坐标轴:红-x轴,绿-y轴,蓝-z轴 ● 逐帧运行程序: ● OnGUI:可以用来画界面 ● ...
- Unity Shader-后处理:简单的颜色调整(亮度,饱和度,对比度)
好久没坚持写blog了,是时候开始撸一波新博文了!学习Unity有一段时间了,关于Shader的书也看了几本<Unity Shader入门精要>,<Unity 3D ShaderLa ...
- Unity 与Mono和.Net的关系
一.分析 首先,我们要知道Unity,Mono,.Net 三者的关系.需要简单说一下.Net. .Net拥有跨语言,跨平台性. 跨语言:就是只要是面向.Net平台的编程语言,用其中一种语言编写的类型就 ...
- 一些unity资源
雨凇解包 http://www.xuanyusong.com/archives/3618 http://www.cnblogs.com/lixiang-share/p/5840444.html u3d ...
随机推荐
- sql脚本的格式
创建表前先判断是否存在 IF OBJECT_ID(N'TableDataDictionary') IS NULL 存储过程头:--=================================== ...
- ios 设置label的高度随着内容的变化而变化
好吧 步骤1:创建label _GeRenJianJie = [[UILabel alloc]init]; 步骤2:设置label _GeRenJianJie.textColor = RGBAColo ...
- C++ 不使用virtual实现多态
不使用virtual实现多态可以用成员函数指针完成. 成员函数指针形式:返回类型(A::*指针名)(形参表) 其中A是类类型,即这个指针是指向A类的成员函数的函数指针 例如:int(A::*P)(in ...
- JavaScript Invalid Date Verify
if ( Object.prototype.toString.call(d) === "[object Date]" ) { // it is a date if ( isNaN( ...
- Codevs 1082 线段树练习 3
1082 线段树练习 3 时间限制: 3 s 空间限制: 128000 KB 题目等级 : 大师 Maste 传送门 题目描述 Description 给你N个数,有两种操作: 1:给区间[a,b]的 ...
- 【原创】史上最全的Android开发环境搭建
开始学习Android了 看着眼花缭乱的教程真心无奈...So 无耻的来了个大综合 自己充当了小白鼠.. (PS 若文章中链接失效 请留言反馈me会尽快修复) 开始的开始 java运行环境还是很必要 ...
- 对象序列化XML
/// <summary>/// 对象序列化XML/// </summary>/// <param name="type">类型</par ...
- jQuery源码整体结构(源码2.0.3)
拨开jQuery的面纱,最近了解了下jQuery源码整体框架.主要包括: (1) jQuery 核心模块 (2) sizzle 选择器引擎 (3) Deferred 异步队列 (4) Supp ...
- 在本地Apache服务器配置虚拟主机站点
Apache 配置localhost虚拟主机步骤1,打开apache目录下httpd.conf文件,找到如下模块 # Virtual hosts #Include conf ...
- JavaScript学习总结【1】、初识JS
1.什么是 JavaScript? JavaScript 是一门跨平台.面向对象的动态的弱类型的轻量级解释型语言,是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言.应用于 HTML 文档能够在 ...