Jump to content
Unity Insider Forum

Positionsbegrenzung eines Gameobjekts


Zerbo93
 Share

Recommended Posts

Hallo zusammen,

ich suche eine Möglichkeit, die Bewegungsmöglichkeit eines, vom Spieler gesteuerten, Gameobjekts zu beschränken. Sprich das die Bewegung des Gameobjekts nur in den Bereichen,
x zwischen -150 und 150
z zwischen -150 und 150
,möglich ist.

 

Hintergrund: ich arbeite an einer Wirtschaftssimulation und der Kameraanker (das zu begrenzende Gameobjekt), kann sich aktuell komplett von der Map weg bewegen. So ist das natürlich etwas hirnrissig :D

 

Hier der Abschnitt, mit dem ich den Anchor bewege:

	Vector3 forward = cam.transform.forward;
        forward.y = 0.0f;
        forward.Normalize();

        Vector3 right = cam.transform.right;
        right.y = 0.0f;
        right.Normalize();

        float moveX = Input.GetAxisRaw("Horizontal");
        float moveZ = Input.GetAxisRaw("Vertical");

        Vector3 dir = forward * moveZ + right * moveX;
        dir.Normalize();

        dir *= moveSpeed * Time.deltaTime;

        transform.position += dir;

 

Vielen Dank für eure Hilfe im Voraus!

Link to comment
Share on other sites

Moin!

Sowas?

var pos = transform.position; // Nur, damit's etwas kürzer zu schreiben wird im Folgenden
transform.position = new Vector3(Mathf.Clamp(pos.x, -150f, 150f),
                                 pos.y,
                                 Mathf.Clamp(pos.z, -150f, 150f));

Kann man natürlich noch hübscher machen, dass man die 150 in Felder auslagert und das im Editor einstellen kann oder so... aber die Idee ist klar, denke ich.

  • Thanks 1
Link to comment
Share on other sites

vor 31 Minuten schrieb Sascha:

Moin!

Sowas?


var pos = transform.position; // Nur, damit's etwas kürzer zu schreiben wird im Folgenden
transform.position = new Vector3(Mathf.Clamp(pos.x, -150f, 150f),
                                 pos.y,
                                 Mathf.Clamp(pos.z, -150f, 150f));

Kann man natürlich noch hübscher machen, dass man die 150 in Felder auslagert und das im Editor einstellen kann oder so... aber die Idee ist klar, denke ich.

Perfekt! Danke. Genau sowas habe ich gesucht. :)

  • Like 1
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...