3d PLANETEN. MIt objekten auf der ober fläche

  • GM 7
  • 3d PLANETEN. MIt objekten auf der ober fläche

    SO hallo leute. Ich wollte mal fragen ob es möglich ist. Einen Planeten. zb nur aus ainer Kugel darzustellen ( ps das hab ich schon mal in einer Simulation hinbekommen mit umlauf bahn usw)
    aber diesmal wollte ich was anderes machen
    Der Planet ist dir karte und soll drehbar sein und kleine Karten Punkte wie Stätde oder Einheite sollen sich auf der kugel bewegen oder anwähl bar sein.
    Also das mit den festen Punkten auf dem plante, könnte ich noch hinbekommen. Da fällt mir was zu ein aber wenn sich was auf der Kugel bewegen soll, das ist schon etwas schwieriger.
    Wenn einer ene idee hat, würde ich mich sehr freuen wenn er sie posted. Danke im voraus für eure Hilfe jungs
    Hier ein Beispiel Video was ich meine
    Meine Signatur hat kein Visum für das GM Forum erhalten.
  • Mir würde eine einfache Methode einfallen. Ich hab mich allerdings nicht mit der Umsetzung beschäftigt und es ist wohl leider Vektorrechnung nötig. Du könntest es als Vorteil nutzen, dass die Entfernung vom Mittelpunkt bis zu jedem beliebigen Punkt auf der Kugel gleich ist. Du kannst also mithilfe der Transformationsfunktionen alle beweglichen Einheiten auf den Mittelpunkt fixieren, während sie auf der Hülle sitzen. Du kannst dir das wie einen Zylinder vorstellen, der vom Mittelpunkt der Kugel bis zur Oberfläche und ein Stück darüber hinausragt. Um nun eine Einheit auf der Oberfläche entlang zu bewegen, braucht sie eine Richtung und da du im 3D Bereich 3 Achsen hast, kommen hier die Vektoren ins Spiel. Der GM bietet da leider nichts vorgefertigtes. Ich hab damit leider auch nicht viel am Hut und glücklicherweise war ich selten darauf angewiesen. Ich hoffe, du kennst dich etwas damit aus oder jemand anders kann dir bei diesen mathematischen Dingen helfen.
    █████ ██ █ ████ everything ███ █████ is █████ ████ ████ fine ████ ███ █ ██████ love.
    █████ ███████ ███ your █████ ████ government.
  • Ich hab mal ungefähr dasselbe gemacht, nur dass sich hier die kamera um ein Objekt drehen und dabei immer dieselbe Distanz
    behalten sollte:
    Spoiler anzeigen

    GML-Quellcode

    1. /*bestimmt die neue Kameraposition mit den Argumenten:
    2. ( ox, oy, oz, direction, zdirection, distance)*/
    3. var ox,oy,oz,dir,dist,p2x,p2y,p2z,betrag,ax,ay,az,zx,zy,zz,subtr;
    4. subtr=false;
    5. ox=argument0;
    6. oy=argument1;
    7. oz=argument2;
    8. dir=argument3;
    9. zdir=argument4;
    10. dist=argument5;
    11. //Winkel bereinigen
    12. while(dir>360){dir-=360;}while(dir<0){dir+=360;}while(zdir>360){zdir-=360;}while(zdir<0){zdir+=360;}
    13. if (zdir>90)&&(zdir<270)
    14. {
    15. //zdir-=180;
    16. if (zdir>90)&&(zdir<180)
    17. {
    18. zdir=180-zdir;
    19. }
    20. else if (zdir>180)&&(zdir<270)
    21. {
    22. zdir=540-zdir;
    23. }
    24. else if (zdir==180)
    25. {
    26. zdir=0;
    27. }
    28. subtr=true;
    29. }
    30. //2. P1 Vektor bestimmen,daraus P2 Vektor
    31. p2x=lengthdir_x(dist,dir);
    32. p2y=lengthdir_y(dist,dir);
    33. //fälle zdir=90 und zdir=270 aussieben
    34. if (zdir==90)
    35. {
    36. zx=ox;
    37. zy=oy;
    38. zz=oz+dist;
    39. }
    40. else if(zdir==270)
    41. {
    42. zx=ox;
    43. zy=oy;
    44. zz=oz-dist;
    45. }
    46. else
    47. {
    48. p2z=tan(degtorad(zdir))*dist;
    49. //3. vektor in richtige Länge bringen
    50. //3.1 Betrag
    51. betrag=sqrt(p2x*p2x+p2y*p2y+p2z*p2z);
    52. //3.2 einzelne neue Werte
    53. ax=(p2x/betrag)*dist;
    54. ay=(p2y/betrag)*dist;
    55. az=(p2z/betrag)*dist;
    56. //4.Zielpunkt bestimmen
    57. if (subtr==false)
    58. {
    59. zx=ox+ax;
    60. zy=oy+ay;
    61. zz=oz+az;
    62. }
    63. else
    64. {
    65. zx=ox-ax;
    66. zy=oy-ay;
    67. zz=oz+az;
    68. }
    69. }
    70. //5. Zielpunkt zuordnen
    71. x=zx;
    72. y=zy;
    73. z=zz;
    Alles anzeigen


    Funktioniert allerdings mit Winkeln. Ich hoffe, du kannst das gebrauchen.
    Gruß, Spellmaker.
    ___________________________________________________________
    Beware of wild pointers
    ______Hinweis für Allergiker: Kann Spuren von Ironie enthalten_____
  • Trigonometrie hilft da, habe ähnliches für einen Egoshooter anfang verwendet, wenn ich zuhause bin, schau ich ma nach, ob ich das ggf. so umschreiben kann, dass du es verwenden kannst.

    Ist zimlich viel sin und cos rechnung bei.
    So far, Schattenphoenix~
    _____________________________________________________________________________
    "Who needs a stairway to heaven...
    If there is an elevator to hell... ?
    "
    - Vergessen
    "Auch ein perfektes Chaos ist etwas vollkommenes."
    - Jean Genet