Jump to content
Unity Insider Forum
Akeipra

Charakter Blickrichtung Vertikal einschränken?

Recommended Posts

Hallo zusammen,

lässt es sich leicht einrichten, dass ich mit meinem Charakter nur in einem bestimmten vertikalen winkel, rauf und runter schauen kann?

 

Z.b.: Ich starte in einer startposition und kann dann maximal 30° nach unten und nach oben gucken?

 

LG

Akeipra

Share this post


Link to post
Share on other sites

Sprichst du von einem FirstPersonController, also wo du (die Kamera) quasi der Kopf bist?

Wenn ja, dann steuerst du über die Mausbewegung ja den Winkel der Kamera. Den kann man ganz einfach einklemmen und zwar mit dem Mathf.Clamp(klein, groß) Befehl.

Unity müsste bei den Standardassets eigentlich auch ein MouseLookScript mitbringen. da ist das dann schon drin.

Share this post


Link to post
Share on other sites

Hallo Malzbie,

ja ich meine einen FirstPersonController.

Puh, leider arbeite ich nur in einem vorgefertigtem skript, daher ist es für mich schwieriger nachzuvollziehen was ich genau Coden muss.

 

Kann man es hier erkennen und ändern?

 

MoveAvatar.cs

Share this post


Link to post
Share on other sites

In der Zeile 167 ist das Gewünschte.

fov =  Mathf.Clamp(fov, 20.0f, 60.0f);    

20 ist der minimale Winkel und 60 der maximale Winkel.

  • Like 1

Share this post


Link to post
Share on other sites

Hallo,

ich wollte nicht die Field of View ändern.

Ich möchte einfach nur die Bewegung der Kamera einschränke, so dass man z.b nicht nach oben zur Decke schauen kann.

Stell dir vor du hättest eine Halskrause, mit der du auch nicht ganz nach oben schauen kannst.

 

lg

Share this post


Link to post
Share on other sites

Ziemlich unübersichtlicher Code, aber ich denke die Rotation der Kamera wird in Zeile 179 gesetzt und wenn du hier Malzbie's Vorschlag umsetzt, dann könnte es so aussehen (aber du musst selber prüfen, ob die Werte des X-Drehwinkels "passen", die können auch in einem völlig unerwarteten Bereich liegen)

cameraIs.transform.localEulerAngles = new Vector3(Mathf.Clamp(at.x, 20.0f, 60.0f),0,0);

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×