INF443 Amphi 6: Animation par modèles générateurs
0. Introuction
上一讲中我们提到了Animation Descriptive。
而Animation par modèles générateurs使用了lois de la physique。
用户提供:
- Lois, modèles et valeurs des paramètres.
- Conditions initiales.
好处:
- 不需要用关键帧(Position clé)调整。
- 定义了一系列的动作。
坏处:
- 是间接的控制
- 不稳定,稍微改变一些参数就有可能出现我们不希望的效果。 “Effet Papillon”
一般使用于:
- objets passifs,如水、烟、爆炸
- croissance rapide / npc的动作
本讲主要内容:
Modèles physiques
Modèle de comportement
- Principes de l’animation par modèle physique
- Modèles et lois de mouvement
- Boucle d’animation- Détection et réponse aux collisions
- Systèmes de particules (exemple universel)
– Implémentation des modèles physiques
– Modélisation d’un comportement de groupe
1. Principes
1.1 一些例子
- Modèle: Paramètres intrinsèques (masse…) + cinématiques (vitesse…)
- Lois: Eq dérivées partielles → cinématique fct des forces appliquées
1.2 Discrétisation
除了给物体提供一些Loi之外,我们还需要做两方面的Discrétistion。
1.3 Boucle d’animation
伪代码
用Euler Explicite有可能会发散,所以用Euler Semi-implicite会更好。当然implicite更好。
2. Collisions
Solution Continues: [用得比较少]
如果轨迹相交了,就回到第一个contact的时刻。
Solution à temps discret:
- 检测pénétration。
- Modéliser le contact
- Répondre aux collisions
2.1 Détection des collisions
分为两步:
- Phase Large:去除不可能相交的couple
- Détection fine:使用物体准确的集合形状。
2.1.1 Phase Large
Méthode 1: Grille de l’espace
我们认为,所有在一个格子里的物体才有可能发生碰撞。
Méthode 2: Volumes englobants
- 有三种方法得到Volumes englobants。
Méthode 3 : Hiérarchies de volumes englobants
2.1.2 Phase fine
方法一:Utiliser la géométrie précise des objets
- 使用物体准确的几何模型。
- 检测paires de facces是否相交。
但这种方法对于头发这种物体不太方便。
2.2 Réponse aux collisions
目的:使物体反弹起来。
Solution 1: Par impulsion (速度立马改变)
Solution 2: Foces de réaction
- Plusieurs pas d’intégration nécessaires.
问题:
因为我们之前是检测到物体intersection之后才进行操作的,可能太迟了。
Sol:Modélisation du contact
- Déplacement dans une configuration valide
- Déformation sans déplacement
2.2.1 Par impulsion (轻的或者很重的物体)
2.2.2 Par forces de réaction (solution générale)
问题:
当k太大的时候,物体反弹的速度会比它一开始的速度更大 -> 能量不守恒。
3. Systèmes de particules
例子:Matériaux granulaire (由细粒构成的)
- 比如:沙子
- 力:重力、对collisions的反应
- 检测碰撞:用球形的Bounding Box
- 显示的几何形状:随机显示
Objets déformables structurés
假设我们希望创建一个衣服的褶皱。
Objets déformables non structurés
假设我们需要模拟面团或者液体。
Modélisation de comportements de groupe
- 例如:用来模拟鱼群。
- 依旧还在用。
- 中心的物体会尝试和周围的物体有同样的速度。
4. 总结:
Animation par modèles générateurs在当代3D电影中不再使用了,但是可以让机器人利用强化学习的方法学习人类专家的动作。