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 ...
随机推荐
- iis7.5 应用程序池 经典模式和集成模式的区别
在 IIS 7.5 中,应用程序池有两种运行模式:集成模式和经典模式. 应用程序池模式会影响服务器处理托管代码请求的方式. 如果托管应用程序在采用集成模式的应用程序池中运行,服务器将使用 IIS 和 ...
- Java MD5校验
Java 生成MD5 MD5(Message Digest Algorithm),消息摘要算法,一般用于校验文件的完整性.Java内置已经实现了MD5,与SHA1算法,利用java.security. ...
- (九)Struts2 防重复提交
所有的学习我们必须先搭建好Struts2的环境(1.导入对应的jar包,2.web.xml,3.struts.xml) 第一节:重复提交示例演示 struts.xml <?xml version ...
- list集合练习一
package com.java.c.domain; public class Person { private String name; private int age; public Person ...
- 169. Majority Element(C++)
169. Majority Element Given an array of size n, find the majority element. The majority element is t ...
- LVS高可用集群
高可用LVS 集群构建 在LVS集群当中Director的作用是很关键的,所以我们在生产环境中要保证其高可用. 高可用架构图: 1.通过 piranha搭建LVS高可用性集群 piranha是REDH ...
- Android学习3—电话拨号器
本测试主要实现了一个Android的拨打电话的功能 一:界面预览 由图中可以看出,这个Activity需要3个控件:TextView.EditText.Button 其实实现一个功能要经过几个步骤: ...
- centos git gitolite安装笔记
export PATH=/home/git/bin:$PATH echo PATHgit branch 查看本地分支 git branch -a 查看远程分支 git fetch 获取远程分支 git ...
- muduo网络库学习笔记(10):定时器的实现
传统的Reactor通过控制select和poll的等待时间来实现定时,而现在在Linux中有了timerfd,我们可以用和处理IO事件相同的方式来处理定时,代码的一致性更好. 一.为什么选择time ...
- mysql的查询缓存模式介绍
mysql的查询缓存 查询是数据库技术中最常用的操作.查询操作的过程比较简单,首先从客户端发出查询的SQL语句,数据库服务端在接收到由客户端发来的 SQL语句后, 执行这条SQL语句,然后将查询到的结 ...