unity3d 2D统一平台游戏,与Tilemap对撞机冲突

nfzehxib  于 2023-02-16  发布在  其他
关注(0)|答案(1)|浏览(167)

我试图创建一个平台游戏,看视频和教程,我看到他们使用瓷砖调色板选项非常频繁。
在创建2D Tilemap Collider时,每个方块都有自己的碰撞器,我猜这会消耗大量资源,所以为了解决这个问题,我创建了一个2D Composite碰撞器。问题是当玩家与垂直墙壁的碰撞器碰撞时,会导致玩家的rigidBody.velocity.y增加力量,这不允许我执行跳跃。
https://clipchamp.com/watch/nFKCJOv7DEX这里你可以看到在游戏场景下的debug.log,它最终显示了Y轴的速度这个项目是为安卓系统设计的,我想尽可能地优化它。你有什么想法,以便在碰撞中我不添加力Y?
我试过在onColliderStay2d中改变速度,并将垂直瓦片图与另一个标签放在一起,以将它们与地面区分开,但一无所获。

fnvucqvd

fnvucqvd1#

我建议你不要检查你的y速度来判断你是否接地,而是在你的玩家角色下面画一个矩形区域,然后用Physics2D.OverlapArea来检查它是否与地面重叠。
此外,复合碰撞器创建的形状比磁贴碰撞器少并不意味着它的性能差,物理系统不会一个接一个地迭代它们。帮你自己一个忙,用磁贴碰撞器代替吧。

相关问题