Kamera und 3d-Figuren

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

  • Kamera und 3d-Figuren

    Hi Leute!
    Habe mal versucht ein kleines 3D Game zu erstellen.
    Nun hab ich folgende Probleme:
    1. Wie mache ich, dass die Kamera einem Object folgt?
    2. Wie erstelle ich 3D-Räder (o.ä.)?

    Hab schon vieles ausprobiert, aber nichts hat funktioniert :(

    PS: Die in der Hilfe angegebenen Befehle für die Kamera hab ich nicht verstanden!
  • Deine Kamera hat auch Koordinaten. Vielleicht hilft dir das auf die Sprünge?!
    Für das 2. Problem setze ich etwas Erfahrung voraus, weil Rotationen im GM nicht ganz so einfach sind.

    Btw, seit wann hat der GM7 Lite die d3d-Funktionen? 8|
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von mauge ()

  • Das Rad muss sich nicht drehen können!
    PS: Ich hab auch die 6.1 registrierte Version.

    Edit:


    Deine Kamera hat auch Koordinaten.


    Ich weiß und hab es auch versucht, aber die Kamera steht irgentwo im Raum und folgt dem Objekt nicht :(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobi ()

  • Original von Tobi

    Deine Kamera hat auch Koordinaten.


    Ich weiß und hab es auch versucht, aber die Kamera steht irgentwo im Raum und folgt dem Objekt nicht :(
    Dass du Koordinaten via Code verändern kannst, ist dir aber bewusst, ja?
    Hier werden sie geholfen:
    [Regeln] [GML] [Hilfe] [Suche] [Posten] [Duden.de]
    [Wenn das alles nicht mehr hilft] [Dunning-Kruger]


    "Die Vernunft sollte Autorität definieren; nicht umgekehrt!"
    "Selber denken regt das Gehirn an."
    - Niffel f.k.a. Kilik
  • Was genau ist bei dir ein Rad? Wenn du das meinst, was ich denke, wirst du rotieren müssen. Dazu nimmst du also einen Zylinder und drehst in um 90°. Falls das nicht reicht, solltest du Models nutzen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von mauge ()

  • @ Kilik:
    Ja!
    Bsp:

    GML-Quellcode

    1. d3d_set_projection(object8.x,object8.y,5,object8.x+200,object8.y+200,2,0,0,1)


    (So hab ich das verstanden.)


    @Mauge:
    Ich möchte einfach nur ein stehendes Rad, wie z.B. bei einem stehendem Auto.




    Sorry, wenn ich da was falsch verstanden habe :D
  • Original von mauge
    Dazu nimmst du also einen Zylinder und drehst ihn um 90°. Falls das nicht reicht, solltest du Models nutzen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Sorry :D


    Aber wie drehe ich den?

    €dit:
    Ich habe das Kamera-Problem gelöst, indem ich einfach folgendes gemacht habe:

    GML-Quellcode

    1. Camera.x = object8.x - 70
    2. Camera.y = object8.y



    Jetzt habe ich aber eine andere Frage:
    Man kann die Kamera mit folgendem Code etwas bewegen:

    GML-Quellcode

    1. if (keyboard_check(vk_left)) {direction += 2}
    2. if (keyboard_check(vk_right)) {direction -= 2}


    Das wäre dann die Drehung nach links und rechts.
    Geht das auch mit oben und unten? Wenn ja, wie?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Tobi ()

  • Original von copyboy

    GML-Quellcode

    1. d3d_transform_set_rotation_x(90);

    Sollte den Zylinder in die richtige Position drehen.


    Wenn du schon Codes angibst, dann mach es wenigstens komplett. Was hat er davon, wenn er das so übernimmt?

    @Tobi: Beschäftige dich erstmal allgemein mit dem Thema Programmierung, bevor du mit 3D-Programmierung anfängst. Es hat niemand etwas davon, wenn wir dir hier jede Kleinigkeit abnehmen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Original von mauge
    Original von copyboy

    GML-Quellcode

    1. d3d_transform_set_rotation_x(90);

    Sollte den Zylinder in die richtige Position drehen.


    Wenn du schon Codes angibst, dann mach es wenigstens komplett. Was hat er davon, wenn er das so übernimmt?

    Nichts :D
    Aber ich nehme an er hat schon die ein oder anderen Erfahrungen mit 3D gemacht.
    @ Tobi: Schau mal in der Hilfe nach, da findest du mehr.
  • Original von copyboy
    Aber ich nehme an er hat schon die ein oder anderen Erfahrungen mit 3D gemacht.
    @ Tobi: Schau mal in der Hilfe nach, da findest du mehr.


    Das glaube ich nicht, wenn er nicht einmal weiß, wie man die Koordinaten der Kamera ändert.
    Du musst nicht überall mitreden, erst recht nicht bei Themen, von denen du keine Ahnung hast.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Original von mauge
    Das glaube ich nicht, wenn er nicht einmal weiß, wie man die Koordinaten der Kamera ändert.
    Du musst nicht überall mitreden, erst recht nicht bei Themen, von denen du keine Ahnung hast.

    Er hat nicht alla "3D Modus???" gefragt (was häufig vorkommt) sondern speziell ein "Wie mache ich ein Rad?", deshalb denke ich er versteht _etwas_ wenigstens.
    Ich kenne (fast) alle Funktionen auswendig, das gilt auch für 3D, das heist aber nicht, dass ich FÄHIG bin ein 3D-Spiel zu erstellen. Bei leichten Fragen kann ich mitreden.

    So, und um nicht zu >Spammen< schreib ich noch was:

    GML-Quellcode

    1. d3d_transform_set_identity();
    2. d3d_transform_set_rotation_x(90);
    3. d3d_transform_set_rotation_z(direction);
    4. d3d_draw_cylinder(x1,y1,z1,x2,y2,z2,texid,hrepeat,vrepeat,closed,steps)

    Was man da bei x, y und z angeben muss weis ich nicht ganz genau.
    Texid macht man normalerweise auf -1, denn eine Textur würde ich für einen einfacher Reifen nicht verwenden.
    Closed sollte 1 sein, für steps solltest du 24 nehmen (wie es in der Hilfe steht).
    Dann noch etwas - Um die richtige Position der Reifen zu bestimmen:

    GML-Quellcode

    1. var xx,yy;
    2. xx=lengthdir_x(10,direction);
    3. yy=lengthdir_y(10,direction);
    4. reifenvornerechts_x=xx+lengthdir_x(6,direction-90);
    5. reifenvornerechts_y=yy+lengthdir_y(6,direction-90);
    6. reifenvornelinks_x=xx+lengthdir_x(6,direction+90);
    7. reifenvornelinks_y=yy+lengthdir_y(6,direction+90);
    8. reifenhintenrechts_x=-xx+lengthdir_x(6,direction-90);
    9. reifenhintenrechts_y=-yy+lengthdir_y(6,direction-90);
    10. reifenhintenlinks_x=-xx+lengthdir_x(6,direction+90);
    11. reifenhintenlinks_y=-yy+lengthdir_y(6,direction+90);
    Alles anzeigen


    EDIT: Hättest du das ganze gleich am Anfang gesagt, hättest du uns diesen Spam ersparen können :no:
    EDIT2: Ich versuche hier jemandem zu helfen und du kommst dann mit deiner Klugsch***erei...
    Ja, wie gesagt, wenn du es doch weist, warum sagt du es dann nicht?

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von copyboy ()

  • GML-Quellcode

    1. d3d_transform_set_identity();
    2. d3d_transform_set_rotation_x(90);
    3. d3d_transform_add_translation(x,y,z);
    4. d3d_model_cylinder(-2,-2,-2, 2,2,2, texture,1,1,1,24);
    5. d3d_transform_set_identity();


    Wie gesagt, wenn schon, dann richtig.. Aber gut, dass du wenigstens fast alle Funktionen auswendig kennst! :no:
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Kann villeicht bei der sache mit den models ein bisschen helfen!
    Ich mache (nicht für den game maker da ich nur die unreg hab)
    viele 3D-Modells mit "Art of Illusion" das programm ist ganz gut!
    Man kann es recht schnell lernen und unendlich viele sachen machn!
    Nach dem modelln speicherst du das alles als bild(er) und fertig is!
    Die spites kannste nacher alle in den game maker übertragen!
    Hoffentlich hats ein bisschen geholfen!