3d sniper zoom

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • 3d sniper zoom

    Ich versuche in meinem 3d
    shooter gerade eine Sniper einzubauen
    jedoch sheitere ich gerade an der zoom funktion
    der Sniper weiss jeman wie man das macht.
    also man soll eben in dem rohr ranzoomen kommen
    (3-4 Stufen)
    Bilder
    • screenshot100.png

      152,67 kB, 640×480, 249 mal angesehen
    :rage:
  • Am einfachsten wäre es vermutlich, die Kamera anzupassen. Wenn du d3d_set_projection_ext benutzt (ich gehe mal davon aus, dass du im Moment d3d_set_projection verwendest) kannst du als zehnten Parameter den Winkel bzw. die Größe vom Sichtkegel angeben. Der Standardwert ist 45 Grad, hierfür wählst du einfach einen kleineren Wert wie 30 Grad oder 15 Grad. Mehr über d3d_set_projection_ext erfährst du in der Hilfe.
  • Mit den TGG Tutorials komme ich irgeendwie nich klar
    der zoom funktioniert irgendwie nicht, wenn ich es in mein Spiel einbauen will

    boxxar schrieb:

    -Am einfachsten wäre es vermutlich, die Kamera anzupassen. Wenn du d3d_set_projection_ext benutzt (ich -gehe mal davon aus, dass du im Moment d3d_set_projection verwendest) kannst du als zehnten Parameter -den Winkel bzw. die Größe vom Sichtkegel angeben. Der Standardwert ist 45 Grad, hierfür wählst du einfach -einen kleineren Wert wie 30 Grad oder 15 Grad.
    im Moment lautet die set_d3d Zeile so
    d3d_set_projection(x,y,10+height+pitch,x+cos(direction*pi/180),y-sin(direction*pi/180),10+height,0,0,1);
    un beuutze nicht d3d_set_projection_ext
    was muss ich denn ergänzen um ranzuzoomen.
    :rage:
  • Naja, das ganze würde dann etwa so aussehen:

    GML-Quellcode

    1. d3d_set_projection_ext(x,y,10+height+pitch,x+cos(direction*pi/180),y-sin(direction*pi/180),10+height,0,0,1,45/zoom,window_get_width()/window_get_height(),1,32000);

    Das also statt deiner jetzigen Zeile. Die vier neuen Parameter sind laut Hilfe:
    1. Der Winkel der Sichtkegels. Ich hab mal die Variable zoom für dich Eingeführt und teile den Standardwert 45 Grad einfach durch zoom. Ein Wert von 1 ergibt also 45 Grad, ein Wert von 2 ergibt 22,5 Grad, und so weiter.
    2. Das Seitenverhältnis des Bilder, also Breite durch Höhe.
    3. Alles was näher an der Kamera dran ist als dieser Wert wird nicht gezeichnet, ein sehr kleiner Wert verhindert das Instanzen, die sich sehr nah befinden "verschwinden".
    4. Alles was sich weiter weg befindet wird nichtmehr gezeichnet. Dieser Wert kann die Performance von deinem stark beeinflussen, wenn das Spiel also beginnt langsam zu werden ist er eventuell zu groß gewählt.

    Ich hab das jetzt nicht ausprobiert oder so, aber es gibt eine faire Chance dass das funktioniert ;)