Jump to content
Unity Insider Forum

Mausposition in 3d Spiel ermitteln


Speedi

Recommended Posts

Also ich möchte so ein Spiel in Richtung "Raft" programmieren und bräuchte zum anbauen von Teilen etwas damit ich die Position ermitteln kann.

Und am Ende wär es auch noch gut wenn ihr sagen könntet wie ich das Teil dann hin "teloptiere" also bräuchte ich noch was zum hintelportieren.

Danke schon mal 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Moin Speedi und willkommen im Forum...

was du suchst ist eine möglichkeit deine MausPosition mit hilfe eines "Rays" durch die Kamera zu casten... das macht man in der Regel so:

 if (Input.GetMouseButtonDown(0)) 
 {
     Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
     RaycastHit hit;
     if (Physics.Raycast(ray, out hit))
     {
		Debug.Log($"Hit Position: {hit.position}")
     }
 }

Schau dir also mal Physics.Raycast in der doku an ... Du willst Kollisionen mit deinem terrain / Wasser finden also wäre es gut wenn du da noch eine Kollisionsmaske mit in die Funktion übergibst (siehe Doku)

Und noch ein hinweis. Ich habe hier Camera.main benutzt weil es einfacher und schneller geht. Das Jedes Frame aufzurufen ist aber keine so gute idee. Besser die camera am Anfang des spiels in eine Variable cachen und die dann benutzen. Wenn du jetzt keine Ahnung hast was ich damit meine kannst du auch erstmal den von mir gezeigten weg nehmen ;)

 

Damit würdest du auch die Position der Teile errechnen die du bauen möchtest.

 

VG, Cxyda

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...