Third person view

  • GM 7

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

  • Third person view

    Wie kann ich eine Camera erstellen die immer auf das Object "player" zeigt und mit der man das Objekt mit der maus begutachten kann(aber trotzdem so das das Object sich in Fahrtrichtung nicht in Camerarichtung bewegt)?

    Meine alte Ansicht war ein bisschen zu komplizirt darum hab ich beschlossen neu anzufangen.

    BEACHTE:Ich habe noch Gamemaker 7
  • obj_01 - Das Objekt, das begutachtet wird
    Empfohlene Depth: 0


    Create Event:

    GML-Quellcode

    1. direction = 0 //Das wird die Fahrtrichtung
    2. speed_vorne = 5 //maximale Geschwindigkeit nach vorne

    W Taste Event:

    GML-Quellcode

    1. x += lengthdir_x(speed_vorne,direction)
    2. y += lengthdir_y(speed_vorne,direction)


    S Taste Event:

    GML-Quellcode

    1. x -= lengthdir_x(speed_vorne,direction)
    2. y -= lengthdir_y(speed_vorne,direction)


    A Taste Event:

    GML-Quellcode

    1. direction+=2


    D Taste Event:

    GML-Quellcode

    1. direction-=2


    Draw Event:

    GML-Quellcode

    1. //Nur als Beispiel
    2. draw_set_color(c_blue)
    3. d3d_transform_set_identity()
    4. d3d_transform_add_rotation_z(direction)
    5. d3d_transform_add_translation(x,y,0)
    6. d3d_draw_block(5,10,0,-5,-10,5)
    7. d3d_transform_set_identity()
    8. draw_set_color(c_white)


    obj_cam - Die Kamera
    Empfohlene Depth: 100


    Create Event:

    GML-Quellcode

    1. direction = 0
    2. z = 20


    Step Event:

    GML-Quellcode

    1. //Drehung mit der Maus
    2. direction-=(display_mouse_get_x()-display_get_width()/2)/16
    3. display_mouse_set(display_get_width()/2,display_get_height()/2);

    Draw Event:

    GML-Quellcode

    1. d3d_set_projection(obj_01.lenghdir_x(30,direction),obj_01.lenghdir_y(30,direction),z,0bj_01.x,obj_01.y,2.5,0,0,1)


    Das müsste es gewesen sein. Wie man die Kamera um die X-achse dreht fällt mir im Moment nicht ein...
    Ich hoffe, es hilft dir.
  • hab nun eine, die 2. wie ich mein Objekt nach oben und unten drehe (ein raumschiff) und wie ich es dann mit der variable speed in fahrtrichtung fliegen lasse und mit d und a nach rechts und links schwenk . ein freund hat gesagt das geht iwi mit "lokal" habe aber keine Ahnung
  • Ew...
    Fang ganz neu an. Ich habe es dir ja schon gesagt.
    Mach halt von 0. Viel stand in dem Teil nicht drin. Es war ziemlich komplex geschrieben,
    was den Anschein erweckt, dass viel Arbeit dahinter steckt. Tut es aber nicht.

    Lokal und Global:

    Lokale Variablen können für jede Instanz anders sein.
    Globale Variablen sind für alle Instanzen gleich.
    Beispiel:

    GML-Quellcode

    1. lokalevariable = 0 //LOKAL - NUR FÜR DIESE INSTANZ
    2. gloabal.globalevariable = 0 //GLOBAL - FÜR ALLE GLEICH
  • Ich hatte ihm folgendes geraten:
    "Ich persoenlich wuerde versuchen, die transformation-Funktionen dazu zu verwenden, um von der Globalen X&Y Achse wegzulenken. Das Zauberwort hier heisst "Lokal". Eine Lokale oder auch private Transformations-Tabelle hilft dir hier weiter, ohne dass du unnuetze Formeln dir ausdenken musst. Richte dein Raumschiff entlang der Z-Achse aus, dreh deine Lokale X-Achse um 90 grad in direction und benutze -Z oder Z um es zu schwenken. Falls du nicht verstehst, wie man eine lokale Axe dreht, denk einfach darann, dass "direction" eine zweite Form von d3d_transform_add_rotation_z ist (!) , darann denken viele nicht ;P

    "

    Also er bezog es auf Lokal im Sinne von, eine private Achse anstelle von Global-Achsen-Orientiert. lol, eher ich bezog das darauf. Hab halt noch keine Zeit gehabt, dass als Code umzusetzen. :P
  • Ich glaube, dass er das nicht wirklich versteht, weil er anscheinend noch gar kein 3D Tutorial gemacht hat (und sonst sich
    auch nicht viel damit beschäftigt hat.) Wahrscheinlich nicht mal das Standart FPS Tutorial. Das solltest du dir lieber mal angucken und die PDF lesen.
    So habe ich auch den Großteil meines Wissens über 3D gesammelt. Und dann noch über Learning by Doing...

    Das wird sonst nichts.