骨骼avatar

https://www.cnblogs.com/zblade/p/6986173.html 浅谈Unity3D 骨骼动画
https://www.cnblogs.com/tekkaman/p/7702363.html  Avatar
三种 Rig
  fbx importer 的Rig有三种Animation Type: 
  1)legacy:老动画系统,没有avatar,没有animator controller。
  2)generic:MecAnim,通用的avatar,有animator controller,无法 retargeting animation。
  3)humanoid:MecAnim,人型avatar,有animator controler,可以 retargeting animation。

从动画数据的角度来说,三者一般都采用关键帧技术,即只给出关键帧的数据,其他帧的数据使用插值得到。但由于这三种技术的不同,关键帧的数据是不一样的。
每个顶点可以被多个骨骼所控制,这样在关节处的顶点由于同时受到父子骨骼的拉扯而改变位置就消除了裂缝。

http://www.cnblogs.com/zhanglitong/p/3196752.html OpenGL10-骨骼动画原理篇(1)
当前有两种模型动画的方式:顶点动画和骨骼动画。顶点动画中,每帧动画其实就是模型特定姿态的一个“快照”。通过在帧之间插值的方法,引擎可以得到平滑的动画效果。在骨骼动画中,模型具有互相连接的“骨骼”组成的骨架结构,通过改变骨骼的朝向和位置来为模型生成动画。
骨骼动画的原理:
正如其名,这种动画中包含骨骼(Bone)和蒙皮(Skinned Mesh)两个部分一部分是Bone(骨头),一部分是Skin(皮).就像人体的组成一样。人要想做动作,骨头要动起来,然后皮就被骨头带动起来,按照这样的理论,就产生了蒙皮动画。在三维模型当中。bone就是骨头,皮就是skin mesh,mesh的其实就是模型来,加上skin,说明这个模型的意义,做表皮的。
当我们动一个关节的时候,会带动一部分肌肉动起来,而不是只要动一个关节全身都在动。那么我们就可以这样来说,一个骨头动,会影响到一部分的肉和皮动。
我们定义个如下结构体(伪代码)
class Point
{
    float x,y,z;     //! 肌肉的位置
    int  arBone[n];  //! 影响肌肉的骨头
    float arWeight[n]  //! 每一个骨头对肌肉的影响度,例如 肘关节的影响度对肱二头肌很多,而肩关节要少一点。
};

如果美术做了一个动画有5秒钟,每一秒播放60帧来计算,我们要记录非常多的骨头的信息,小下面这样:假设人有100个骨头Bone person[100]一秒钟60帧 × 5秒  × 100,这个就是我们要记录的数据量.
假设我们记录了10个关键点其他的数据根据时间按照一定的插值算法进行插值,那么数据量就骤然降低非常多呢。出于这样的想法,我们增加了一个新的概念,关键帧。
下面我们使用程序的角度来描述下该问题:
1.  获取到所有的骨骼数据(可使用矩阵存储)
Bone   bones[n];
2.  获取到关键帧数据
Bone  arKeyFrame[n][KeyNumber];
3  获取到皮肤(顶点数据)
Vertex  verts[vNumber];
4  通过插值计算出来新的骨骼位置
Bone   timeBone[n];
5  根据计算出来骨骼来计算顶点数据
Vert  temp[vNumber];

一个定点的声明如下:
struct Vertex

//! 颜色 
float r, g, b, a; 
//! 位置
float x, y, z; 
//! 影响度 
float weights[2]; 
//! 矩阵的索引 
short matrixIndices[2]; 
//! 影响整个定点的骨头个数 
short numBones;
};

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Unity Avatar Maker是一款基于Unity引擎的人物模型制作工具。它提供了丰富的功能和工具,使开发者可以在游戏中快速创建、定制和编辑自己的角色模型。 Unity Avatar Maker支持用户通过一个简洁而直观的用户界面来创建角色。它提供了多种人体部位的预设,比如头部、身体、手臂、腿部等,用户可以根据自己的需求选择合适的部位进行定制。此外,它还提供了丰富的皮肤、服装和配饰选项,帮助用户为角色添加个性,并实现不同风格的设计。 通过Unity Avatar Maker,用户可以轻松编辑角色的外观和属性。它提供了丰富的调整选项,比如变换、旋转、缩放等,用户可以根据需要调整角色的体型、姿势和面部表情等。同时,它还支持添加和调整角色的骨骼和动画,用户可以为角色添加各种动作和动画效果,从而使角色在游戏中展现更加生动的表现。 最重要的是,Unity Avatar Maker具有很强的可扩展性。它支持用户导入自己的自定义模型和贴图,使用户可以在基础模型的基础上进行更加个性化的定制。用户还可以使用其他工具制作的模型,然后将其导入到Unity Avatar Maker中进行进一步的编辑和调整,从而实现更加高级的形象设计。 总之,Unity Avatar Maker是一个功能强大、使用简便的人物模型制作工具。它提供了丰富的功能和选项,帮助开发者快速创建、定制和编辑角色,使其在游戏中呈现出更加个性化和生动的形象。无论是初学者还是经验丰富的开发者,都可以通过Unity Avatar Maker实现他们所需的模型制作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值