Jump to content
Unity Insider Forum

Mouse Wheel funktioniert nicht richtig beim Build


MaZy

Recommended Posts

Hallo ich benutze Input.GetAxis("Mouse ScrollWheel") um beim Schiff die Düsen zu steuern. Es funktioniert im Editor super und da kommen werte raus wie 0.1 oder 0.2, aber beim Build da kommt meistens 0 raus und dann irgendwann zufällig kommt 0.1 oder. Ich muss also dauerhaft scrollen, damit irgenwann endlich ein Wert unter oder über 0 kommt.

Wie kann man das Problem beheben?

Benutze version 2019.1.9f

    void Inputs()
    {
        float mwheel = Input.GetAxis("Mouse ScrollWheel");

        nextSpeed = 0f;
        if (mwheel > 0)
        {
            nextSpeed = 1f;
        }
        else if (mwheel < 0)
        {
            nextSpeed = -1f;
        }
    }

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie oft fragst du denn den Wert ab? Es ist ja so, dass die Maus nur wärend des drehens Werte !=0 übergibt. Danach ist der Wert wieder 0. Also da ist irgendeine Taktung im System, denn wenn du schnell drehst kann auch ein Wert von 0.3 raus kommen.
Kann es sein, dass du ein zweites Eingabegerät angeschlossen hast, welches den gleichen Kanal bedient und von Unity vielleicht gleichzeitig mit ausgelesen wird?
Hast du mal Input.mouseScrollDelta versucht?

Ich habe eben mal einen schnellen Test gemacht und in der Update einfach das ScrollWheel abgefragt und darüber einfach nur nen Klotz bewegt. Bei mir geht es im Build genauso wie im Editor. Es ist aber mit V2018.2.5f1 getestet worden und ich habe auch keine Änderungen am Inputmanager vorgenommen.
Hast du ne ältere Unityversion auf der Platte mit der du mal einen einfachen Test machen kannst, um sicherzustellen, dass es kein Bug von 2019  ist?
 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Komischerweise nach dem ich Einkaufen war (gestern) und wieder zurück kam funktionierte es wieder normal. Also alles normal wie im Editor sowohl auch im Build. Ich verstehe echt nicht, was das Problem war.

Ich frage das in Update ab. War auch mal in FixedUpdate drinne. Eine zweite Maus oder ähnliches hab ich nicht.

Also mit mouseScrollDelta hab ich auch versucht. Da passierte das gleiche. Ja ich habe schon daran gedacht und auch mal die variable addiert. Also hatte ich mwheel += usw. benutzt. Das Ergebnis war gleich.

Ja hab ein paar ältere hab aber noch nicht getestet.

Aber jetzt gehts ja komischerweise.

 

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich kann mir vorstellen, dass das Problem bei FixedUpdate passierte. Je nachdem wie groß der Unterschied zwischen FPS und Physics ticks ist. Wenn Du im einen Update() Mouse Wheel != 0 hast, im nächsten Update() dann wieder == 0 und dann wird erst FixedUpdate() ausgeführt, kommt immer 0 raus.

Eventuell auch ein verlorener Fokus zum Spiel?!

Link zu diesem Kommentar
Auf anderen Seiten teilen

Am 28.8.2019 um 15:37 schrieb devandart:

Ich kann mir vorstellen, dass das Problem bei FixedUpdate passierte. Je nachdem wie groß der Unterschied zwischen FPS und Physics ticks ist. Wenn Du im einen Update() Mouse Wheel != 0 hast, im nächsten Update() dann wieder == 0 und dann wird erst FixedUpdate() ausgeführt, kommt immer 0 raus.

Eventuell auch ein verlorener Fokus zum Spiel?!

Ich hab bei beiden versucht. Ging nicht. Fokus war da, weil alle movement also auch AddForce wird ausgeführt, sonst sollte es nicht tun.

Generell tue ich meine Inputs nicht in den FixedUpdate rein.

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 4 weeks later...

Archiviert

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

×
×
  • Neu erstellen...