2Dキャラクターを通常の斜面に立てる方法は?


13

Unity3D(2Dモード)でこのキャラクターを持っています...このようなスロープで、 ここに画像の説明を入力してください

しかし、私はキャラクターが赤い線に沿って立つことを望んでいます。 ここに画像の説明を入力してください

Unity3dで作成するにはどうすればよいですか?

このセットアップがあります。

ここに画像の説明を入力してください

私は動きに単純なAddforceを使用しています... z位置の制約を削除すると、ローリングなどの奇妙な動きになります。

回答:


27

人が斜面に垂直に立っているのは非常に奇妙に見えると考えましたか?

斜面に垂直に立っている

バランスを保つには直立する必要があります。


いくつかの選択肢:

  • 彼の足を別のオブジェクトとして扱い、傾斜に平行になるように回転させます。(レイキャストでは、dnkで説明したように、角度の法線検出されます。足の角度は+ 90°です。)

    回転した足

  • キャラクター全体を少し下に動かして、偽物にします。

    偽の「回転した」足


3
ありがとうございました:)私はあなたの提案の後にこれを作りましたi.imgur.com/io3v7Y4.png
jamius19

1
また、回転した足が見栄えが悪くなったらすぐに、キャラクターがつまずくはずです:)
ハーゲンフォンアイゼン

:-/添付した写真で足の回転が奇妙に見えますか?
-jamius19

@ jamius19彼らは私には似合います。ハーゲンのコメントは冗談だったと思う。
アンコ

1
キャラクターを下に移動する必要はありません。傾斜面のビジュアルを物理的に少し上に移動するだけです
ラチェットフリーク

2

地面でRaycastHit.normalを使用して、正常になります。それらput char.up = normal


1
Unity物理学がすでにすべての衝突でこの情報をデフォルトで既に提供している場合、なぜレイキャストでCPUを浪費しますか?
クロルタン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.