2D Bilder in 3D

  • GM 8

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

  • 2D Bilder in 3D

    Hallo,
    ich habe eine Frage:
    Wie kann man ein 2D Bild in 3D anzeigen, welches sich dann zum Spieler dreht?
    Das sieht man ja in vielen Spielen, wenn z.B. ein Baum eigentlich ein 2D Bild ist, aber sich immer richtig hin dreht und man es also nicht von der Seite als "Papier" sieht.
    Hoffentlich hab ich es gut genug erklärt und jemand kann mir helfen. :D
    I am an in the GM Quiz!
  • Meinst du zbs. ein Baum der sich in die sichtrichtung mitdreht.
    oder meinst du zbs. ein Bild an der wand?
    I'm a member of:


    Wenn ich sehe das Gedanken meine Welt regieren denke ich immer... hat das was jetzt mit dieser Signatur zutun? und manchmal denke ich... "ach mist ich kann das nicht" dabei ist es doch nicht so schwer diese Aufgabe zu lösen... Was schreib ich hier eigentlich?

    :headtouch: PooP :sauf:
  • Diese Dinger nennen sich Billboards und lassen sich in vielerlei Hinsicht nutzten. Unter anderem auch für Partikel, wozu Moolt ein Tutorial geschrieben hat. Der einzige unterschied: Ein Billboard für ein Baum muss nur um eine Achse agieren und die Textur ist anderes. Das wars dann auch schon ^^

    3d für Anfänger - Partikel


    MfG SDX
  • So in etwa:
    (WARNUNG: Fortgeschrittene 3D Kentnisse empfohlen!)

    obj_baum Draw Event

    GML-Quellcode

    1. d3d_set_lighting(0) //Mit Licht sieht sowas immer schlecht aus^^
    2. d3d_set_culling(1) //Beide Seiten der 'Wall' sichtbar
    3. d3d_transform_set_identity() //Löst alle vohergegangenen Transformationen auf
    4. d3d_transform_add_rotation_z(point_direction(x,y,obj_cam.x,obj_cam.y) // Die 'Wall' wird um die z-Achse zu Kamera gedreht.
    5. d3d_transform_add_translation(x,y,z)//Die 'Wall' wird zu den Koordinaten des Objektes gesetzt.
    6. d3d_draw_wall(-4,-4,0,4,4,14,background_get_texture(tex_baum)//Die 'Wall' wird gezeichnet. Hier sollte man keine Koordinaten einbringen, da diese sonst mit gedreht werden.
    7. d3d_transform_set_identity()//Löst alle vohergegangenen Transformationen auf. Zur Sicherheit.


    Bitte schön!
    Falls du nicht weißt, welche Funktion was tut, schreib' mir eine PN.

    EDIT: Ach komm, eine Minute zu spät. Kannst es dir aber trotzdem mal angucken^^