本文介绍: – 物理引擎的用途: – 碰撞检测 – 解决碰撞、其它约束限制 – 更新所有物体的世界坐标(world Transform)

Collision Detection

  • 碰撞检测:东西是否撞上了
碰撞检测的两个阶段 方法
粗筛 1. 直接用AABB找到相交的刚体

2. 找到潜在的重叠刚体对

1. BVH Tree

2. Sort and Sweep

细筛 1. 进一步检测重叠

2. 得到相交信息

1. 相交点

2. 相交法线

3. 穿透深度

1. Basic Shape Intersection Test

2. MinkowskiDifference-based Methods

3. Separating Axis Theorem

  1. Basic Shape Intersection Test
圆与圆碰撞 圆与胶囊体碰撞 胶囊体与胶囊体碰撞
在这里插入图片描述 在这里插入图片描述 在这里插入图片描述
  1. MinkowskiDifference-based Methods
碰撞 未碰撞
在这里插入图片描述
在这里插入图片描述
  1. Separating Axis Theorem(SAT)
  • 一定能找到一根轴,分离两个凸包
碰撞 不碰撞
2D 情况 在这里插入图片描述 在这里插入图片描述
3D 情况 在这里插入图片描述 在这里插入图片描述
  • 连续碰撞检测 Continuous Collision Detection(CCD)

Collision Resolution

  • 如何处理碰撞?分离
方法 具体方法
加入Penalty Force分离 加一个反向的惩罚力
转为约束问题 解决速度约束 不断尝试给一个冲量
解决位置约束 见 ragdoll – joint constraints

应用与实践

Character controller

  • 反物理的系统:摩擦力无穷大
  • 用 Kinematic Actor
    • 不受物理规则影响
    • 推动别的物体
  • 形状
    • 双层胶囊
  • Sweep test
    • 与物体碰撞后,往旁边平移
  • Stepping 爬楼梯
    • 尝试往上提,再往前走

Ragdoll

在这里插入图片描述

  • 人体的 joint 约束(joint constraints)
Hinge

铰链

Ball-and-socket 球窝 Pivot 枢轴 Saddle

鞍状

Condyloid

髁状突

Gliding

滑行

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 在这里插入图片描述

原文地址:https://blog.csdn.net/iteapoy/article/details/135620516

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

如若转载,请注明出处:http://www.7code.cn/show_57334.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注