lengthdir_z?

  • GM 8

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

  • lengthdir_z?

    hallo leute,

    ich wollte mal einen 3d auto game programmieren und brauche ein bischen hilfe.


    momentan werden die cordinaten der joints so verbessert:

    GML-Quellcode

    1. px = p1.x
    2. py = p1.y
    3. p1.x += lengthdir_x(point_distance(p1.x,p1.y,p2.x,p2.y)-48,point_direction(p1.x,p1.y,p2.x,p2.y))/2
    4. p1.y += lengthdir_y(point_distance(p1.x,p1.y,p2.x,p2.y)-48,point_direction(p1.x,p1.y,p2.x,p2.y))/2
    5. p2.x += lengthdir_x(point_distance(px,py,p2.x,p2.y)-48,point_direction(p2.x,p2.y,px,py))/2
    6. p2.y += lengthdir_y(point_distance(px,py,p2.x,p2.y)-48,point_direction(p2.x,p2.y,px,py))/2


    doch das funk nur bei einem 2d auto game

    so jetzt wolte ich wissen wie ich die Z cordienaten korriegiren kann.

    also


    GML-Quellcode

    1. p1.x += lengthdir_x(point_distance(p1.x,p1.y,p2.x,p2.y)-48,point_direction(p1.x,p1.y,p2.x,p2.y))/2
    2. p1.y += lengthdir_y(point_distance(p1.x,p1.y,p2.x,p2.y)-48,point_direction(p1.x,p1.y,p2.x,p2.y))/2
    3. p1.z += ?
    4. p2.x += lengthdir_x(point_distance(px,py,p2.x,p2.y)-48,point_direction(p2.x,p2.y,px,py))/2
    5. p2.y += lengthdir_y(point_distance(px,py,p2.x,p2.y)-48,point_direction(p2.x,p2.y,px,py))/2
    6. p2.z += ?
    :troll:
  • Die D3D transform Befehle sind eigentlich für sowas bestimmt, in meinen Augen sind sie eher Geschmackssache - ich mag sie nicht, ich will rohe Geometrie!

    Eine lengthdir_z Funktion definiert sich durch Sinus des Winkels multipliziert mit der Länge, also:

    GML-Quellcode

    1. return sin(degtorad(argument1))*argument0


    Das ist allerdings auch das selbe wie lengthdir_y..