[发明专利]针对动画化头发的方法、可读存储介质和系统有效
申请号: | 201510053701.6 | 申请日: | 2015-02-02 |
公开(公告)号: | CN104867173B | 公开(公告)日: | 2019-10-18 |
发明(设计)人: | G·G·戈尔努维茨;S·博拉卡 | 申请(专利权)人: | 梦工厂动画公司 |
主分类号: | G06T13/40 | 分类号: | G06T13/40 |
代理公司: | 余姚德盛专利代理事务所(普通合伙) 33239 | 代理人: | 郑洪成 |
地址: | 美国加利*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 针对 头发 动画 弹力 碰撞 高效 稳定 方案 | ||
1.一种用于动画化头发的计算机实现方法,所述方法包括:
接收表示动画帧的一个时间步长中的多根头发和多个对象的数据;
根据接收的数据来生成第一树以表示多个对象的运动对象;
根据接收的数据来生成第二树以表示多个对象的动态对象;
根据接收的数据来创建表示多根头发的内部弹性能量的第一弹力预条件算子;
根据第一树和第二树,确定所述多根头发的两根或更多头发之间的或者所述多根头发的一根或更多头发与多个对象的一个或更多对象之间的第一组潜在接触;以及
根据确定的第一组潜在接触和第一弹力预条件算子来确定多根头发的位置;
其中根据确定的第一组潜在接触和第一弹力预条件算子来确定多根头发的位置包括迭代执行:
利用第一弹力预条件算子来执行投影高斯-赛德尔算法以确定针对第一组潜在接触的法向力和摩擦力的大小;
利用所确定的针对第一组潜在接触的法向力和摩擦力的大小来执行Cholesky回代以确定多根头发的位置;以及
对于第一次迭代之后的迭代,检测所述多根头发的两根或更多头发之间的或所述多根头发的一根或更多头发与所述多个对象的一个或更多对象之间的持续碰撞接触。
2.根据权利要求1所述的方法,其中接收的数据定义了多个对象的运动、多根头发的形状以及多根头发对内外力的响应。
3.根据权利要求1所述的方法,其中接收的数据包括:
能够与多根头发碰撞的一个或多个碰撞体的运动序列;
多根头发的静止柱;
多根头发的目标柱的运动序列;以及
对多根头发建模的多个约束。
4.根据权利要求3所述的方法,其中多根头发被建模成离散弹性杆,而且其中多个约束表示离散弹性杆之间的吸引力。
5.根据权利要求1所述的方法,其中第一树和第二树每个都包括轴对齐限界盒树。
6.根据权利要求1所述的方法,进一步包括:
根据确定的多根头发的位置更新表示动态对象的第二树;
根据接收的数据和确定的多根头发的位置创建表示多根头发的内部弹性能量的第二弹力预条件算子;
根据第一树和更新的第二树,确定所述多根头发的两根或更多头发之间的或所述多根头发的一根或更多头发与所述多个对象的一个或更多对象之间的第二组潜在接触;以及
根据确定的第二组潜在接触和第二弹力预条件算子来确定多根头发的新位置。
7.根据权利要求6所述的方法,其中根据确定的第二组潜在接触和第二弹力预条件算子来确定多根头发的新位置包括迭代执行:
利用第二弹力预条件算子来执行投影高斯-赛德尔算法以确定针对第二组潜在接触的法向力和摩擦力的大小;
利用确定的针对第二组潜在接触的法向力和摩擦力的大小来执行Cholesky回代以确定多根头发的位置;以及
对于第一次迭代之后的迭代,检测所述多根头发的两根或更多头发之间的或所述多根头发的一根或更多头发与所述多个对象的一个或更多对象之间的持续碰撞接触。
8.根据权利要求6所述的方法,其中创建第一弹力预条件算子包括对表示多根头发的内部弹性能量的第一矩阵执行Cholesky因数分解,而且其中创建第二弹力预条件算子包括对表示多根头发的内部弹性能量的第二矩阵执行Cholesky因数分解。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于梦工厂动画公司,未经梦工厂动画公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510053701.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:操作高温燃料电池堆之方法
- 下一篇:一种视频处理方法及装置