如何让Unity游戏对象垂直面对碰撞体

问题描述 投票:0回答:1

我正在尝试让我的 2D 玩家走上墙壁/斜坡并朝与它们相反的方向跳跃。我使用光线投射来跳跃,并使用光线投射来检测物体是否与某种斜坡或墙壁接触。

因此光线投射是从玩家(橙色球体)的transform.up 的负片处发射的。我希望当球体与墙壁或斜坡接触时,它的transform.up会变得垂直于它,因此用于跳跃的光线投射将沿着与障碍物红线相同的方向射出。

unity-game-engine 2d
1个回答
0
投票

假设你的玩家也有一个碰撞器:
您可以使用Unity的

OnColliderEnter2D
方法来获取斜坡游戏对象。这样,您就可以从变换中获取向上向量,并转动您的播放器以匹配它。这将导致玩家始终与所在的每个表面保持完美的 90°,只要该表面是一个物体即可。如果它们跳到该尖峰的“平坦”部分,您的屏幕截图中仍然会出现问题,但我不知道如何解决这个问题。希望有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.