[Day31] 再访碰撞侦测与解析(三) - 解析很复杂!

今日目标

  • 实作AABB的碰撞解析

意外复杂!

今天尝试实作昨天YT教学影片的内容,然後在看看怎麽样把功能改道我的们2D Platformer里面,主要是做这两个:

  • Ray vs Rect (射线 与 矩形 的碰撞)
  • Dynmic Rect vs Rect (动态 矩形 与 矩形 的碰撞)

Ray vs Rect

今天只有测试看看这个方法,动态矩形与矩形的碰撞也是射线与矩形的碰撞方法的延伸。

看过这个片段(15:51)可以了解射线怎麽找到指定在矩形上的碰撞点,同时还可以知道碰撞点与矩形平面的之间法向量。这个资讯很重要,像是可以从这边知道,对於该平面的力的反射,甚至还可以用在像是2D光线之类的(我猜)。

MISSION FAILED!

事实上我依样画葫芦了一遍,但发现到有些问题

  1. 会在完全没碰到的地方显示发生碰撞
  2. 法向量的标示有些正确,有些是错误的

动态矩形与(静态)矩形的碰撞

动态矩形可以理解为在移动的角色,静态矩形就是作为场景的每一个方块。

如昨天所述,在角色与场景的障碍侦测到碰撞的时候,可能已经是角色已经卡在障碍一半或是已经直穿过的情况了,而影片中给出的解法是在静态的物体上,在往外延伸一层碰撞框,然後大小是角色大小的1/2。这样就可以提前知道有没有撞上了。

其实这就延伸到一个问题了,如果是两个动态的物体就不能这种作法。

今天的也暂时不上传,都还在测试中,可能要到真的「矩形与矩形的碰撞」完成,才会更新了


<<:  【把玩Azure DevOps】Day29 再次建立Release pipeline:多个不同Artifacts来源

>>:  Day 26 - Clean Code 迈向更好读、好维护的程序

从零开始学3D游戏开发:零件介面 Part.1 开始

这是 Roblox 从零开始系列,使用者介面章节的第五个单元,你将要学会如何开始在零件的表面上去设计...

TypeScript - 入坑安装指南

以前都是用Go写後端 现在新工作薪水+++ 能力也要跟着+++ XD 所以工作需求是要写front ...

故事的层次与元素

上一篇我介绍了在管理上故事的应用。在这一篇我们来探讨故事可以有的层次与该有的元素。 故事有不同的层次...

【Day 22】ECS Task Definitions and setting of ECS provider

tags: 铁人赛 AWS Outposts ECS 今天直接接续昨天部分说明 调整 Cluster...

【後转前要多久】# Day26 JS - 事件、监听

e - event HTML <body> <input type="b...