Skeletal Animation
[Skeletal Animation]
Skeletal animation is the use of “bones” to animate a model. The movement of bones themselves can cause changes to other bones.

Advantages:
1, It's very important to the pro-grammers, is that such animations take up less storage space. Instead of storing a new set of vertices for each frame, all that needs to be stored is the rotation and translation of the bone.
2. A good skeletal animation system will cut the time the artists need to animate their models.
3. it is possible to reposition them in real-time if you want, allowing needed animations to be created during runtime.
[Inner Workings of Skeletal Animation]
1. when you move a bone “farther up” in your arm, everything below it moves as well. This is one of the most basic concepts of skeletal animation.
2. The root joint is the ultimate joint in the model. Every other joint eventually finds its way back to this one joint. Any operations done on the root joint, whether they be translation or rotation, affect every vertex in the model. You can think of the root joint as the joint that controls all other joints.

3. A joint can have parent and child joints. The parent of a joint affects everything it does. The parent’s rotations and translations are all taken into account when computing the current joint’s new position.
4. Instead of each keyframe containing its own copy of the vertices, a skeletal animation keyframe or boneframe contains a transformation, both rotation and translation, generally in the form of an X,Y,Z value for translation, and three values containing rotation around the X,Y, and Z axes, respectively.
5. Relative Matrix & Absolute Matrix
[Attaching the Mesh]
1. Each mesh vertex stores an index into the joint array to signify that it is attached to a certain bone.

Each model contains just one set of texture coordinates and triangle information. Just because the positions of the vertices change does not mean the triangle indexes and texture coordinates have to. This means you don’t have to worry about them once you set them up.
Normals are another story. Because the orientation of the polygons and vertices change, so will the normals. If you are using just face normals, you need to recalculate them manually every frame before sending them to the renderer. However, if you calculated vertex normals at the beginning, you are in luck. Vertex normals do not have to be completely recalculated after transformation. They can be transformed by the same matrix as the vertices were. The only difference here is that you do not take in account translation.
Skeletal Animation的更多相关文章
- 2D Skeletal Animation Ready
骨骼动画 Cool 昨天研究了一天的2D骨骼动画,自己动手做了骨骼动画,感觉比用序列帧做动画方便多了,非常Cool ! 刚开始做骨骼动画用的是一整张图,做动画时在分配完权重之后,拉伸顶点上连接着的其它 ...
- Uni2D 入门 -- Skeletal Animation
转载 csdn http://blog.csdn.net/kakashi8841/article/details/17615195 Skeletal Animation Uni2D V2.0 引进了一 ...
- Unity 2D Skeletal Animation
本文记录在Unity中制作2D 骨骼动画的笔记 Unity版本:4.3 Uni2D 使用骨骼动画前,把Sprite Mesh 的Type 改为 Grid ,设置合适的骨骼数量和分配权重 1.选中创建好 ...
- Uni2D Unity4.3 2D Skeletal Animation
http://www.cnblogs.com/zhaoqingqing/p/3602253.html 中文教程:参照 kakashi的CSDN博客 http://blog.csdn.net/kakas ...
- OpenGL step by step 38 : Skeletal Animation with Assimp
一般骨架模型由两部分组成: Rigging(bone):相当于骨架,可以用来控制模型的动作 Mesh(skin):相当于表面皮肤 骨架模型一般是层级结构的,比如上面 背骨是root,他的孩子包括胳膊. ...
- 从Maya中把模型搬运至网页的过程
虽然利用threejs来在网页中渲染3d模型不是第一次折腾了,但是还是遇到了各种问题.总结下我所遇到的问题,希望能给正在使用threejs的小伙伴一个帮助. 一.所使用的软件与开发环境 Maya201 ...
- 从Unity引擎过度到Unreal4引擎(最终版)
原文地址:http://demo.netfoucs.com/u011707076/article/details/44036839 前言 寒假回家到现在已经有十多天了,这些天回家不是睡就是吃....哎 ...
- 【转】cocos2d-x 3x Sprite3D
Sprite3D Sprite3D works in many ways like a normal Sprite. Sprite3D is a three-dimensional model tha ...
- Axiom3D学习日记 0.Axiom基础知识
Axiom 3D Engine An open-source, cross-platform, managed 3D rendering engine for DirectX, XNA and Ope ...
随机推荐
- hdu 4856 Tunnels (bfs + 状压dp)
题目链接 The input contains mutiple testcases. Please process till EOF.For each testcase, the first line ...
- Python3 学习第十一弹: 模块学习四之sys库
sys模块 提供一些与python解释器关系紧密的变量和函数 1> argv 命令行参数 通过命令行可以向python传输参数 2> exit([arg]) 程序退出,可以返回给命令行一个 ...
- window.location.href 放置在单独的JS文件中使用时问题
场景:假设当前浏览器地址栏的地址是:http://localhost:8888/SSHBoot/tourist/homeMainAction_signInUI.do, 现在我想在点击按钮时定位到“ht ...
- 学会简单使用poi进行excel有关操作
直接上代码: 官网上的抄的api例子: package com.test; import java.io.File; import java.io.FileInputStream; import ja ...
- pandas.Panel数据
from pandas import Panel, DataFrame import numpy as np dd = {} for i in range(1, 3): name = 'X' + st ...
- Mac 上安装MySQL
http://blog.neten.de/posts/2014/01/27/install-mysql-using-homebrew/ http://www.wkii.org/mac-os-x-ins ...
- Apache Conf/Vost/xx.conf 文件配置
#监听8086端口Listen 8086 NameVirtualHost *:8086#保持绝对一致 <VirtualHost *:> ServerName localhost Serve ...
- 如何使用java中的对象
使用java中的对象,分2步: 1.创建一个对象: 2.使用对象的属性和方法. 见下面的示例代码: package com.imooc; //1.定义一个类 public class Telphone ...
- 带删除小图标的EditText
import android.content.Context; import android.graphics.Rect; import android.graphics.drawable.Drawa ...
- Mac OS10.9 下python开发环境(eclipse)以及自然语言包NLTK的安装与注意
折腾了大半天,终于把mbp上python自然语言开发环境搭建好了. 第一步,安装JDK1.7 for mac MacOS10.9是自带python2.7.5的,够用,具体的可以打开终端输入python ...