RLe Geschrieben 26. Oktober 2020 Melden Share Geschrieben 26. Oktober 2020 Hallo, folgendes Problem: Ich habe ein Programm, mit dem man Linien erstellen kann. Nun möchte ich daraus Formen generieren lassen. Und ein Sprite kann ich nicht verwenden, da man ja mit Linien eventuell mehrere Formen bilden kann. Ich muss also einen geeigneten Algorithmus finden. Dazu brauche ich aber unbedingt alles in Pixel-Koordinaten. Nun ist es aber so, dass Camera.WorldToScreen() bei mir nicht zu gehen scheint, d. h. es kommen lauter Kommazahlen raus, klar ist es alles in float, aber ich brauche ganze Zahlen. In dem Post hier hatte ein User das gleiche Problem und hat es lösen können, indem er einfach die Camera von perspective auf orthografic umgestellt hat. Funktioniert aber bei mir nicht. Hat es vielleicht damit zu tun, dass ich sechs Cameras benutze? Es sind aber alle auf orthografic. Und noch etwas ist mir aufgefallen: In dem Video hier erhält der User für Input.mousePosition nur ganze Zahlen. Das ist bei mir auch nicht so. Liegt es vielleicht an meiner Unity-Version? Ich benutze Unity 2019.2.0f1. Vielleicht ein Bug? Jedenfalls wäre es nett wenn mir jemand helfen könnte. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 26. Oktober 2020 Melden Share Geschrieben 26. Oktober 2020 vor 6 Stunden schrieb RLe: Nun ist es aber so, dass Camera.WorldToScreen() bei mir nicht zu gehen scheint, d. h. es kommen lauter Kommazahlen raus, klar ist es alles in float, aber ich brauche ganze Zahlen. Wenn ein Punkt in der Welt nicht genau am Mittelpunkt eines Pixels liegt, dann kommt da halt was mit Nachkomastellen heraus, ist doch logisch Wenn du ganze Zahlen haben willst, dann musst du eben runden. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
RLe Geschrieben 26. Oktober 2020 Autor Melden Share Geschrieben 26. Oktober 2020 vor 50 Minuten schrieb Sascha: Wenn ein Punkt in der Welt nicht genau am Mittelpunkt eines Pixels liegt, dann kommt da halt was mit Nachkomastellen heraus, ist doch logisch Wenn du ganze Zahlen haben willst, dann musst du eben runden. Ich will aber nicht, dass es zu Detailverlust kommt. Bei dem Typen in dem Video kommt es nicht einmal zu Nachkommastellen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 26. Oktober 2020 Melden Share Geschrieben 26. Oktober 2020 Eine Mausposition ist ja auch in ganzen Pixeln. Ich glaube auch nicht, dass du bei Input.mousePosition irgendetwas anderes als .0 rausbekommst. Und wenn du keinen Detailverlust haben willst, dann rundest du halt nicht? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Cxyda83 Geschrieben 26. Oktober 2020 Melden Share Geschrieben 26. Oktober 2020 ich bin auch der meinung, dass du bei Input.mouseposition immer nur ganze zahlen zurückbekommst, das macht anders wenig sinn 🤔 FALLS du wirklich bei Input.mousePosition keine ganzen zahlen zurückbekommst und du keinen fehler in deinem code hast könnte ich mir nur vorstellen das das irgendwie am canvas scaler liegt... aber die vermutung habe ich nicht getestet und von so einem fall habe ich auch noch nicht gehört. Es liegt jedenfalls nicht an einer anderen Unity version und ich bezweifle auch das es ein bug von Unity's seite ist... Aber ist eigentlich auch egal ... solange die werte die du bekommst plausibel sind (links unten ist 0/0 und rechts oben ist screen.width/screen.height) dann ist das auch egal falls du halbe pixel bekommst Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 26. Oktober 2020 Melden Share Geschrieben 26. Oktober 2020 vor 2 Stunden schrieb Cxyda83: FALLS du wirklich bei Input.mousePosition keine ganzen zahlen zurückbekommst Ne, geht ja um WorldToScreenPosition, wo das ja nicht unlogisch ist, Nachkommastellen zu haben. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Cxyda83 Geschrieben 27. Oktober 2020 Melden Share Geschrieben 27. Oktober 2020 vor 12 Stunden schrieb Sascha: Ne, geht ja um WorldToScreenPosition, wo das ja nicht unlogisch ist, Nachkommastellen zu haben. Am 26.10.2020 um 05:25 schrieb RLe: ...In dem Video hier erhält der User für Input.mousePosition nur ganze Zahlen. Das ist bei mir auch nicht so.... ok, dann hab ich das wohl falsch verstanden.. sorry 🙂 ¯\_(ツ)_/¯ Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
RLe Geschrieben 27. Oktober 2020 Autor Melden Share Geschrieben 27. Oktober 2020 Was ich heraus bekomme, wenn ich Input.mousePosition loggen lasse: Seit neuestem sogar mit Kommas. Meine Unity-Version ist 2019.2.0f1. Betriebssystem: Windows 10 Pro Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 27. Oktober 2020 Melden Share Geschrieben 27. Oktober 2020 Ieh, warum sind denn da Kommata? So kann man ja gar nicht Nachkommastellen und Parameter auseinanderhalten, außer mit Leerzeichen oO Kann es sein, dass dein Game View irgendwie rangezoomt ist oder so? 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.