上一页 1 2 3 4 5 6 7 8 9 10 ··· 40 下一页
摘要: 什么是粘包? 比如:通过Socket发2条不一样长度的数据,"abc"和"defg"。因为Socket的数据不是你请求发就立即发送的,有时候为了减少网络交互次数,会把几小的个数据凑一凑一起发送。 如果前面的被凑到一起发送了"abcdefg",就出现了粘包。 如何解决粘包问题? 发送数据的时候,在数据 阅读全文
posted @ 2024-01-21 14:09 yanghui01 阅读(24) 评论(0) 推荐(0) 编辑
摘要: 效果 胜负的判断直接用的暴力的方式,以落子为中心水平方向前后4个,垂直方向上下4个,2个对角线斜角前后4个 这样判断的,这个数量是固定的,不会随着棋盘的变大而变大,所以还好。 public class GoBangTest : MonoBehaviour , IPointerClickHandler 阅读全文
posted @ 2024-01-18 23:38 yanghui01 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 就是一个物体掉落到另一个物体表面时,相互穿透,部分区域发生了重叠: 原因 现实世界,时间是连续的;但在计算机中,时间是离散的,帧与帧之间的时间间隔,没法保证两物体发生碰撞时,正好是表面刚接触。 比如:物体1和物体2相距6米,大小均为1x1,物体1向右以10米/s速度移动,物体2静止,0.5s后物体1 阅读全文
posted @ 2024-01-14 23:21 yanghui01 阅读(72) 评论(0) 推荐(0) 编辑
摘要: 现象 原因的话,还是和之前接触不稳定一样的情况: 2d物理引擎学习 - 基于约束的公式解决接触稳定性问题 那之前不都解决过了吗?为啥现在又出现不稳定的情况了? 主要原因是接触点更多了,接触点间的相互影响太大,10次迭代修正根本不够。 那提高迭代次数看看? 100次的时候,倒的没那么快了,所以增加迭代 阅读全文
posted @ 2024-01-13 22:20 yanghui01 阅读(16) 评论(0) 推荐(0) 编辑
摘要: 效果 代码只是在之前的基础上增加了重力和摩擦力,重力的实现就是给物体加一个持续的力(即:Fg = m * g),摩擦力就是切线方向加一个修正冲量。 代码和之前的主要区别 1) 刚体MyRigidbody增加一个Friction,摩擦系数属性 2) MyRigidbody.PostSeperation 阅读全文
posted @ 2024-01-13 16:05 yanghui01 阅读(10) 评论(0) 推荐(0) 编辑
摘要: 先看下直接用弹性碰撞的公式,会出现的问题: Box落在地面上后,没有停在地面上,而是还在不断的下沉。 弹性碰撞公式处理碰撞后弹开没有大问题,但是处理物体碰撞后的接触存在不稳定问题。 如何解决? 目前物理引擎最主流的解决方法是:基于约束来组织物理公式,而不是直接套用物理公式。 什么叫约束?就是让两个物 阅读全文
posted @ 2024-01-13 13:48 yanghui01 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 点乘 公式1: 公式2: 几何意义:v1在v2上的投影长度*v2的长度 叉乘 公式1: 公式2: 注意:2维不像3维,叉乘公式能直接得到向量结果;2维下是将大小和方向分开算了,即:大小*Vector3.down或Vector3.up 几何意义:两向量构成的平行四边形的面积 叉乘转点乘 注意:方括号是 阅读全文
posted @ 2024-01-10 23:45 yanghui01 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 1) 重力 Fg = m * g,g为地球表面的重力加速度,一般为9.8N/kg;单位:N/m或kg*m/s2,方向:沿y轴向下 2) 摩擦力 摩擦力包括:静摩擦力和(滑)动摩擦力 库伦摩擦定律:Ff = μ * 压力,μ表示物体表面摩擦系数,值为[0, 1],由物体表面材料决定(粗糙程度) a) 阅读全文
posted @ 2024-01-04 22:38 yanghui01 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 效果 上图中碰撞后,两个Box开始旋转,什么情况下碰撞后会引起旋转? 作用在碰撞点的冲量方向不经过物体中点(质心) SAT的碰撞检测就是沿用的box2d-lite的 整体代码结构和这篇类似:2d物理引擎学习 - 两圆的线性运动碰撞反馈,只是加入了角运动 关于MyRigidbody.GetKMass函 阅读全文
posted @ 2024-01-04 00:19 yanghui01 阅读(44) 评论(0) 推荐(0) 编辑
摘要: abs(旋转矩阵) * halfSize可以用来求相对坐标轴的AABB包围盒halfSize。 下面的代码也能求出AABB包围盒的size。 public static Vector2 GetAABBSize(Vector2 boxHalfSize, B2_Mat22 rot) { Vector2[ 阅读全文
posted @ 2024-01-03 23:11 yanghui01 阅读(5) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 40 下一页