用unity实现在线课程
GAMES103-基于物理的计算机动画入门-王华民
的作业1
链接:
课程主页
https://games-cn.org/games103/
作业内容:
Angry Bunny: 使兔子模型带有刚体动画效果
参考链接:
Tips: 文章最下方附有全部源码
目录
一,程序演示
键盘操作:
- 点击“L”:发射兔子。
- 点击“R”:重置兔子。
二,公式推导
使用冲量法(Impulse)实现物体的刚体碰撞动画:物体的动画与两个参数,位置Position与旋转Rotation有关,而这两个参数的更新分别与线速度v与角速度w相关。冲量法的本质就是在动画计算过程中,时刻求解不断改变的v与w。
1. 定义动画中下一时刻的v与w
解释:
j表示冲量,定义如下:
假设dt无限小,所以在这段时间内的加速度a可以近似看作常量,所以可以根据牛顿第二定律F=Ma近似认为
(1.1)新线速度
(1.2)新角速度
<1.2.1> 首先定义刚体绕定点转动时,刚体的动量矩L为:
i表示组成刚体的mesh的第i个顶点,进而将等式L展开,可以得到以下形式,