如何使我的2D角色正常站立在斜坡上?


13

我已经在Unity3D(2D模式)中得到了这个角色...在一个看起来像这样的坡度中, 在此处输入图片说明

但是我希望角色沿着红线站立。 在此处输入图片说明

如何在Unity3d中制作?

我有这个设置。

在此处输入图片说明

我正在使用简单的Addforce进行运动...如果删除z位置约束,则会导致奇怪的运动,如滚动等等。

Answers:


27

您是否认为一个人垂直于斜坡站立看起来很奇怪?

垂直于斜坡站立

您需要保持直立,以保持平衡。


一些替代方案:

  • 将他的脚当作一个单独的对象,并将其旋转为与坡度平行。(如dnk所述射线广播将找到该角度的法线。脚的角度为+ 90°。)

    旋转脚

  • 通过将整个角色稍微向下移动来伪造它。

    假冒的“旋转”脚


3
谢谢大家:)我是在您提出建议后提出的。i.imgur.com/io3v7Y4.png
jamius19 2015年

1
这也表明,一旦旋转的脚看起来不再好看,您的角色就会跌倒:)
Hagen von Eitzen

:-/在我附上的图片中,脚的旋转是否看起来奇怪?
jamius19 2015年

@ jamius19他们对我很好。我认为哈根的评论是个玩笑。
Anko 2015年

1
您无需向下移动角色,只需将坡度的视觉效果相对于物理位置稍微向上移动
棘手的怪胎

2

尝试在地面上使用RaycastHit.normal以获得正常。他们把char.up =正常


1
如果Unity物理默认在每次碰撞时都已经提供了此信息,为什么还要浪费射线广播的CPU?
Kroltan's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.