Come far stare normalmente il mio personaggio 2D in pendenza?


13

Ho questo personaggio in Unity3D (modalità 2D) ... in una pendenza che assomiglia a questo, inserisci qui la descrizione dell'immagine

Ma voglio che il personaggio stia lungo la linea rossa ... Come sotto inserisci qui la descrizione dell'immagine

Come posso farlo in Unity3d?

Ho questo setup ..

inserisci qui la descrizione dell'immagine

Sto usando Addforce semplice per il movimento ... Se rimuovo il vincolo di posizione z si traduce in strani movimenti come il rotolamento e così via .... Qualsiasi aiuto sarebbe apprezzato :)

Risposte:


27

Hai considerato che sembra molto strano che una persona si trovi in ​​piedi perpendicolare a una pendenza?

in piedi perpendicolare a un pendio

Devi essere retto per rimanere in equilibrio.


Alcune alternative:

  • Tratta i suoi piedi come un oggetto separato e ruotali in modo che siano paralleli alla pendenza. (Un raycast troverà l'angolo normale , come descritto da dnk . L'angolo per i piedi è di + 90 ° .)

    piedi ruotati

  • Fingi, spostando l'intero personaggio un po 'verso il basso.

    piedi "ruotati" falsi


3
grazie a tutti :) L'ho fatto dopo il tuo suggerimento i.imgur.com/io3v7Y4.png
jamius19

1
Ciò suggerisce anche che non appena i piedi ruotati non si presentano più bene, il tuo personaggio dovrebbe inciampare :)
Hagen von Eitzen,

: - / La rotazione dei piedi sembra strana nell'immagine che ho allegato?
jamius19,

@ jamius19 Mi stanno bene. Penso che il commento di Hagen sia stato uno scherzo.
Anko,

1
Non è necessario per muovere il personaggio verso il basso basta spostare la visuale della pendenza verso l'alto un po 'rispetto al fisico
cricchetto maniaco del

2

Prova a usare RaycastHit.normal a terra per tornare normale. Hanno messo char.up = normale


1
Perché sprecare CPU con un raycast se la fisica Unity fornisce già queste informazioni per impostazione predefinita ad ogni collisione?
Kroltan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.