回顾一下,AABB的作法是不管是甚麽形状,都把物件包进矩形的碰撞框里,但很明显的这会导致碰撞的「不精确」,既使是矩形,只要旋转,就会看到「异次元碰撞」。
SAT,分离轴原理的作法,从结果上,就是找出两物体的分离轴,只要找到一条,就代表两个物体是分开的。下面说明一下SAT的步骤。
// 例如: E = (100, 82),依据点积则 E.N = 0
// 会找到两个向量,N = (-82, 100) or (82, -100)
仔细一下,昨天AABB的做法也是一种SAT,两个矩形的边界就是XY两轴,毕竟两个物体都「正正方方」的,然後所说的投影就是各自的X轴的min与max,Y轴的min与max。
实作过程中发现一些问题,在找顶点的时候就发生了问题,於是我直接拿昨天找到的网路文章看发甚麽问题,後来找到是选找的时候,我的参考点是世界座标的原点不是矩形的原点。
接着照上面的步骤,找出边界,找出法向量,迭代每个法向量找出有没有「不重叠」的正投影。
然後!出现了「异次元碰撞」,不管有没有碰撞,都是显示碰撞的状态,加上头有点昏(数学啊~我的天),时间已快到了,今天先休息吧。
<<: [Day10 - UI/UX] 上传UI至 Zeplin
>>: [Day 10] - Spring Boot 实作登入验证(四)(JWT登入验证)
前面23天讲了这麽多,我们学会了numpy、pandas、seaborn、sklearn、pytor...
Swift 游戏示意 Swift 游戏纪录 最後一个功能是游戏纪录 修改一下Player.swift...
Y Combinator,简称 YC,是国际上十分知名的加速器之一,其中最大的特点在於他们的新创社群...
Summary What is AI? Machine learning Anomaly detec...
如果我们的电脑有两个摄影机,就会有切换装置的需求,今天我们就来加入这个功能 在 index.html...