thobr Geschrieben 3. Dezember 2020 Melden Share Geschrieben 3. Dezember 2020 Hallo 🙂 Ich hoffe ihr könnt mir helfen. Ich habe eine VR Anwendung. In dieser interagiere ich mit Objekten mit einem Raycast. Wenn ich ein Objekt anwähle, kommen Menüpunkte wie in diesem Fall das Skalieren. Jetzt habe ich folgendes Problem. Wenn ich das skalieren anklicke, soll das Objekt mittels links und rechts schauen größer bzw. kleiner werden. Das geht teilweise. Nur leider nicht sehr gut, da wenn das Objekt angeklickt wird, es auf irgendeine komische Größe skaliert. Könnt ihr mir vielleicht den Code so umschreiben damit er richtig funktioniert? Hier mal der Code: using UnityEngine; using System.Collections; public class LeftRightTest : MonoBehaviour { public Transform target; public float directionCategory; public float directionValue; public static bool objectIsActive1; public static bool isSkalieren1; void Start() { transform.LookAt(target); } void Update () { objectIsActive1 = V02_1_Version_Control.isSelected; isSkalieren1 = V02_1_Version_Control.isSkalieren; if (isSkalieren1) { target = V02_1_Version_Control.selectedObject.transform; Vector3 heading = target.position - transform.position; Vector2 result = AngleDir(transform.forward, heading, transform.up); directionCategory = result[0]/10; directionValue = result[1]/10; directionValue += 1; target.transform.localScale = new Vector3(directionValue, directionValue, directionValue); } } //Left/Right test function //https://forum.unity.com/threads/left-right-test-function.31420/ Vector2 AngleDir(Vector3 fwd, Vector3 targetDir, Vector3 up) { if (objectIsActive1) { Vector3 perp = Vector3.Cross(fwd, targetDir); float dir = Vector3.Dot(perp, up); if (dir > 0f) { return new Vector2(1f, dir); } else if (dir < 0f) { return new Vector2(-1f, dir); } else { return new Vector2(0f, dir); } } else return new Vector2(); } } Hat jemand einen Vorschlag? Bin komplett am Ende und weiß nicht weiter. Danke und LG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Cxyda83 Geschrieben 4. Dezember 2020 Melden Share Geschrieben 4. Dezember 2020 Ich frag mich grade ernsthaft was du mit dem umständlichen code überhaupt bezwecken willst ?! o.0 🤔 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
thobr Geschrieben 4. Dezember 2020 Autor Melden Share Geschrieben 4. Dezember 2020 vor 52 Minuten schrieb Cxyda83: Ich frag mich grade ernsthaft was du mit dem umständlichen code überhaupt bezwecken willst ?! o.0 🤔 Hab mir das sozusammen gesucht, weil ich selber eifnach nicht drauf gekommen bin. Hast du einen besseren Vorschlag? LG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Cxyda83 Geschrieben 4. Dezember 2020 Melden Share Geschrieben 4. Dezember 2020 vor 1 Minute schrieb thobr: Hast du einen besseren Vorschlag? LG Sag mir was du erreichen willst und vielleicht hast du glück ^^ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
thobr Geschrieben 4. Dezember 2020 Autor Melden Share Geschrieben 4. Dezember 2020 vor 5 Stunden schrieb Cxyda83: Sag mir was du erreichen willst und vielleicht hast du glück ^^ Okay - ich versuchs mal 🙂 Also mein Würfel sieht (gezoomt) bso aus: Also hab ich das Skalieren symbol angeklickt. Und jetzt würde ich gerne durch Kopfbewegung (Y-Achse) den Würfel skalieren. Also derzeit ist es so das es nach links schauen größer wird, nach rechts kleiner. Theoretisch hätte ich es gerne anders rum. Problem derzeit: Wenn ich den Würfel anklicke, wird er sofort etwas kleiner. Also sobald ich das Symbol skalieren klicke, wird der Würfel kleiner. Ohne das ich den Kopf bewege. Das ist eigentlich das große Problem. Da es sich so sehr schwer genau skalieren lässt. Das zweite problem das ich noch habe: Wenn ich den würfel skaliere wird er größer, und steht dann in das Objekt unten hinein. Wenn ich dann die größe bestätige, hüpft er herauf um nicht mehr im anderen Objekt zu sein. Also am besten wäre wenn er so skaliert wird, dass er ständig auf der Fläche bleibt und nicht nach unten größer wird (Hoffe das war verständlich) LG Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.