D3D11 骨骼动画(基于MD5格式)

本文介绍了如何在Direct3D 11中使用MD5格式实现骨骼动画,包括导入.md5anim文件,计算插值骨骼,更新顶点位置和法线,以及更新D3D缓冲。动画文件分为头部、层级、界限、基础帧和帧五部分,通过遍历关节和插值计算实现平滑动画效果。
摘要由CSDN通过智能技术生成

MD5格式利用了骨骼系统(也称为关节系统)来做动画效果,因此在本章节会介绍如何遍历存储在md5anim文件中的动画以及如何将动画应用在模型上。骨骼系统(也称为关节系统)优点在于比直接存储关键帧动画要占用更少的内存,因为关键帧动画相当于给每个动画帧赋予一个全新的模型,而关节系统仅仅在每帧存储骨头的方向以及位置信息。

简介:

在上一章节介绍了加载md5模型,并使用骨骼系统计算顶点位置和法线。在本章节会介绍如何导入md5动画文件.md5anim并使用存储在内的数据让模型动起来。整体的思路如下:

1.导入动画文件.md5anim,导入方法会在后面讲到

2.计算当前时间动画中的骨骼,也就是当前时间下在两帧间(也就是已过去的帧与将到来的帧之间)插值两幅骨骼

3.在创建完插值骨骼后,需要通过权重来重新计算顶点位置和法线

4.最后,在得到顶点位置和法线(得到切线和副切线的方法和法线一样)后,需要更新顶点缓冲

跳过第1步导入动画以及第2步,直接介绍第3步,创建插值骨骼。


创建插值骨骼

在导入动画时,就为每个动画帧创建了骨骼。随后就在这些帧(比如帧1和帧2之间)之间插入这些骨骼以得到动画的当前帧。当然可以仅仅使用动画帧本身而不用为每帧创建插值骨骼来得到动画,但是这会让动画

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值