Jump to content
Unity Insider Forum

2d carakter um 3d ecke bewegen


flo13
 Share

Recommended Posts

die frage ist wahrscheinlich ziemlich dumm aber i will das sich mein 2d carakter in einem 3d wohnzimmer an der wand und an den möbeln bewegt, ich weiß aber nicht wie ich es machen kann das sich der carakter um eine ecke bewegen kann

Link to comment
Share on other sites

Ne, dumm ist die Frage nicht.
Wenn du bei einem 2D Spiel irgendwie die Perspektive mit rein bringen willst, kannst du keine Boden-collider mehr nutzen, denn du musst deinen Charakter je nach Position im Raum anheben oder absenken.
Weiter hinten ist weiter oben, weiter vorne ist weiter unten. Soll der Charakter sich hinter Möbeln bewegen, dann muss das Sprite in Z Richtung  der Renderreihenfolge nach hinten geschoben werden. So als hättest du mehrere Folien übereinander gelegt. Die vorderste Folie ist ganz nah an der Kamera, und die hinterste Folie ist am weitesten weg. Jetzt hat aber eine Folie sogut wie keine Tiefe. Ein Möbelstück aber schon. Wenn es so gemalt wäre, als würde die Tiefe 3 Pixel sein, musst du es irgendwie bewerkstelligen, dass der Charakter erst dann an dem Möbelstück vorbei kommt, wenn es entweder eine Ebene vor dem Möbelstück ist oder aber 3 Ebenen dahinter. Ein Collider am Möbelstück bringt jetzt also auch nicht mehr viel, denn ein 2D Collider geht endlos in die Tiefe.
Du kannst aber mit Triggern arbeiten und beim Trigger einen Tiefenwert, der in einem Script als public Variable abgelegt ist, und den Layer abfragen, auf dem das Objekt liegt.
Ist dein Layer der gleiche wie das Möbelstück oder weniger weit hinten, als der Tiefenwert sagt, dann kannst du nicht vorbei.
https://docs.unity3d.com/ScriptReference/SpriteRenderer.html

Im Link siehst du alle Dinge, die du per Script beim Sprite Renderer abfragen kannst. Darunter auch die Sorting Layer ID.
Die Bewegung in der Tiefe in einem 2D Game ist also etwas tricky.

Solltest du dich jetzt nicht in der Tife bewegen können sondern willst nur einige Objekte vor dem Charakter haben und andere dahinter, dann musst du ihnen nur die Werte im Layer anpassen. Der Rest geht automatisch. :)

 


 

 

Link to comment
Share on other sites

Am 12.9.2021 um 19:51 schrieb malzbie:

Ne, dumm ist die Frage nicht.
Wenn du bei einem 2D Spiel irgendwie die Perspektive mit rein bringen willst, kannst du keine Boden-collider mehr nutzen, denn du musst deinen Charakter je nach Position im Raum anheben oder absenken.
Weiter hinten ist weiter oben, weiter vorne ist weiter unten. Soll der Charakter sich hinter Möbeln bewegen, dann muss das Sprite in Z Richtung  der Renderreihenfolge nach hinten geschoben werden. So als hättest du mehrere Folien übereinander gelegt. Die vorderste Folie ist ganz nah an der Kamera, und die hinterste Folie ist am weitesten weg. Jetzt hat aber eine Folie sogut wie keine Tiefe. Ein Möbelstück aber schon. Wenn es so gemalt wäre, als würde die Tiefe 3 Pixel sein, musst du es irgendwie bewerkstelligen, dass der Charakter erst dann an dem Möbelstück vorbei kommt, wenn es entweder eine Ebene vor dem Möbelstück ist oder aber 3 Ebenen dahinter. Ein Collider am Möbelstück bringt jetzt also auch nicht mehr viel, denn ein 2D Collider geht endlos in die Tiefe.
Du kannst aber mit Triggern arbeiten und beim Trigger einen Tiefenwert, der in einem Script als public Variable abgelegt ist, und den Layer abfragen, auf dem das Objekt liegt.
Ist dein Layer der gleiche wie das Möbelstück oder weniger weit hinten, als der Tiefenwert sagt, dann kannst du nicht vorbei.
https://docs.unity3d.com/ScriptReference/SpriteRenderer.html

Im Link siehst du alle Dinge, die du per Script beim Sprite Renderer abfragen kannst. Darunter auch die Sorting Layer ID.
Die Bewegung in der Tiefe in einem 2D Game ist also etwas tricky.

Solltest du dich jetzt nicht in der Tife bewegen können sondern willst nur einige Objekte vor dem Charakter haben und andere dahinter, dann musst du ihnen nur die Werte im Layer anpassen. Der Rest geht automatisch. :)

 


 

 

Ok danke für die hilfe ich werd mal probieren ob ich dass schafe

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

×
×
  • Create New...